| | 1 | [wiki:docs Vine Linux ドキュメント] / [wiki:../../ Vine Linux 開発者ガイド] / [wiki:../ パッケージ作成から公開までの流れ] / パッケージの作成・更新 |
| | 2 | |
| | 3 | [[PageOutline]] |
| | 4 | |
| | 5 | = パッケージの作成・更新 = |
| | 6 | |
| | 7 | == SPEC ファイルの準備 == |
| | 8 | |
| | 9 | パッケージの設計書である SPEC ファイルを準備します。 |
| | 10 | |
| | 11 | 既存パッケージを更新する場合は、[wiki:../../base-knowledge/version-control SPEC ファイルのバージョン管理について]を参考に SPEC ファイルを取得してください。 |
| | 12 | |
| | 13 | 新規パッケージの場合は、SPEC ファイルを新たに作成します。この時、ファイル名は'''パッケージ名-vl.spec'''の形式にしてください。 |
| | 14 | |
| | 15 | SPECファイルの詳細については、RPM パッケージの作成方法の第5章 SPECファイルの記述を参照してください。 |
| | 16 | |
| | 17 | == ソースやパッチの配置 == |
| | 18 | |
| | 19 | パッケージの作成に必要なソースやパッチを '''%_topdir/SOURCES/パッケージ名''' に配置してください。 |
| | 20 | |
| | 21 | 新たにパッチを作成した場合やソースのバージョンを更新する場合は、それらを先ほどのディレクトリに配置してください。 |
| | 22 | |
| | 23 | == ソース RPM の作成 == |
| | 24 | |
| | 25 | SPECファイルを元にソース RPM を作成します。以下のコマンドを実行してください。 |
| | 26 | |
| | 27 | {{{ |
| | 28 | $ rpmbuild -bs SPECファイル名 |
| | 29 | }}} |
| | 30 | |
| | 31 | GnuPGによる署名をするように設定している場合は、パスフレーズを求められますので入力してください。 |
| | 32 | |
| | 33 | {{{ |
| | 34 | パスフレーズの入力: |
| | 35 | }}} |
| | 36 | |
| | 37 | パスフレーズに問題がなければ、次のように表示されます。 |
| | 38 | |
| | 39 | {{{ |
| | 40 | パスフレーズは正常です。 |
| | 41 | 署名の作成中: 1005 |
| | 42 | }}} |
| | 43 | |
| | 44 | 特に問題がなければ、書き込み完了の案内が表示されます。 |
| | 45 | |
| | 46 | == バイナリ RPM の作成 === |
| | 47 | |
| | 48 | まず、次のようにしてchroot環境(仮想のファイルシステム)にVine Linuxの基本システムをインストールします。(chrootを利用する関係上、vbuilderの実行にはroot権限が必要となります。) |
| | 49 | |
| | 50 | {{{ |
| | 51 | $ sudo vbuilder --version 6 --arch i386 clean build |
| | 52 | }}} |
| | 53 | |
| | 54 | 6 や i386 といったオプション値は、ターゲット環境に併せて変更してください。この作業には、しばらく時間がかかります。 |
| | 55 | |
| | 56 | {{{ |
| | 57 | Making a build farm for 6_i386 done. |
| | 58 | }}} |
| | 59 | |
| | 60 | のように表示されたら、次のようにしてソース RPM から、バイナリ RPM を作成します。 |
| | 61 | |
| | 62 | {{{ |
| | 63 | $ sudo vbuilder --version 6 --arch i386 --unionfs clean build-rpm /path/to/hoge.src.rpm |
| | 64 | }}} |
| | 65 | |
| | 66 | 特に問題がなければ、作成されたパッケージが、'''%_topdir/vbuilder/''' 以下にコピーされます。(vbuilderの出力をよく確認してください。) |
| | 67 | |
| | 68 | ビルドが途中で失敗した場合は、[#SPECファイルの準備 SPECファイルの準備]に戻って原因を修正してください。(BuildRequiresの修正など) |
| | 69 | |
| | 70 | vbuilderの詳細は、VineBootstrap を参照してください。 |