2007-07-25 22:21:59

Fedora7 perlのリビルド

[Perl] [Linux]

FedoraのPerlは遅いようだ。
ex) http://buribullet.net/svntrac/buribullet/wiki?p=Fedora%E3%81%AEPerl%E3%81%8C%E9%81%85%E3%81%84%E4%BB%B6

以下を見てリビルドする。
ex)
http://d.hatena.ne.jp/tomisima/20070320/1174407728
http://d.hatena.ne.jp/dayflower/20070320/1174370267

rpmdevtools を初めて知った。

# yum -y install rpmdevtools
$ fedora-buildrpmtree

$ wget http://ftp.riken.jp/Linux/fedora/releases/7/Fedora/source/SRPMS/perl-5.8.8-18.fc7.src.rpm -O rpmbuild/SRPMS/perl-5.8.8-18.fc7.src.rpm

$ rpm -ivh rpmbuild/SRPMS/perl-5.8.8-18.fc7.src.rpm
$ vi rpmbuild/SPECS/perl.spec

@@ -89,8 +89,8 @@
 Patch25:        perl-5.8.8-U27116.patch
 Patch26:        perl-5.8.8-U27391.patch
 Patch27:        perl-5.8.8-U27426.patch
-Patch28:        perl-5.8.8-U27509.patch
-Patch29:        perl-5.8.8-U27512.patch
+#Patch28:        perl-5.8.8-U27509.patch
+#Patch29:        perl-5.8.8-U27512.patch
 Patch30:        perl-5.8.8-U27604.patch
 Patch31:        perl-5.8.8-U27605.patch
 Patch32:        perl-5.8.8-U27914.patch
@@ -316,8 +316,8 @@
 %patch25 -p1
 %patch26 -p1
 %patch27 -p1
-%patch28 -p1
-%patch29 -p1
+#%patch28 -p1
+#%patch29 -p1
 %patch30 -p1
 %patch31 -p1
 %patch32 -p1

リビルド (src.rpm も欲しい場合はオプション -ba)
$ rpmbuild -bb rpmbuild/SPECS/perl.spec

iconv のエラーが出た。
$ which iconv
/usr/local/bin/iconv
$ locate bin/iconv
/usr/bin/iconv
/usr/local/bin/iconv

以前 iconv をソースから入れてた。/usr/local/ 以下のiconv関連を削除した。

再度リビルド
$ rpmbuild -bb rpmbuild/SPECS/perl.spec

以下のメッセージが出た。
Wrote: /home/hoge/rpmbuild/RPMS/i386/perl-5.8.8-18.fc7.i386.rpm
Wrote: /home/hoge/rpmbuild/RPMS/i386/perl-libs-5.8.8-18.fc7.i386.rpm
Wrote: /home/hoge/rpmbuild/RPMS/i386/perl-devel-5.8.8-18.fc7.i386.rpm
Wrote: /home/hoge/rpmbuild/RPMS/i386/perl-suidperl-5.8.8-18.fc7.i386.rpm
Wrote: /home/hoge/rpmbuild/RPMS/i386/perl-CPAN-1.76_02-18.fc7.i386.rpm
Wrote: /home/hoge/rpmbuild/RPMS/i386/perl-ExtUtils-Embed-1.26-18.fc7.i386.rpm
Wrote: /home/hoge/rpmbuild/RPMS/i386/perl-ExtUtils-MakeMaker-6.30-18.fc7.i386.rpm
Wrote: /home/hoge/rpmbuild/RPMS/i386/perl-Test-Harness-2.56-18.fc7.i386.rpm
Wrote: /home/hoge/rpmbuild/RPMS/i386/perl-Test-Simple-0.62-18.fc7.i386.rpm
Wrote: /home/hoge/rpmbuild/RPMS/i386/perl-debuginfo-5.8.8-18.fc7.i386.rpm

旧rpm削除
# rpm -e --nodeps perl perl-libs perl-devel perl-suidperl perl-CPAN perl-ExtUtils-Embed perl-ExtUtils-MakeMaker perl-Test-Harness perl-Test-Simple perl-debuginfo
# rm -r /usr/lib/perl5/5.8.8
# rm -r /usr/lib/perl5/site-perl/5.8.8

新rpmインストール
# cd /home/hoge/rpmbuild/RPMS/i386
# rpm -Uvh perl-5.8.8-18.fc7.i386.rpm perl-libs-5.8.8-18.fc7.i386.rpm perl-devel-5.8.8-18.fc7.i386.rpm perl-suidperl-5.8.8-18.fc7.i386.rpm perl-CPAN-1.76_02-18.fc7.i386.rpm perl-ExtUtils-Embed-1.26-18.fc7.i386.rpm perl-ExtUtils-MakeMaker-6.30-18.fc7.i386.rpm perl-Test-Harness-2.56-18.fc7.i386.rpm perl-Test-Simple-0.62-18.fc7.i386.rpm perl-debuginfo-5.8.8-18.fc7.i386.rpm

モジュールを最新版に更新
# perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)'