maehachi08 Anything Blog

2012年06月19日
ImageMagickをSRPMから直接ビルド

SRPMからRPMをビルドする方法

SRPMからRPMを作成する方法は大きく2つあります。

  1. SRPMパッケージから直接ビルド
  2. SRPMを展開したSPECファイルからビルド

今回は、 SRPMパッケージから直接ビルド でRPMを作成します。

SRPMのダウンロード

$ id
uid=3000(rpmbuilder) gid=3000(rpmbuilder) 所属グループ=3000(rpmbuilder)

$ cd ~/rpmbuild/SRPMS/

$ pwd
/home/rpmbuilder/rpmbuild/SRPMS

$ wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/SR
PMS/ImageMagick-6.7.7-6.src.rpm
--2012-06-10 01:10:28--  ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/SRPMS/ImageMagick-6.7.7-6.src.rpm
           => `ImageMagick-6.7.7-6.src.rpm'
ftp.kddlabs.co.jp をDNSに問いあわせています... 192.26.91.193, 2001:200:601:10:206:5bff:fef0:466c
ftp.kddlabs.co.jp|192.26.91.193|:21 に接続しています... 接続しました。
anonymous としてログインしています... ログインしました!
==> SYST ... 完了しました。    ==> PWD ... 完了しました。
==> TYPE I ... 完了しました。  ==> CWD (1) /graphics/ImageMagick/linux/SRPMS ... 完了し ました。
==> SIZE ImageMagick-6.7.7-6.src.rpm ... 10381887
==> PASV ... 完了しました。    ==> RETR ImageMagick-6.7.7-6.src.rpm ... 完了しました。
長さ: 10381887 (9.9M) (確証はありません)

100%[==============================================>] 10,381,887  1.85M/s 時間 5.4s

2012-06-10 01:10:34 (1.84 MB/s) - `ImageMagick-6.7.7-6.src.rpm' へ保存終了 [10381887]

$ ls -l ImageMagick-6.7.7-6.src.rpm
-rw-rw-r-- 1 rpmbuilder rpmbuilder 10381887  6月 10 01:10 2012 ImageMagick-6.7.7-6.src.rpm

SRPMパッケージから直接RPMをビルド

一番簡単なビルド方法ですね。rpmbuildコマンドに--rebuildオプションです。

[rpmbuilder@cobbler01 ~]$ rpmbuild --rebuild rpmbuild/SRPMS/ImageMagick-6.7.7-6.src.rpm
rpmbuild/SRPMS/ImageMagick-6.7.7-6.src.rpm をインストール中です。
警告: ユーザ cristy は存在しません - root を使用します
警告: グループ cristy は存在しません - root を使用します
警告: ユーザ cristy は存在しません - root を使用します
警告: グループ cristy は存在しません - root を使用します
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.vGy7WU
+ umask 022
+ cd /home/rpmbuilder/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ cd /home/rpmbuilder/rpmbuild/BUILD
+ rm -rf ImageMagick-6.7.7-6
+ /bin/tar -xf -
+ /usr/bin/bzip2 -dc /home/rpmbuilder/rpmbuild/SOURCES/ImageMagick-6.7.7-6.tar.bz2
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd ImageMagick-6.7.7-6
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ sed -i s/libltdl.la/libltdl.so/g configure
+ iconv -f ISO-8859-1 -t UTF-8 README.txt
+ touch -r README.txt README.txt.tmp
+ mv README.txt.tmp README.txt
+ mkdir Magick++/examples

 ・
 ・
 ・
Processing files: ImageMagick-debuginfo-6.7.7-6.x86_64
伸張ファイルの検査中: /usr/lib/rpm/check-files /home/rpmbuilder/rpmbuild/BUILDROOT/ImageMagick-6.7.7-6.x86_64
書き込み完了: /home/rpmbuilder/rpmbuild/RPMS/x86_64/ImageMagick-6.7.7-6.x86_64.rpm
書き込み完了: /home/rpmbuilder/rpmbuild/RPMS/x86_64/ImageMagick-devel-6.7.7-6.x86_64.rpm
書き込み完了: /home/rpmbuilder/rpmbuild/RPMS/x86_64/ImageMagick-djvu-6.7.7-6.x86_64.rpm
書き込み完了: /home/rpmbuilder/rpmbuild/RPMS/x86_64/ImageMagick-doc-6.7.7-6.x86_64.rpm
書き込み完了: /home/rpmbuilder/rpmbuild/RPMS/x86_64/ImageMagick-perl-6.7.7-6.x86_64.rpm
書き込み完了: /home/rpmbuilder/rpmbuild/RPMS/x86_64/ImageMagick-c++-6.7.7-6.x86_64.rpm
書き込み完了: /home/rpmbuilder/rpmbuild/RPMS/x86_64/ImageMagick-c++-devel-6.7.7-6.x86_64.rpm
書き込み完了: /home/rpmbuilder/rpmbuild/RPMS/x86_64/ImageMagick-debuginfo-6.7.7-6.x86_64.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.B7OY9b
+ umask 022
+ cd /home/rpmbuilder/rpmbuild/BUILD
+ cd ImageMagick-6.7.7-6
+ rm -rf /home/rpmbuilder/rpmbuild/BUILDROOT/ImageMagick-6.7.7-6.x86_64
+ exit 0
実行中(--clean): /bin/sh -e /var/tmp/rpm-tmp.8tCNqj
+ umask 022
+ cd /home/rpmbuilder/rpmbuild/BUILD
+ rm -rf ImageMagick-6.7.7-6
+ exit 0

ビルド完了!!
./rpmbuild/RPMS/x86_64ディレクトリにRPMパッケージが作成されています。

[rpmbuilder@cobbler01 ~]$ ls -l rpmbuild/RPMS/x86_64/
合計 8636
-rw-rw-r-- 1 rpmbuilder rpmbuilder 2046756  6月 19 00:42 2012 ImageMagick-6.7.7-6.x86_64.rpm
-rw-rw-r-- 1 rpmbuilder rpmbuilder  126188  6月 19 00:42 2012 ImageMagick-c++-6.7.7-6.x86_64.rpm
-rw-rw-r-- 1 rpmbuilder rpmbuilder  178924  6月 19 00:42 2012 ImageMagick-c++-devel-6.7.7-6.x86_64.rpm
-rw-rw-r-- 1 rpmbuilder rpmbuilder 5064136  6月 19 00:42 2012 ImageMagick-debuginfo-6.7.7-6.x86_64.rpm
-rw-rw-r-- 1 rpmbuilder rpmbuilder 1180244  6月 19 00:42 2012 ImageMagick-devel-6.7.7-6.x86_64.rpm
-rw-rw-r-- 1 rpmbuilder rpmbuilder    9152  6月 19 00:42 2012 ImageMagick-djvu-6.7.7-6.x86_64.rpm
-rw-rw-r-- 1 rpmbuilder rpmbuilder   72444  6月 19 00:42 2012 ImageMagick-doc-6.7.7-6.x86_64.rpm
-rw-rw-r-- 1 rpmbuilder rpmbuilder  149268  6月 19 00:42 2012 ImageMagick-perl-6.7.7-6.x86_64.rpm

次回はSPECファイルからRPMビルドしたいと思います。