パッケージ情報の記述

rpmコマンドでパッケージに関する問い合わせを実行した場合に表示される情報やパッケージの依存情報などを記述します。

例 II.5-1パッケージ情報の記述例

以下にパッケージ情報の記述例を示します。(#を記述すると#から行末までがコメントとして扱われます。)

# 基本情報
Summary: hoge is a harehare horehore
Summary(ja): hoge は harehare な horehore です。
Name: hoge
Version: 1.1
Release: 1%{?_dist_release}
License: GPL2
Group: Applications/Internet
URL: http://www.fugahogo.com/hogehoge.html
Vendor:	Project Vine
Distribution: Vine Linux
Packager: yourid,otherid

# パッケージの作成時に必要となる情報
Source: %{name}-%{version}.tar.gz
Patch: hoge.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-root

# 依存情報
Requires:	piyo
BuildRequires:	piyo-devel

# 詳しい解説
%description
Hoge is a harehare horehore and convenient for fugafuga.
Enjoy!

%description -l ja
hoge は harehare な horehore で、fugafuga するときなどとても便利なツー
ルです。みんなでなかよく使いましょう。
# 基本情報
Summary: hoge is a harehare horehore
Summary(ja): hoge は harehare な horehore です。
Name: hoge
Version: 1.1
Release: 1%{?_dist_release}
License: GPL2
Group: Applications/Internet
URL: http://www.fugahogo.com/hogehoge.html
Vendor:	Project Vine
Distribution: Vine Linux
Packager: yourid,otherid

# パッケージの作成時に必要となる情報
Source: %{name}-%{version}.tar.gz
Patch: hoge.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-root

# 依存情報
Requires:	piyo
BuildRequires:	piyo-devel

# 詳しい解説
%description
Hoge is a harehare horehore and convenient for fugafuga.
Enjoy!

%description -l ja
hoge は harehare な horehore で、fugafuga するときなどとても便利なツー
ルです。みんなでなかよく使いましょう。

基本情報から依存情報の部分は、1行につき1つの情報を記述する構成となっています。

各行は「Summary:」のようにタグとそれに続くコロンで始まり、さらにタグに対応する情報が続く形式になっています。

II.5.1.1. 基本情報

表 II.5-1の情報は、rpm -qiなどでパッケージに関して問い合わせを行った場合に表示されます。

表 II.5-1基本情報で使用されるタグ
タグ 内容
Summary パッケージの簡単な説明を英語で記述します。
Summary(ja) Summaryを日本語で翻訳します。
Name パッケージの名前です。定義以降、%{name}というマクロで参照できます。
Version パッケージのバージョンです。定義以降、%{version}というマクロで参照できます。
Release 冒頭の数字は同じバージョンで何回目のリリースになるかを意味します。%{?_dist_release}は、vl5の様に対象となるVine Linuxのバージョンに置き換えられます。定義以降、%{release}というマクロで参照できます。
License アプリケーションのライセンス
Group アプリケーションの種類。付録 B - Vine Linux で使用できるGroup一覧を参照して下さい。
Packager パッケージメンテナ。BTS.VineLinux.Orgへのログインユーザ名を使用してください。複数のメンテナがいる場合、カンマで区切ります。
Distribution VinePlusやVineSeedのパッケージは、Vine Linuxを指定します。
Vendor 作成したrpmパッケージに関する責任を負うVendor名です。VinePlusやVineSeedのパッケージは、Project Vineを指定します。
Url アプリケーションの情報を提供しているURL

II.5.1.2. パッケージ作成時に必要となるタグ

表 II.5-2パッケージ作成時に必要となるタグ
タグ 内容
Source パッケージ化するアプリケーションのソースファイル名。ソースの入手先を明示するためにURL形式で記述することも可能。
Patch セクション II.4.3 - パッチの用意で用意したパッチファイルを指定します。 書式はSourceと同じです。
BuildRoot 仮想インストールのためのディレクトリ名を書きます。直接ディレクトリ名を書くのではなく、例のようにマクロを利用してください。

複数のソースファイルやパッチがあるときはSource0、Source1、...やPatch0、Patch1、...というふうに番号をふって列挙します。(Source0は、Sourceと省略できます。)

Souce数字 で指定したファイルは %{SOURCE数字} というマクロとして セクション II.5.2 - スクリプト部の %prep や %install などの部分で利用できます。

II.5.1.3. 依存情報

パッケージの依存情報など他のパッケージとの関係を示すには、表 II.5-3のようなタグを使用します。

表 II.5-3パッケージの依存関係を扱うタグ
タグ 内容
Requires 作成しているrpmパッケージが動作するのに必要なパッケージ名
BuildRequires パッケージの作成時に必要となるパッケージ名
Conflicts 共存できないパッケージ名
Provides 作成するパッケージが他のパッケージの代替となる場合、そのパッケージ名を記述
Obsoletes パッケージをインストールする際にアンインストールしたいパッケージ名
BuildConflicts パッケージ作成時にはインストールしておけないパッケージ名

<, >, =, >=, <=といった演算子を使うとパッケージのバージョン、リリース番号を限定することもできます。

例 II.5-2ghostscriptのバージョン5.10がパッケージの動作に必要な場合
Requires: ghostscript = 5.10
例 II.5-3gtk2-develのバージョン2.16.0以上がパッケージの作成に必要な場合
BuildRequires: gtk2-devel >= 2.16.0
演算子の両側には必ずスペースやタブを入れてください。

演算子の両側にスペースやタブを入れない場合、パッケージ名からバージョンまでが一つのパッケージ名として認識されてしまいます

例えば、

BuildRequires: gtk2-devel>=2.16.0
とすると「gtk2-devel>=2.16.0」というパッケージ名だと認識してしまいます。

複数のパッケージが関係する場合は、カンマ(,)やスペースで区切って列挙したり、複数行に分けて記述できます。複数行に分ける場合は、各行にタグが必要です。

パッケージがいくつかのグループに分類できる場合には、複数行に書いた方がわかりやすくなります。

例 II.5-4一行で記述する例
Requires: ghostscript >= 5.10, ghostscript-fonts, VFlib = 2.24, tetex, tetex-extra
例 II.5-5複数行に分けて記述する例
Requires: ghostscript >= 5.10, ghostscript-fonts, VFlib = 2.24
Requires: tetex, tetex-extra

II.5.1.4. 詳しい解説

Summaryよりも詳しいパッケージの解説を

%description
の次の行から、英語で記述します。

Summaryタグの場合と違い、複数行にわたる解説を書くことができます。

なお、日本語による翻訳を追加する場合は、

%description -l ja
として、同様に記述できます。