ケーススタディ: 他のMLシステムの設定を &fml8; へ変換するには? 内部実装: &fml4; から &fml8; への移行について ケース 1. /var/spool/ml/elena/ を 4.0 から 8.0 へ移行する処理 次のような処理をすることになります。 1) &fml8; をインストールする。この際、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