4.5.2. 元の spec ファイルの変更
rpmdev-newspec ユーティリティーによって生成される元の出力 spec ファイルは、テンプレートです。このテンプレートを変更して、rpmbuild ユーティリティーに必要な指示を提供する必要があります。rpmbuild は、その指示を使用して RPM パッケージをビルドします。
前提条件
-
未入力の
~/rpmbuild/SPECS/<name>.specspecファイルを、rpmdev-newspecユーティリティーを使用して作成した。詳細は、サンプルの Bash、Python、および C プログラム用の新しい spec ファイルを作成する を参照してください。
手順
-
rpmdev-newspecユーティリティーによって提供される~/rpmbuild/SPECS/<name>.specファイルを開きます。 specファイルの Preamble セクションに次のディレクティブを入力します。Name-
Nameは、すでにrpmdev-newspecの引数として指定されています。 Version-
Versionは、ソースコードのアップストリームのリリースバージョンと一致するように設定します。 Release-
Releaseは、1%{?dist}に自動的に設定されます。最初は1となります。 Summary- パッケージの説明を 1 行で入力します。
License- ソースコードに関連付けるソフトウェアライセンスを入力します。
URL-
アップストリームのソフトウェア Web サイトの URL を入力します。一貫性を保つために、
%{name}RPM マクロ変数を利用し、https://example.com/%{name}形式を使用します。 Sourceアップストリームのソフトウェアソースコードへの URL を入力します。パッケージ化するソフトウェアバージョンに直接リンクします。
注記このドキュメントのサンプル URL には、ハードコードされた値が含まれています。この値は将来変更される可能性があります。同様に、リリースのバージョンも変更される可能性があります。今後の変更を簡素化するには、
%{name}マクロと%{version}マクロを使用します。これらのマクロを使用すると、更新する必要がある箇所が、specファイル内の 1 つのフィールドだけになります。BuildRequires- パッケージのビルド時の依存関係を指定します。
Requires- パッケージの実行時の依存関係を指定します。
BuildArch- ソフトウェアアーキテクチャーを指定します。
specファイルの Body セクションに次のディレクティブを入力します。これらのディレクティブは、実行する複数行、複数指示のタスクやスクリプト処理タスクを定義できるため、セクションの見出しと考えることができます。%description- ソフトウェアの詳細な説明を入力します。
%prep- ソフトウェアのビルドを準備するための 1 つまたは一連のコマンドを入力します。
%build- ソフトウェアをビルドするための 1 つまたは一連のコマンドを入力します。
%install-
ソフトウェアを
BUILDROOTディレクトリーにインストールする方法をrpmbuildコマンドに指示する 1 つまたは一連のコマンドを入力します。 %files- システムにインストールする、RPM パッケージによって提供されるファイルのリストを指定します。
%changelogパッケージの各
Version-Releaseの日付入りエントリーのリストを入力します。%changelogセクションの最初の行は、アスタリスク (*) 文字で始め、その後にDay-of-Week Month Day Year Name Surname <email> - Version-Releaseを入力します。実際の変更エントリーについては、次のルールに従ってください。
- 各変更エントリーには、変更ごとに複数の項目を含めることができます。
- 各項目は新しい行で始まります。
-
各項目の先頭にハイフン (
-) 文字を付けます。
これで、必要なプログラムの完全な spec ファイルが作成されました。