Oracle® Solaris 11.2 での Image Packaging System を使用したソフトウェアのパッケージ化と配布

印刷ビューの終了

更新: 2014 年 7 月
 
 

生成されたマニフェストに必要なメタデータを追加する

パッケージでは次のメタデータを定義するようにします。これらの値とその設定方法の詳細は、設定アクションを参照してください。

pkg.fmri

パッケージの名前とバージョン (パッケージ名および パッケージバージョン を参照)。パッケージを発行するに示すように、パッケージが発行されるとパブリッシャー名が自動的に追加されます。Oracle Solaris でのバージョン管理については、Oracle Solaris パッケージのバージョン管理を参照してください。

pkg.description

パッケージの内容の説明

pkg.summary

その説明の 1 行の概要。

variant.arch

このパッケージに適した各アーキテクチャー。パッケージ全体をどのアーキテクチャーでもインストールできる場合は、variant.arch を省略できます。さまざまなアーキテクチャーのさまざまなコンポーネントを含むパッケージの作成については、Chapter 5, バリエーションの許可に説明されています。

info.classification

packagemanager(1) GUI で使用されるグループ化スキーム。サポートされる値は、Appendix A, パッケージの分類に記載されています。このセクション内の例では、任意の分類が指定されています。

この例ではまた、mysoftware 下の man ディレクトリを指す link アクションを /usr/share/man/index.d に追加します。このリンクについては、必要とされるファセットまたはアクチュエータがあれば追加するで詳しく説明されています。

生成されたマニフェストを直接変更するのではなく、pkgmogrify(1) を使用して生成されたマニフェストを編集します。pkgmogrify を使用してパッケージマニフェストを変更する方法の詳細は、Chapter 6, プログラムによるパッケージマニフェストの変更を参照してください。

次の pkgmogrify 入力ファイルを作成して、マニフェストに加えられる変更を指定します。このファイルを mypkg.mog という名前にします。この例では、アーキテクチャーの定義にマクロが使用され、マニフェストから /opt ディレクトリを削除するのに正規表現の照合が使用されます。

set name=pkg.fmri value=mypkg@1.0,5.11-0
set name=pkg.summary value="This is an example package"
set name=pkg.description value="This is a full description of \
all the interesting attributes of this example package."
set name=variant.arch value=$(ARCH)
set name=info.classification \
    value=org.opensolaris.category.2008:Applications/Accessories
link path=usr/share/man/index.d/mysoftware target=/opt/mysoftware/man
<transform dir path=opt$->drop>

mypkg.mog の変更とともに mypkg.p5m.1 マニフェストで pkgmogrify を実行します。

$ pkgmogrify -DARCH=`uname -p` mypkg.p5m.1 mypkg.mog | pkgfmt > mypkg.p5m.2

出力用の mypkg.p5m.2 ファイルには次の内容が含まれています。path=optdir アクションが削除され、mypkg.mog からのメタデータとリンクの内容が元の内容 mypkg.p5m.1 に追加されました。

set name=pkg.fmri value=mypkg@1.0,5.11-0
set name=pkg.summary value="This is an example package"
set name=pkg.description \
    value="This is a full description of all the interesting attributes of this 
example package."
set name=info.classification \
    value=org.opensolaris.category.2008:Applications/Accessories
set name=variant.arch value=i386
dir  path=opt/mysoftware owner=root group=bin mode=0755
dir  path=opt/mysoftware/bin owner=root group=bin mode=0755
file opt/mysoftware/bin/mycmd path=opt/mysoftware/bin/mycmd owner=root \
    group=bin mode=0644
dir  path=opt/mysoftware/lib owner=root group=bin mode=0755
file opt/mysoftware/lib/mylib.so.1 path=opt/mysoftware/lib/mylib.so.1 \
    owner=root group=bin mode=0644
dir  path=opt/mysoftware/man owner=root group=bin mode=0755
dir  path=opt/mysoftware/man/man1 owner=root group=bin mode=0755
file opt/mysoftware/man/man1/mycmd.1 path=opt/mysoftware/man/man1/mycmd.1 \
    owner=root group=bin mode=0644
link path=usr/share/man/index.d/mysoftware target=/opt/mysoftware/man