RPM,SRPM,SPECについて
RPM,SRPM,SPECについてなんとなくは分かっているが、自信もって人に説明できるレベルではないので、きちんと調べてみた。
http://www.itmedia.co.jp/enterprise/0309/26/epn02.html
http://www.stackasterisk.jp/tech/systemManagement/rpm01_01.jsp
RPM
SPEC
- PRMを作成するために必要な情報が定義されたファイル
- ゼロから書くのはなかなか大変
現時点では
- RPMが入手可能でオプション調整が不要であれば、RPMパッケージを使う
- RPMが入手できない、あるいはチューニングしたい時はSRPMからspecファイルを取り出し、チューニング
- それもダメならtarball展開し、make時にごにょごにょして、checkinstallでRPM化
- いよいよダメなら諦めて、specファイルを書く
という順序がいいんじゃないかと思っている
subversionのsrc.rpmでいろいろやってみる
まずはダウンロードする
cd /usr/src/redhat/SRPMS wget http://www.oss4aix.org/download/SRPMS/subversion/subversion-1.6.9-1.src.rpm
rpm -iでSOURCESにtarball、SPECにspecファイルが展開される。インストールはされない。
rpm -ivh subversion-1.6.9-1.src.rpm ll /usr/src/redhat/*/subversion* -rw-r--r-- 1 root root 5478554 1月 22 2010 /usr/src/redhat/SOURCES/subversion-1.6.9.tar.bz2 -rw-r--r-- 1 root root 984 2月 11 2010 /usr/src/redhat/SOURCES/subversion-1.6.9.tar.bz2.asc -rw-r--r-- 1 root root 5912 2月 11 2010 /usr/src/redhat/SPECS/subversion-1.6.9-1.spec -rw-r--r-- 1 root root 5478603 2月 11 2010 /usr/src/redhat/SRPMS/subversion-1.6.9-1.src.rpm
rpmbuild --rebuildでRPMが作成できる
rpmbuild --rebuild subversion-1.6.9-1.src.rpm
実際は依存パッケージを先にインストールする必要があるが。
rpmbuildについて
RPMのbuild専用コマンドがrpmbuild。おおまかに言って使い方は3通り。
rpmbuild -b* [SPECFILE] rpmbuild -t* [TARBALL] rpmbuild --rebuild [SRC Package]
- バイナリRPMだけbuildする
rpmbuild -bb [SPECFILE]
- バイナリRPM, ソースRPM両方をbuildする
rpmbuild -ba [SPECFILE]
まとめ
SRPM, SPEC, rpmbuildの概要がわかった。あまりまとまってないけど。