3.3. RPM のビルド
本セクションでは、プログラム用の SPEC ファイルを作成した後に RPM を構築する方法を説明します。
RPM は、rpmbuild
コマンドで構築されます。このコマンドは、特定のディレクトリーと rpmdev -setuptree
ユーティリティーで設定された構造と同じファイル構造を想定します。
rpmbuild
コマンドでは、ユースケースや期待する結果によって組み合わせる引数が異なります。本セクションでは、主なユースケースを 2 つ説明します。
- ソース RPM のビルド
- バイナリー RPM のビルド
3.3.1. ソース RPM のビルド リンクのコピーリンクがクリップボードにコピーされました!
この段落は、手順モジュールの紹介 (手順の簡単な説明) です。
前提条件
パッケージ化するプログラムの SPEC ファイルがすでに存在している必要があります。SPEC ファイルの作成方法は SPEC ファイルでの作業 を参照してください。
手順
次の手順では、ソース RPM のビルド方法を説明します。
指定の SPEC ファイルを使用して
rpmbuild
コマンドを実行します。rpmbuild -bs SPECFILE
$ rpmbuild -bs SPECFILE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SPECFILE を SPEC ファイルに置き換えます。
-bs
オプションは、ビルドソースを表します。
以下の例は、bello
プロジェクト、pello
プロジェクト、および cello
プロジェクトのソース RPM のビルドを示しています。
bello、pello、および cello のソース RPM のビルド。
検証手順
-
生成されたソース RPM が
rpmbuild/SRPMS
ディレクトリーに含まれていることを確認してください。ディレクトリーは、rpmbuild
で必要な構造の一部です。
3.3.2. バイナリー RPM のビルド リンクのコピーリンクがクリップボードにコピーされました!
バイナリー RPM のビルドには、以下の方法を使用できます。
- ソース RPM からのバイナリー RPM の再ビルド
- SPEC ファイルからのバイナリー RPM のビルド
- ソース RPM からのバイナリー RPM のビルド
3.3.2.1. ソース RPM からのバイナリー RPM の再ビルド リンクのコピーリンクがクリップボードにコピーされました!
以下の手順は、ソース RPM (SRPM) からバイナリー RPM を再構築する方法を示しています。
手順
SRPMS から
bello
、pello
、およびcello
を再構築するには、以下を実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
rpmbuild --rebuild
を起動すると、以下が関係します。
-
SRPM の内容 (SPEC ファイルおよびソースコード) の、
~/rpmbuild/
ディレクトリーへのインストール。 - インストール済みコンテンツを使用したビルド。
- SPEC ファイルとソースコードの削除
SPEC ファイルとソースコードをビルド後も維持するには、以下を行います。
-
ビルド時には、
--rebuild
オプションの代わりに、--recompile
オプションを指定してrpmbuild
コマンドを使用します。 以下のコマンドを使用して SRPM をインストールします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
バイナリー RPM の作成時に生成される出力は詳細なもので、これはデバッグに役立ちます。この出力は各種例によって異なり、SPEC ファイルに一致します。
生成されるバイナリー RPM は、YOURARCH
がアーキテクチャーとなる ~/rpmbuild/RPMS/YOURARCH
ディレクトリーか、パッケージがアーキテクチャー固有でなければ、~/rpmbuild/RPMS/noarch/
ディレクトリーに位置します。
3.3.2.2. SPEC ファイルからのバイナリー RPM のビルド リンクのコピーリンクがクリップボードにコピーされました!
以下の手順では、SPEC ファイルから bello
、pello
、および cello
バイナリー RPM のビルド方法を示しています。
手順
bb
オプションを指定して、rpmbuild
コマンドを実行します。rpmbuild -bb ~/rpmbuild/SPECS/bello.spec rpmbuild -bb ~/rpmbuild/SPECS/pello.spec rpmbuild -bb ~/rpmbuild/SPECS/cello.spec
$ rpmbuild -bb ~/rpmbuild/SPECS/bello.spec $ rpmbuild -bb ~/rpmbuild/SPECS/pello.spec $ rpmbuild -bb ~/rpmbuild/SPECS/cello.spec
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.2.3. ソース RPM からの RPM のビルド リンクのコピーリンクがクリップボードにコピーされました!
ソース RPM からあらゆる種類の RPM をビルドすることもできます。これを行うには、以下の手順を行います。
手順
以下のオプションのいずれかと、ソースパッケージを指定して、
rpmbuild
コマンドを実行します。rpmbuild {-ra|-rb|-rp|-rc|-ri|-rl|-rs} [rpmbuild-options] SOURCEPACKAGE
# rpmbuild {-ra|-rb|-rp|-rc|-ri|-rl|-rs} [rpmbuild-options] SOURCEPACKAGE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
ソース RPM から RPM をビルドする方法は、man ページの rpmbuild(8)
の BUILDING PACKAGES
セクションを参照してください。