2010年2月11日木曜日

TheSchwartz::SimpleのRPM&yumリポジトリ化

スズキです。

WorkerManagerのRPM化に伴ない、
依存関係的に、先にTheSchwartz::SimpleをRPM(yumリポジトリ)化する必要があったので、
してみました。

まずはダウンロードからSPECファイルの作成まで。

# cd /usr/src/redhat/SOURCES
# curl -OL http://search.cpan.org/CPAN/authors/id/M/MI/MIYAGAWA/TheSchwartz-Simple-0.05.tar.gz
# cpanflute2 TheSchwartz-Simple-0.05.tar.gz
# rpm -Uvh perl-TheSchwartz-Simple-0.05-8.src.rpm
# rm perl-TheSchwartz-Simple-0.05-8.src.rpm

これで、"/usr/src/redhat/SPECS"以下に
"perl-TheSchwartz-Simple.spec"としてSPECファイルが作成されます。

そして、このSPECファイルを以下のように修正します。

--------【修正前】--------
...
Release: 8
...
Requires: perl(perl) >= 5.8.1
...
--------【修正後】--------
...
Release: 1.el5.suzlab
...
(削除)
...
--------
※ "Requires: perl(perl) >= 5.8.1"を削除しないと、何故か依存関係で引っかかります...

ここまで準備ができたら、いよいよRPMの作成です。

# cd /usr/src/redhat/SPECS
# rpmbuild -ba perl-TheSchwartz-Simple.spec
※"-ba"オプションでRPMとSRPMの両方が作成されます。

最後に、これらの(S)RPMを以下のように(S3)リポジトリにコピーすると、
"yum install perl-TheSchwartz-Simple"でインストールできるようになります。

# cd /var/www/html/yum/5/i386
# cp /usr/src/redhat/RPMS/noarch/perl-TheSchwartz-Simple-0.05-1.el5.suzlab.noarch.rpm
./
# createrepo ./
(そしてS3のリポジトリと同期)

※ 利用には当然、以下のようにSUZ-LABリポジトリを登録する必要があります。
http://blog.suz-lab.com/2010/02/cpanfilepidrpm.html

Enjoy!

--------
http://www.suz-lab.com

0 コメント: