[wiki:docs Vine Linux ドキュメント] / [wiki:../../ Vine Linux 開発者ガイド] / [wiki:../ パッケージ作成から公開までの流れ] / パッケージの作成・更新 [[PageOutline]] = パッケージの作成・更新 = == SPEC ファイルの準備 == パッケージの設計書である SPEC ファイルを準備します。 既存パッケージを更新する場合は、[wiki:../../base-knowledge/version-control SPEC ファイルのバージョン管理について]を参考に SPEC ファイルを取得してください。 新規パッケージの場合は、SPEC ファイルを新たに作成します。この時、ファイル名は'''パッケージ名-vl.spec'''の形式にしてください。 SPECファイルの詳細については、RPM パッケージの作成方法の第5章 SPECファイルの記述を参照してください。 == ソースやパッチの配置 == パッケージの作成に必要なソースやパッチを '''%_topdir/SOURCES/パッケージ名''' に配置してください。 新たにパッチを作成した場合やソースのバージョンを更新する場合は、それらを先ほどのディレクトリに配置してください。 == ソース RPM の作成 == SPECファイルを元にソース RPM を作成します。以下のコマンドを実行してください。 {{{ $ rpmbuild -bs SPECファイル名 }}} GnuPGによる署名をするように設定している場合は、パスフレーズを求められますので入力してください。 {{{ パスフレーズの入力: }}} パスフレーズに問題がなければ、次のように表示されます。 {{{ パスフレーズは正常です。 署名の作成中: 1005 }}} 特に問題がなければ、書き込み完了の案内が表示されます。 == バイナリ RPM の作成 == まず、次のようにしてchroot環境(仮想のファイルシステム)にVine Linuxの基本システムをインストールします。(chrootを利用する関係上、vbuilderの実行にはroot権限が必要となります。) {{{ $ sudo vbuilder --version 6 --arch i386 clean build }}} 6 や i386 といったオプション値は、ターゲット環境に併せて変更してください。この作業には、しばらく時間がかかります。 {{{ Making a build farm for 6_i386 done. }}} のように表示されたら、次のようにしてソース RPM から、バイナリ RPM を作成します。 {{{ $ sudo vbuilder --version 6 --arch i386 --unionfs clean build-rpm /path/to/hoge.src.rpm }}} 特に問題がなければ、作成されたパッケージが、'''%_topdir/vbuilder/''' 以下にコピーされます。(vbuilderの出力をよく確認してください。) ビルドが途中で失敗した場合は、[#SPECファイルの準備 SPECファイルの準備]に戻って原因を修正してください。(BuildRequiresの修正など) vbuilderの詳細は、VineBootstrap を参照してください。