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に組み込みたいと思います。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら