ケーススタディ: 他の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