| 1 | [wiki:docs Vine Linux ドキュメント] / [wiki:../ RPM パッケージの作成方法] / パッケージ作成毎の準備 |
| 2 | |
| 3 | [[PageOutline]] |
| 4 | |
| 5 | = パッケージ作成毎の準備 = |
| 6 | |
| 7 | == パッケージ化対象アプリケーションの情報収集 == |
| 8 | |
| 9 | パッケージ化しようとしているアプリケーションの情報を確認します。 |
| 10 | |
| 11 | 最初にパッケージ化するアプリケーションが、既に VinePlus(!VineSeed) 向けに用意されていないか確認します。 |
| 12 | |
| 13 | {{{ |
| 14 | #!sh |
| 15 | $ sudo apt-get update |
| 16 | $ apt-cache search name |
| 17 | }}} |
| 18 | |
| 19 | パッケージが存在していても不具合がある場合やバージョンアップする場合には、パッケージを修正する必要があります。 |
| 20 | |
| 21 | この様な場合には、 |
| 22 | {{{ |
| 23 | #!sh |
| 24 | $ apt-get source name |
| 25 | }}} |
| 26 | などとして既存の SPEC ファイルを取得し、修正するようにしてください。 |
| 27 | |
| 28 | パッケージが存在しないかバージョンアップする場合は、ダウンロードしたソースを SOURCES/name に保存してください。 |
| 29 | |
| 30 | また、以下の情報についても配布元のサイトやソースに含まれる README などのファイルを見て確認してください。 |
| 31 | |
| 32 | * ビルド・インストールの方法 |
| 33 | * ビルド・実行に必要なライブラリやアプリケーションとそのバージョン |
| 34 | * 実行時に参照される設定ファイル |
| 35 | |
| 36 | == アプリケーションのビルド・実行に必要なパッケージのインストール == |
| 37 | |
| 38 | アプリケーションのビルド・実行に必要なライブラリやアプリケーションがあれば、それらのパッケージがインストールされているか確認してください。 |
| 39 | |
| 40 | 特にライブラリでは、ビルドにのみ必要なファイルがサブパッケージ(通常は name-devel)として用意されている場合があり、注意が必要です。 |
| 41 | |
| 42 | また、複数のメジャーバージョンを共存させるためにパッケージ名にメジャーバージョンが追加されている場合があります。 |
| 43 | |
| 44 | パッケージによっては、名前の一部が省略されている場合もあります。 |
| 45 | |
| 46 | なお、必要なライブラリ等のパッケージが用意されていない場合は、先にパッケージ化してください。 |
| 47 | |
| 48 | === 例: gtk+-2.xを必要とする場合 === |
| 49 | |
| 50 | パッケージをビルドするには、gtk2-devel パッケージがインストールされている必要があります。 (この例では、gtk+ の + が省略されている上、gtk+-1.x と共存するためにパッケージ名にメジャーバージョンである 2 が追加されています。) |
| 51 | |
| 52 | == パッチの用意 == |
| 53 | |
| 54 | 以下の様な場合には、パッチを用意します。 |
| 55 | |
| 56 | * 必要なライブラリが全てインストールされているにも関わらずビルドに失敗する |
| 57 | * 実行時の不具合がある |
| 58 | * アプリケーションのインストール先を変更できる仕組みになっていない |
| 59 | * 設定ファイルをVine Linux向けにカスタマイズしたい |
| 60 | |
| 61 | ビルドや実行に関する不具合は、既に配布元でも承知して公式のパッチが用意されている場合もあります。 |
| 62 | |
| 63 | その場合は、公式のパッチをダウンロードして SOURCES/name に保存します。 |
| 64 | |
| 65 | === 自分でパッチを作成する場合の手順 === |
| 66 | |
| 67 | 1. アプリケーションのソースを展開 |
| 68 | 1. 展開されたディレクトリをコピー |
| 69 | {{{ |
| 70 | #!sh |
| 71 | $ cp -R srcdir srcdir.org |
| 72 | }}} |
| 73 | 1. コピー元のディレクトリ(srcdir)以下のファイルに必要な修正を加える |
| 74 | 1. パッチを作成する |
| 75 | {{{ |
| 76 | #!sh |
| 77 | $ diff -uNr srcdir.org/ srcdir/ > patchname.patch |
| 78 | }}} |
| 79 | 1. patchname.patch を SOURCES/name に保存 |
| 80 | |