Snap.Shot.cx

トップページへ戻る

[Linux] Perl moduleのRPM作成は簡単だった!
10/14/2000 02:36 (投稿者:たかの)

PerlモジュールのRPMの作成、どうしようかとずっと悩んでいた。
いちおうPerl自身にもCPANというパッケージ管理ツールはあるのだけど、これだと結局ビルド可能な環境を持ったマシンにしかインストールできないのだ。
何より、マシンごとにビルドするのはホトホト嫌気がさしているので、なんとかしたいなぁ、とずっと思っていた。
ところがこれは驚くほど簡単な話だったのだ。

もともと、Perlモジュールのニギリ方がけっこう面倒らしいというのをKondara spec file Guidanceなんぞで読んでいた。
確かにこれは正しい(と思う)。
でも、各パッケージごとにspecファイルを書くなんて、このモジュールの数ではとてもやっていられない。

ところが、rpmの3.0.4以降には、rpm-buildというパッケージがあって、この中には/usr/lib/rpm/cpanfluteというスクリプトが含まれている。これは何をするのかというと、

「CPANで配られているファイルをもとに、SRPMを生成する」

ツールなのだ。
作業ディレクトリには/tmp以下をを利用するようなので、まずこれを手作業で作成する。

$ mkdir -p /tmp/cpan/junk
$ mkdir -p /tmp/cpan/temp

こういうディレクトリ、ほんとは自動生成して然るべきだと思うのだけど、このツールはまだそんなに賢くないみたい。

続いてcpanfluteを実行する。たとえばDBI-1.14のSRPMを作りたければこうだ。

$ /usr/lib/rpm/cpanflute DBI-1.14.tar.gz

もちろん、tarballは実在する必要がある。実行ディレクトリはどこでもいい。
作業はサクッと完了して、

/tmp/cpan/temp/perl-DBI-1.14-6.src.rpm

というSRPMが出来上がるはずだ。
#Rel.No.が、なんで「6」なのは謎。ソース見たら、ちゃっかり決め打ちだった。

あとは通常のRPMと同様に、

$ rpm --rebuild /tmp/cpan/temp/perl-DBI-1.14-6.src.rpm

で無事RPM作成完了!

おしまい。

ためしにいくつかRPM化してみたが、驚くほどサクサク作成できてしまった。
こりゃ参ったぞ。バンバンPerlモジュールをRPM化しなくては。<せんでえぇ

あとはPython moduleのRPM化だなぁ。pythonfluteつくってください、誰か。

メールでコメント


(Powered by Zope)
リンクはご自由にどうぞ。各記事には記事番号がついていますので、URLは変わりません。
© 2000-2013 Yukimasa TAKANO, all RIGHTs reserved.