SVR4 パッケージの変換時に発生するエラーの一般的な原因は、SVR4 パッケージで配布されたディレクトリと IPS パッケージによって配布された同じディレクトリの間の属性の不一致です。
この例の SVR4 パッケージでは、サンプルマニフェスト内の /opt に対するディレクトリアクションには、システムパッケージによってこのディレクトリ用に定義されている属性とは異なる属性が含まれています。
ディレクトリアクションセクションでは、すべての参照カウントアクションには同じ属性が含まれている必要があると明確に記述されていました。これまで生成してきた mypkg のバージョンをインストールしようとすると、次のエラーが発生します。
$ pkg install mypkg
Creating Plan /
pkg install: The requested change to the system attempts to install multiple actions
for dir 'opt' with conflicting attributes:
1 package delivers 'dir group=bin mode=0755 owner=root path=opt':
pkg://mypublisher/mypkg@1.0,5.11-0:20111017T020042Z
3 packages deliver 'dir group=sys mode=0755 owner=root path=opt':
pkg://solaris/developer/build/onbld@0.5.11,5.11-0.175.0.0.0.1.0:20111012T010101Z
pkg://solaris/system/core-os@0.5.11,5.11-0.175.0.0.0.1.0:20111012T023456Z
These packages may not be installed together. Any non-conflicting set may
be, or the packages must be corrected before they can be installed.インストール時ではなく、パッケージの発行前にエラーを見つけるには、次の例に示すように、pkglint(1) コマンドを参照リポジトリとともに使用します。
$ pkglint -c ./cache -r file:///scratch/solaris-repo ./mypkg.mf.res Lint engine setup... PHASE ITEMS 4 4292/4292 Starting lint run... ERROR pkglint.dupaction007 path opt is reference-counted but has different attributes across 5 duplicates: group: bin -> mypkg group: sys -> developer/build/onbld system/core-os system/ldoms/ldomsmanager
異なるパッケージに異なる属性が含まれている path opt に関するエラーメッセージに注意してください。
pkglint によって報告される追加の ldomsmanager パッケージは参照パッケージリポジトリ内にありますが、テストシステムにはインストールされません。ldomsmanager パッケージはインストールされないため、前に pkg install によって報告されたエラーには記載されていません。