$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

orepanでindexを作れないmoduleがある話

最近cpan module管理にcartonを使ってみたり、orepanを使ってみたり、色々しているわけですが、今日はorepanの話です。
僕が経験したハマりポイントは、以下の二つのモジュールにおいてorepanでindexが作れないということでした。

  • FindBin::libs
  • Net::LibIDN

原因

なぜindexが作れないかというとこの2つのモジュールは以下のようなファイルがtarの中に入ってないんですね。

  • lib/FindBin/libs.pm
    • installするときにlib/FindBin/libs_curr.pmかlib/FindBin/libs_5_8.pmのどちらかがlib/FindBin/libs.pmとして配置される
  • lib/Net/LibIDN.pm
    • perl Makefile.PLをするとlib/Net/_LibIDN.pmというファイルからlib/Net/LibIDN.pmが作られる

対処

とりあえずは暫定対処で次のことを行いました。

  • FindBin::libs
    • perlのversionに合わせて、とりあえずlib/FindBin/libs.pmにsymlinkを貼っちゃう。そのあとtar.gzにして配置
  • Net::LibIDN
    • 一旦perl Makefile.PLだけしてしまう。そのあとtar.gzにして配置

結論

こういうやつもう少し有りそうですが、OrePAN側ではどうやって対処するのがいいんですかねー。