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(以下略)
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