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

印刷ビューの終了

更新: 2014 年 7 月
 
 

インストール可能なパッケージバージョンに対する制約の緩和

状況によっては、結合の制約を緩めた方がよい場合があります。

おそらく barfoo と関係なく機能できますが、foo を、結合の incorporate 依存関係によって定義された一連のバージョン内にとどめておく必要があります。

ファセットを使用すると結合の制約を緩めることができ、それによって管理者は特定の incorporate 依存関係を効果的に無効にできるようになります。ファセットについては、Chapter 5, バリエーションの許可に詳しく説明されています。簡単に言えば、ファセットとはパッケージ内のアクションに適用して、作成者がそれらのアクションをオプションとしてマーク付けできるようにする特別な属性です。

このようにアクションがファセット属性でマーク付けされると、pkg change-facet コマンドを使用して、それらのファセットを含むアクションを有効または無効にすることができます。

一般に、オプションで incorporate 依存関係をインストールするファセットには facet.version-lock.name という名前が付けられます。ここでは、name はその depend アクションを含むパッケージの名前です。

上記の例を使用すると、myincorp パッケージマニフェストには次の行を含めることができます。

set name=pkg.fmri value=myincorp@1.0
depend fmri=foo@1.0 type=incorporate
depend fmri=bar@1.0 type=incorporate facet.version-lock.bar=true

デフォルトでは、この結合には bar パッケージへの depend アクションが含まれており、bar をバージョン 1.0 に制約しています。この制約は、次のコマンドによって緩和されます。

$ pkg change-facet version-lock.bar=false

このコマンドの実行が成功したあとで、bar パッケージは結合の制約から解放され、必要に応じてバージョン 2.0 にアップグレードできます。