着々と。fhoxhさんがdocumentもそれなりに更新してくれました!fhoxh++
# 0.22でdual-lived moduleのcheckにbugがあったのを修正。あとはModule::CoreListっぽいModule::DualLivedListを実装すれば、dual-lived対応は完了。
「dual lived moduleは、デフォルトでRPMが生成されるべき」というのを基本ポリシーにして、その際にインストール先が衝突する場合には、PERL_MM_OPT と PERL_MB_OPTをちゃんと設定してねというwarningを出す方針にすることにした。これは割とまっとうな解な気はしている。とりあえず、仮実装をgithubに突っ込んでみた。
dual-lived moduleっていうのは、perl coreのモジュールなんだけれど、CPANにもuploadされてるもので、CPANにアップロードされてるものもRPMで更新したいよね!という要望をfhoxhさんから受けたので、どうしようかなぁと思ってました。ただ、RPMに入ってるとデフォルトの設定だとRPMインストール時にvendor設定でいれようと思ってもconflictしちゃうので、オプショナルにするか悩んでました。
ただ、本来的にはCPANにあげられているバグがfixされたものを使うのが筋だろういうことで、作るほうをデフォルトにしました。その代わり、conflictしたときの対策として、perl '-V:install.*' あたりの関連の設定をみて、被りそうだったらwarningを出すということにしたのでした。
一応、経緯を書いておくと、パッケージマニアの人に役立つかも知れないので、書き残しておきます。
大分良くなってきた。あとは、dual lived module問題だけなんとかすれば、RPM版はかなりいけそう。
dual-lived modulesのRPMを作ってインストールしようとすると、現状デフォルトだとperlのRPM中のパスとバッティングしてしまう。
これをインストールできるようにするには、次の環境変数を設定して、インストール先を変えればいいんだけど、これだとデフォルトの動きとしてはいかにもユーザーには優しくない。これをどうしようかなというので調整をしようと思ってるんだけど、どうするかなぁ。dual-lived modulesはオプションでビルド出来るようにするのでいいんじゃないかと思ってるんだけど、afoxsonさんがそれでいいというかといったところかなぁ。
PERL_MM_OPT="INSTALLVENDORMAN1DIR=/usr/local/share/man/man1 INSTALLVENDORMAN3DIR=/usr/local/share/man/man3 INSTALLVENDORBIN=/usr/local/bin INSTALLVENDORSCRIPT=/usr/local/bin" PERL_MB_OPT="--config installvendorman1dir=/usr/local/share/man/man1 --config installvendorman3dir=/usr/local/share/man/man3 --config installvendorbin=/usr/local/bin --config installvendorscript=/usr/local/bin"