パッケージ作成毎の準備

この章から、実際にパッケージ作成の手順を説明していきます。

II.4.1. パッケージ化対象アプリケーションの情報収集

次節以降の準備のためにパッケージ化しようとしているアプリケーションの情報を確認します。

最初にパッケージ化するアプリケーションが、既にVinePlus(VineSeed)向けに用意されていないか確認します。

例 II.4-1パッケージの存在を確認する
# apt-get update
$ apt-cache search name
パッケージが存在した場合

パッケージが存在していても不具合がある場合やバージョンアップする場合には、パッケージを修正する必要があります。

この様な場合には、apt-get source nameなどとして既存のSPECファイルを取得し、修正するようにしてください。

パッケージが存在しないかバージョンアップする場合は、ダウンロードしたソースをSOURCESに保存してください。

また、以下の情報についても配布元のサイトやソースに含まれる README などのファイルを見て確認してください。

  • ビルド・インストールの方法
  • ビルド・実行に必要なライブラリやアプリケーションとそのバージョン
  • 実行時に参照される設定ファイル

II.4.2. アプリケーションのビルド・実行に必要なパッケージのインストール

アプリケーションのビルド・実行に必要なライブラリやアプリケーションがあれば、それらのパッケージがインストールされているか確認してください。

特にライブラリでは、ビルドにのみ必要なファイルがサブパッケージ(通常はname-devel)として用意されている場合があり、注意が必要です。

また、複数のメジャーバージョンを共存させるためにパッケージ名にメジャーバージョンが追加されている場合があります。

パッケージによっては、名前の一部が省略されている場合もあります。

例 II.4-2gtk+-2.xを必要とする場合

パッケージのビルドには、gtk2-develパッケージがインストールされている必要があります。 (この例では、gtk+ の + が省略されている上、gtk+-1.xと共存するためにパッケージ名にメジャーバージョンである 2 が追加されています。)

なお、必要なライブラリ等のパッケージが用意されていない場合は、先にパッケージ化してください。

II.4.3. パッチの用意

以下の様な場合には、パッチを用意します。

  • 必要なライブラリが全てインストールされているにも関わらずビルドに失敗する
  • 実行時の不具合がある
  • アプリケーションのインストール先を変更できる仕組みになっていない
  • 設定ファイルをVine Linux向けにカスタマイズしたい

ビルドや実行に関する不具合は、既に配布元でも承知して公式のパッチが用意されている場合もあります。

その場合は、公式のパッチをダウンロードしてSOURCESに保存します。

自分でパッチを作成する場合の手順
  1. アプリケーションのソースを展開

  2. 展開されたディレクトリをコピー

    $ cp -R srcdir srcdir.org
  3. コピー元のディレクトリ(srcdir)以下のファイルに必要な修正を加える

  4. パッチを作成する

    $ diff -uNr srcdir.org/ srcdir/ > patchname.patch
  5. patchname.patchをSOURCESに保存