パッケージでは次のメタデータを定義するようにします。これらの値とその設定方法の詳細は、設定アクションを参照してください。
パッケージの名前とバージョン (パッケージ名および パッケージバージョン を参照)。パッケージを発行するに示すように、パッケージが発行されるとパブリッシャー名が自動的に追加されます。Oracle Solaris でのバージョン管理については、Oracle Solaris パッケージのバージョン管理を参照してください。
パッケージの内容の説明
その説明の 1 行の概要。
このパッケージに適した各アーキテクチャー。パッケージ全体をどのアーキテクチャーでもインストールできる場合は、variant.arch を省略できます。さまざまなアーキテクチャーのさまざまなコンポーネントを含むパッケージの作成については、Chapter 5, バリエーションの許可に説明されています。
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=opt の dir アクションが削除され、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