SRPMとはソースパッケージ(*.src.rpm)と呼ばれ、RPM(バイナリパッケージ)をソースからビルドして作成できます。
HistoryをSyslogに出力BashのRPMを作ってみた(CentOS6)の記事で紹介した際は、bashでの例となります。
このSRPMをそのままインストール(rpm -ivh)すると、内容が下記のディレクトリに展開され、ビルドした成果物も
同様のディレクトリに展開されます。
# tree -L 2 /root/
/root/
└── rpmbuild
├── BUILD
├── BUILDROOT
├── RPMS
├── SOURCES
├── SPECS
└── SRPMS
※以前は/usr/src/redhatだったと記憶していますが変更されたようです。
この展開先/出力先のディレクトリを任意のものに変更したいと思います。
変更方法は、色々あるようですがホームディレクトリ下(/root/)に下記のような.rpmmacrosを配置する方法で
実現してみました。
# cat /root/.rpmmacros
%_topdir /opt/suz-lab/share/rpmbuild
※デフォルトは%_topdir $(HOME)/rpmbuild/のようです。
これで再度SRPMをインストールすると、今度は無事に展開されました。
# tree -L 1 /opt/suz-lab/share/rpmbuild/
/opt/suz-lab/share/rpmbuild/
├── BUILD
├── BUILDROOT
├── README.md
├── RPMS
├── SOURCES
├── SPECS
└── SRPMS
これもSUZ-LAB AMIに組み込みたいと思います。