2014年9月15日月曜日

rpm-buildの環境を作る

rpmを作成するための環境構築をメモで残しておく。 まずはインストール。
$ sudo yum install rpmdevtools
次にbuildするユーザに切り替えて、環境を作る。
$ su - hayashi

##build用ディレクトリと、マクロが作成される

$ rpmdev-setuptree
$ ls
rpmbuild

##マクロを修正する

$ vi ~/.rpmmacros
%_topdir      %(echo $HOME)/rpmbuild
%_smp_mflags  -j3
%__arch_install_post   /usr/lib/rpm/check-rpaths   /usr/lib/rpm/check-buildroot

# 追加
%_sourcedir %{_topdir}/SOURCES/%{name}-%{version}-%{release}.src
これで準備完了。追加した箇所はパッケージ、バージョンごとにソースを配置して作成できるための設定。
試しに、ソースパッケージ(haproxy-1.5.3.tar.gz)を入手してrpmを作ってみる。

$ ls /tmp/haproxy/haproxy-1.5.3.tar.gz
$ mkdir ~/rpmbuild/SOURCES/haproxy-1.5.3-1.src
$ cp /tmp/haproxy/haproxy-1.5.3.tar.gz ~/rpmbuild/SOURCES/haproxy-1.5.3-1.src/
$ cd ~/rpmbuild/SOURCES/haproxy-1.5.3-1.src/
specファイルを修正する場合は、rpmdev-extractを使うと展開する際に便利(rpmでもtarballでも対応)
$ rpmdev-extract haproxy-1.5.3.tar.gz
$ cp haproxy-1.5.3/examples/haproxy.spec ~/rpmbuild/SPECS/
$ rpmbuild -bb ~/rpmbuild/SPECS/haproxy.spec
$ ls -R  ~/rpmbuild/RPMS
.:
x86_64

./x86_64:
haproxy-1.5.3-1.x86_64.rpm

$
出来上がり。またspecファイルを修正しない場合は、
$ rpmbuild -tb ~/rpmbuild/SOURCES/haproxy-1.5.3-1.src/haproxy-1.5.3.tar.gz
$
でいけますね。

0 件のコメント:

コメントを投稿