エンジニアと発達障害

メンタルヘルスやプログラミングについて書いていきます

CentOS RPMパッケージビルド手順

RedHatディストリビューションで使用されるRPMビルド手順の概要を説明します。対象の主なディストリビューションCentOSFedoraです。

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