他のMLシステムの設定を fml8 へ変換する処理について 内部実装: fml 4.0 から fml 8.0 への移行について ケース 1. /var/spool/ml/elena/ を 4.0 から 8.0 へ移行する処理 次のような処理をすることになります。 1) fml-devel をインストールする。この際、postfix の alias_maps に /var/spool/ml/etc/mail/aliases (まだ、この段階では中身のないファイル) を追加する。 2) makefml --force newml elena 相当の処理を行なう。いろいろ fml8 で必 要なファイルを作る必要があるので、newml を実行してしまうほうがよい。本 当に makefml newml を実行するか、newml の実体の処理を呼び出すようにす るかはどっちでもよい。たぶん後者でよい。 3) /var/spool/ml/elena のメンバーリストを fml8 形式へ変換する。 その際に、いろいろ変換しないといけない。 3-1) IO::Adapter は ^# の行はコメントだと思って無視している。 よって、actives で off されているアドレスは消えているように 見える。 3-2) off を s=skip と書いていると on 扱いになってしまう。 3-3) m=... つまりまとめ行が無効になる。 しかしながら、歴史的に members で # address とかされていると 4.0 では OK だが、8.0 ではこのアドレスは見えない(認証する際の 候補にならない)。フォーマットを検査して warning を出すべきだろうか? 4) fml4 の aliases ファイル (/var/spool/ml/etc/fml/aliases) から該当す るMLの部分を消して .db を再生成する。 ケース 2. /var/spool/ml/ 全体を 4.0 から 8.0 へ移行する ケース1を繰り返し、適用すればいいでしょう。 移行作業中にML全体を止めていいなら、fml4 の /var/spool/ml/etc/fml/aliases を削除してからケース1を適用する方が楽で すね。もちろん、移行作業中は MTA を止めてください。 議論: 同一ドメインで、fml4 と fml8 を半々に使っている場合 (X-Sequence: fml-devel 389 より) 同一ドメインで、fml4 と fml8 を半々に使っている場合、 次のような設定を施しておくとよい? いや中途半端なトリックはやめて、 すなおに、mergeml で変換するか、しないかにしておいた方が無難だと思う。 fml4での設定(site_init.phとかconfig.ph)で push(@ACTIVE_LIST,"$DIR/recipients") if( -f "$DIR/recipients" ) ; 一方、fml8での設定(site_default_config.cfやconfig.cf)で html_archive_dir = $ml_home_dir/htdocs