rpm-build

 rpmパッケージには次の2つの形式がある。

  • バイナリパッケージ
  • ソースパッケージ

 ソースパッケージは、ソースファイルならびにビルドに必要なspecファイルなどがパッケージングされているファイルであり、通常「〜.src.rpm」という名前で構成される。
 ソースパッケージを通常のようにインストールする処理を行っても、実際にアプリケーションがインストールされるのではなく、ソースなどが所定のディレクトリに展開される。

[root@localhost ~]# rpm -ivh rpm -ivh unzip-5.52-3.1ja.src.rpm
[root@localhost ~]# cd /usr/src/redhat/
[root@localhost redhat]# ls
BUILD RPMS SOURCES SPECS SRPMS
[root@localhost redhat]# cd SPECS/
[root@localhost SPECS]# ls
unzip.spec
[root@localhost SPECS]# rpmbuild -bb unzip.spec
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.64527

  1. umask 022
  2. cd /usr/src/redhat/BUILD
  3. cd /usr/src/redhat/BUILD

(以下略)

 specファイルに対して、「rpmbuild -bb」を実行し、ビルドしている。
 なお、rpmbuildコマンドが無い場合、rpm-buildパッケージをインストールする。

[root@localhost SPECS]# tree ../RPMS/
../RPMS/

-- athlon
-- geode
-- i386
`-- unzip-5.52-3.1ja.i386.rpm
-- i486
-- i586
-- i686

`-- noarch

7 directories, 1 file
[root@localhost SPECS]# cd ../RPMS/i386/
[root@localhost i386]# ls
unzip-5.52-3.1ja.i386.rpm
[root@localhost i386]# rpm -Uvh unzip-5.52-3.1ja.i386.rpm
準備中... ########################################### [100%]
1:unzip ########################################### [100%]

 ビルドして生成されたunzipバイナリパッケージをインストールしている。
 なお、サンプルのunzipパッケージは前の日記で触れたもの。
http://d.hatena.ne.jp/yosi_zou/20101207/1291650603