気ままにインフラエンジニア

渋谷で働くインフラエンジニアの備忘録。 TwitterID: @nakashii_

non-root userでRPMパッケージを作成する (CentOS6.2)

RPMをビルドする必要があったのだが、いろいろなところで

You are strongly advised against package building as root

と推奨されているので、素直に従う。
※こことか HowTos/I need the Kernel Source - CentOS Wiki

まずディレクトリの作成

mkdir ~/rpm
mkdir ~/rpm/BUILD
mkdir ~/rpm/RPMS
mkdir ~/rpm/RPMS/`uname -p`
mkdir ~/rpm/RPMS/noarch
mkdir ~/rpm/SOURCES
mkdir ~/rpm/SPECS
mkdir ~/rpm/SRPMS
mkdir ~/rpm/tmp

rpmbuild用の設定ファイルを作成

cat <<EOF > ~/.rpmmacros
%_topdir $HOME/rpm
%_tmppath $HOME/rpm/tmp
EOF

あとは、拾ってきたSourceをSOURCESに配置して

rpmbuild -tb ~/rpm/SOURCES/xxxxxx.tar.gz

などでOK。

LDAP環境下の一般ユーザーで作ったけど、全然関係ないサーバーにもrpm持って行ってインストールできたので問題ないと思う。
CentOS5系でもたぶん同じ手順でいけるでしょう。
rpmbuildのオプションは別途。


参考
Building RPM packages as non-root user « #!/bin/blog