パッケージの作成・更新

5.2.1. SPECファイルの準備

パッケージの設計書であるSPECファイルを準備します。

既存パッケージを更新する場合は、

$ apt-get source パッケージ名
などとして既存のSPECファイルを取得してください。(VineSeedの場合は、セクション 3.6 - SPECファイルのバージョン管理についてを参考にSPECファイルを取得してください。)

新規パッケージの場合は、SPECファイルを新たに作成します。この時、ファイル名はパッケージ名-vl.specの形式にしてください。

SPECファイルの詳細については、RPMパッケージの作成方法第5章 SPECファイルの記述を参照してください。

5.2.2. ソースやパッチの配置

パッケージの作成に必要なソースやパッチを%_topdir/SOURCES/に配置してください。セクション 5.2.1 - SPECファイルの準備apt-get sourceを利用した場合は、更新前のソースやパッチは既に配置されているはずです。

新たにパッチを作成した場合やソースのバージョンを更新する場合は、それらを先ほどのディレクトリに配置してください。

5.2.3. ソースRPMの作成

SPECファイルを元にソースRPMを作成します。以下のコマンドを実行してください。

$ rpmbuild -bs SPECファイル名

GnuPGによる署名をするように設定している場合は、パスフレーズを求められますので入力してください。

パスフレーズの入力:

パスフレーズに問題がなければ、次のように表示されます。

パスフレーズは正常です。
署名の作成中: 1005

特に問題がなければ、書き込み完了の案内が表示されます。

5.2.4. バイナリRPMの作成

まず、次のようにしてchroot環境(仮想のファイルシステム)にVine Linuxの基本システムをインストールします。(chrootを利用する関係上、vbuilderの実行にはroot権限が必要となります。)

# vbuilder --version 5.1 --arch i386 clean build

5.1やi386といったオプション値は、ターゲット環境に併せて変更してください。この作業には、しばらく時間がかかります。

Making a build farm for 5.1_i386 done.
のように表示されたら、次のようにしてソースRPMから、バイナリRPMを作成します。

# vbuilder --version 5.1 --arch i386 --unionfs clean build-rpm /path/to/hoge.src.rpm

特に問題がなければ、作成されたパッケージが、%_topdir/vbuilder/以下にコピーされます。(vbuilderの出力をよく確認してください。)

ビルドが途中で失敗した場合は、セクション 5.2.1 - SPECファイルの準備に戻って原因を修正してください。(BuildRequiresの修正など)

vbuilderの詳細は、http://trac.vinelinux.org/wiki/VineBootstrapを参照してください。