RedHat系ディストリビューションで使用されるRPMビルド手順の概要を説明します。対象の主なディストリビューションはCentOS、Fedoraです。
0.準備
パッケージビルドのオペレーションは全てrootユーザで実行します。
su root
RPMビルドに必要なツール類をインストールします。
dnf install rpm-build
1.ソースの入手と準備
CentOSのレポジトリからSRPMを入手して、パッケージのソースを入手します。ここでは、sysstatパッケージを例にとります。
dnf download --source sysstat
rpm -ivh sysstat-11.7.3-5.el8.src.rpm
SRPMのファイル名は、指定したレポジトリのバージョンによって変わります。
rpm -ivhコマンドで、/root/rpmbuild/SOURCES 配下にソースが展開されます。
また、/root/rpmbuild/SPECS 配下にビルド情報が格納されたSPECファイルが展開されます。
/root/rpmbuild/SOURCES
sysstat-11.7.3.tar.xz
/root/rpmbuild/SPECS
sysstat.spec
RPMビルドに必要な他フォルダは手動で作成します。
# cd /root/rpmbuild
# mkdir RPMS SRPMS BUILD
2.RPMビルド
sysstatパッケージのビルドを行います。
# cd /root/rpmbuild/SPECS
# rpmbuild -bb sysstat.spec
rpmbuildを実行すると、必要なパッケージが無いというエラーが出る場合は、そのパッケージをインストールしてから、再度rpmbuildを実行します。
エラー:ビルド依存性の失敗
lm_sensors-devel は sysstat-11.7.3.5-el8.x86_64 に必要とされています
# dnf install lm_sensors-devel
(略)
# 完了しました!
# rpmbuild -bb sysstat.spec