cpan2rpm
cpan2rpm は perl の CPAN パッケージを rpm として扱えるようにするソフトウェア。 CPAN からのダウンロード、src.rpm の作成、コンパイル、インストールまで自動実行できます。 ちょっとだけ はまる部分もあるので、それについても記載します。
イマドキは cpanspec を使うものらしいです。
インストール方法
http://perl.arix.com/cpan2rpm/
http://sourceforge.net/projects/cpan2rpm/
- rpmbuild --rebuild cpan2rpm-(バージョン)-1.src.rpm
- できたバイナリをインストール
CPANのパッケージのインストール方法
- cpan2rpm パッケージ名 だとパッケージ作成まで実行
- cpan2rpm --install パッケージ名 だとインストールまで実行
バージョンが見つからないと言われる
- cpan2rpm --version バージョン番号 パッケージ名
- バージョン番号は tarball のバージョン名からつける
テストに失敗
- cpan2rpm --make-no-test パッケージ名
- テストしないんで、動かないバイナリができるかもしれません。要注意。
error: You must set "%_gpg_name" in your macro file と言われる。
日本語版では「エラー: マクロファイル内で "%_gpg_name" を設定しなければなりません。」になる。
- cpan2rpm --no-sign パッケージ名
Can't locate object method "interpolate" via package "Pod::Text" at /usr/bin/cpan2rpm line 525 と言われる
ソース内の Pod::Text を全て Pod::PlainText に置き換えれば動く。
(以下、2016/08/21 追記)
先頭の use Pod::Text; を use Pod::Parser; に置き換える。プログラム内の Pod::Text->new() も修正する。 cpan2rpm version 2.029 で修正されているようだ。 (最近メンテされてない? App::CPANtoRPM とか cpantorpm があるようだ)
- GitHub - ekkis/cpan2rpm: A utility to produce RPM packages from CPAN modules
- Perlモジュールパッケージ管理システム導入(cpan2rpm) - Fedoraで自宅サーバー構築
get_meta(): Not a directory at /usr/bin/cpan2rpm line 396 と言われる
$ LANG=C cpan2rpm HTML::TreeBuilder::LibXML - cpan2rpm - Ver: 2.028 -- Upgrade check Fetch: HTTP - module: HTML::TreeBuilder::LibXML -- Using cached URL: [http://search.cpan.org//CPAN/authors/id/C/CA/CAFEGRATZ/HTML-TreeBuilder-LibXML-0.23.tar.gz](http://search.cpan.org//CPAN/authors/id/C/CA/CAFEGRATZ/HTML-TreeBuilder-LibXML-0.23.tar.gz) Tarball found - not fetching Metadata retrieval Tarball extraction: [/root/rpmbuild/SOURCES/HTML-TreeBuilder-LibXML-0.23.tar.gz] get_meta(): Not a directory at /usr/bin/cpan2rpm line 396. - Done --
原因: tar ball の最初の項目がディレクトリで無い場合にこのエラーが出る。
下記1行目は HTML-TreeBuilder-LibXML-0.23/ であるべき。
$ tar tvfz /root/rpmbuild/SOURCES/HTML-TreeBuilder-LibXML-0.23.tar.gz|head -5 -rw-r--r-- cafe/cafe 1841 2013-05-17 09:16 HTML-TreeBuilder-LibXML-0.23/Build.PL -rw-r--r-- cafe/cafe 4715 2013-05-17 09:16 HTML-TreeBuilder-LibXML-0.23/Changes -rw-r--r-- cafe/cafe 18448 2013-05-17 09:16 HTML-TreeBuilder-LibXML-0.23/LICENSE -rw-r--r-- cafe/cafe 2609 2013-05-17 09:16 HTML-TreeBuilder-LibXML-0.23/META.json -rw-r--r-- cafe/cafe 1697 2013-05-17 09:16 HTML-TreeBuilder-LibXML-0.23/README.md
[[$$amazon-search-result-middle books-jp perl]]