アプリケーションパッケージ開発者ガイド

情報ファイルの作成

この節では、オプションのパッケージ情報ファイルについて説明します。パッケージ情報ファイルを使用すると、パッケージの依存関係の定義、著作権に関するメッセージの提供、およびターゲットシステム上の追加領域の予約が可能になります。

パッケージの依存関係の定義

作成するパッケージがほかのパッケージに依存するかどうか、およびほかのパッケージが作成するパッケージに依存するかどうかを、判定する必要があります。パッケージの依存関係と非互換性は、2 つのオプションパッケージ情報ファイル、compver と depend で定義できます。

compver ファイルを提供することで、インストールされているパッケージと互換性のある、以前のバージョンのパッケージを指定できます。

depend ファイルを提供することで、パッケージに関連付けられた 3 種類の依存関係を定義できます。依存タイプには次の 3 種類があります。

depend ファイルは、とても基本的な依存関係のみを判定します。作成するパッケージが特定のファイル、そのファイルの内容、動作に依存する場合、depend ファイルによる判定だけでは正確性は十分ではありません。このような場合は、request スクリプトまたは checkinstall スクリプトを使用して、詳細な依存関係チェックを行うようにしてください。checkinstall スクリプトは、パッケージのインストールプロセスをクリーンに停止できる唯一のスクリプトでもあります。


注 –

depend ファイルと compver ファイルのエントリが prototype ファイルにあることを確認してください。ファイルタイプは、i (パッケージ情報ファイル) としてください。


詳細は、depend(4) および compver(4) のマニュアルページを参照してください。

Procedureパッケージの依存関係を定義する方法

  1. 情報ファイルが格納されているディレクトリを、現在の作業用ディレクトリにします。

  2. 以前のバージョンのパッケージが存在し、新しいパッケージと互換性があることを指定する必要がある場合は、任意のテキストエディタを使用して compver という名前のファイルを作成します。

    作成するパッケージと互換性があるバージョンを一覧表示します。次の形式を使用します。


    string string . . .
    

    string の値は、各互換パッケージの pkginfo ファイルの VERSION パラメータに割り当てられている値と同じです。

  3. ファイルを保存してエディタを終了します。

  4. 作成するパッケージがほかのパッケージの存在に依存する場合、ほかのパッケージが作成するパッケージの存在に依存する場合、または作成するパッケージが別のパッケージと互換性がない場合は、任意のテキストエディタを使用して depend という名前のファイルを作成します。

    依存関係ごとにエントリを追加します。次の形式を使用します。


    type pkg-abbrev pkg-name
        (arch) version
        (arch) version . . .
    
    type

    依存タイプを定義します。次のいずれかの文字を指定する必要があります。 P (必須パッケージ)、I (非互換パッケージ)、または R (逆依存)。

    pkg-abbrev

    パッケージの省略名を指定します (SUNWcadap など)。

    pkg-name

    完全なパッケージ名を指定します。たとえば、「Chip designers need CAD application software to design abc chips. Runs only on xyz hardware and is installed in the usr partition.」などです。

    (arch)

    省略可能。パッケージが稼働するハードウェアの種類を指定します。たとえば、sparc や x86 などです。アーキテクチャーを指定する場合は、区切り文字として丸括弧を使用する必要があります。

    version

    省略可能。pkginfo ファイルで VERSION パラメータに割り当てられている値を指定します。

    詳細については、depend(4) を参照してください。

  5. ファイルを保存してエディタを終了します。

  6. 次のいずれかの作業を完了します。

  7. パッケージを構築します。

    必要な場合は、「パッケージの構築方法」を参照してください。


例 3–1 compver ファイル

この例では、パッケージには 4 つのバージョンがあります。 1.0、1.1、2.0、および新しいパッケージの 3.0 です。新しいパッケージは、以前の 3 つのバージョンすべてと互換性があります。最新バージョンの compver ファイルは次のような内容です。


release 3.0
release 2.0
version 1.1
1.0

エントリは、順番になっていなくてもかまいません。ただし、各パッケージの pkginfo ファイルでの VERSION パラメータの定義と正確に一致するようにしてください。この例では、パッケージ設計者は最初の 3 つのバージョンで異なる形式を使用しています。



例 3–2 depend ファイル

この例では、サンプルパッケージ SUNWcadap は、SUNWcsr パッケージと SUNWcsu パッケージがターゲットシステムにすでにインストールされている必要があるものとします。 SUNWcadap の depend ファイルは、次のような内容です。


P SUNWcsr Core Solaris, (Root)
P SUNWcsu Core Solaris, (Usr)

参照

