2017/07/05

rpm を tar.bz2 や .spec ファイルからビルドする

rpm ファイルをビルドする機会があったのでそのログ。


環境

  • Scientific Linux release 6.8 (Carbon)
  • rpmbuild 4.8.0(たぶん)
  • httpd 2.4.26
  • distcache 1.5.1


tar.gz ファイルから直接ビルドする

アーカイブ内部に *.spec ファイルがある場合は直接 rpmbuild で指定できます。
  • $ wget http://ftp.riken.jp/net/apache//httpd/httpd-2.4.26.tar.bz2
  • $ rpmbuild -tb httpd-2.4.26.tar.bz2
/root/rpmbuild/RPMS 以下に .rpm ファイルが作成されます。
アーカイブ指定の時は -tb オプション。


.spec ファイルからビルドする

アーカイブに *.spec が無かったりする場合もあります。
その場合は *.spec ファイルを作ってそれを指定してビルドします。
例えば distcache 1.5.1-1 の spec ファイルはこちらのブログ にサンプルがあります。
*.spec ファイルから rpm を作る場合は SOURCES に必要なソースを配置します。
  • $wget https://downloads.sourceforge.net/project/distcache/1.%20distcache-devel/1.5.1/distcache-1.5.1.tar.gz
  • $ mv distcache-1.5.1.tar.gz ~/rpmbuild/SOURCES/
  •  wget -O /root/rpmbuild/SOURCES/distcache-1.5.1.patch https://ja.osdn.net/users/matsuand/pf/LFScripts/scm/blobs/master/BLFS/patch/distcache-1.5.1.patch?export=raw
  • $ rpbuild -bb distcace.spec
スペックファイル指定の場合は -bb オプション。

rpm のインストール

rpm -i とか。消す時は rpm -e。
リストは rpm -aq とかなので rpm のオプションは結構素っ気無い感じ。


参考文献

0 件のコメント:

コメントを投稿