パッケージを構築したあと、実際にインストールして、正しくインストールされることを確認し、整合性を検証します。第 4 章パッケージの確認と転送では、これらの作業について説明し、検証済みのパッケージを配布媒体に転送する方法の手順を示します。

著作権に関するメッセージの書き込み

パッケージのインストール中に著作権に関するメッセージを表示するべきかどうかを決める必要があります。表示する必要がある場合は、copyright ファイルを作成します。


注 –

ソフトウェアアプリケーションを法的に保護するには、copyright ファイルを含めるようにしてください。メッセージの正確な文言については、会社の法務部門に確認してください。


著作権に関するメッセージを提供するには、copyright という名前のファイルを作成する必要があります。インストール中に、ファイルに記述されているとおりに (書式設定されずに) メッセージが表示されます。詳細については、copyright(4) のマニュアルページを参照してください。


注 –

copyright ファイルのエントリが prototype ファイルにあることを確認してください。ファイルタイプは、i (パッケージ情報ファイル) としてください。


Procedure著作権に関するメッセージを書く方法

  1. 情報ファイルが格納されているディレクトリを、現在の作業用ディレクトリにします。

  2. 任意のテキストエディタを使用して、copyright という名前のファイルを作成します。

    パッケージのインストール時に表示する、著作権に関するメッセージの文章を、正確に入力します。

  3. ファイルを保存してエディタを終了します。

  4. 次のいずれかの作業を完了します。

  5. パッケージを構築します。

    必要な場合は、「パッケージの構築方法」を参照してください。


例 3–3 copyright ファイル

たとえば、著作権に関するメッセージの一部分は次のようになります。


Copyright (c) 2003 Company Name
All Rights Reserved
 
This product is protected by copyright and distributed under
licenses restricting copying, distribution, and decompilation.

参照

パッケージを構築したあと、実際にインストールして、正しくインストールされることを確認し、整合性を検証します。第 4 章パッケージの確認と転送では、これらの作業について説明し、検証済みのパッケージを配布媒体に転送する方法の手順を示します。

ターゲットシステムでの追加領域の予約

ターゲットシステムでは、パッケージは追加のディスク領域が必要かどうかを判定する必要があります。この領域は、パッケージオブジェクトで必要な領域とは別に追加するものです。必要な場合は、space 情報ファイルを作成します。この作業は、「インストール時に作成される追加のオブジェクトの定義」で説明した、インストール時の空のファイルとディレクトリの作成とは異なるものです。

pkgadd コマンドを使用すると、pkgmap ファイルでのオブジェクト定義に基づいて、パッケージのインストールに十分なディスク領域が確保されます。ただし、パッケージでは、pkgmap ファイルで定義されているオブジェクトが必要とするディスク領域以上の追加の領域が必要になる場合があります。たとえば、パッケージのインストール後に、ディスク領域を消費するデータベース、ログファイルなど、ファイルサイズが大きくなる可能性があるファイルが作成されるような場合です。このような場合のために領域を予約するには、必要なディスク領域を指定する space ファイルを含めるようにしてください。pkgadd コマンドは、space ファイルで指定されている追加領域をチェックします。詳細については、space(4) のマニュアルページを参照してください。


注 –

space ファイルのエントリが prototype ファイルにあることを確認してください。ファイルタイプは、i (パッケージ情報ファイル) としてください。


Procedureターゲットシステムに追加領域を予約する方法

  1. 情報ファイルが格納されているディレクトリを、現在の作業用ディレクトリにします。

  2. 任意のテキストエディタを使用して、spacet という名前のファイルを作成します。

    パッケージに必要な追加ディスク領域の要件を指定します。次の形式を使用します。


    pathname blocks inodes
    
    pathname

    ディレクトリ名を指定します。ファイルシステムのマウントポイントであってもなくてもかまいません。

    blocks

    予約する 512 バイトブロックの数を指定します。

    i ノード

    必要な i ノードの数を指定します。

    詳細については、space(4) のマニュアルページを参照してください。

  3. ファイルを保存してエディタを終了します。

  4. 次のいずれかの作業を完了します。

  5. パッケージを構築します。

    必要な場合は、「パッケージの構築方法」を参照してください。


例 3–4 space ファイル

この space ファイルの例では、1000 個の 512 バイトブロックと 1 個の i ノードをターゲットシステムの /opt ディレクトリに予約するように指定しています。


/opt   1000   1

参照

パッケージを構築したあと、実際にインストールして、正しくインストールされることを確認し、整合性を検証します。第 4 章パッケージの確認と転送では、これらの作業について説明し、検証済みのパッケージを配布媒体に転送する方法の手順を示します。