一般に、システムにインストールされた一連のパッケージのサポートやアップグレードはまとめて行われるのが望ましいことです (セット内のパッケージがすべて更新されるか、セット内のパッケージがどれも更新されないかのどちらか)。これが incorporate 依存関係を使用する理由です。
Oracle Solaris 11.2 ソフトウェアの追加と更新 のカスタム Incorporation のインストールに、インストール可能な pkg:/entire incorporation のバージョンを制約するためのカスタム incorporation の作成例を示します。このセクションの以降の部分では、結合についての一般的な説明を示します。
次の 3 つの部分的なパッケージマニフェストは、foo および bar パッケージと myincorp 結合パッケージの関係を示しています。
次に、foo パッケージマニフェストからの抜粋を示します。
set name=pkg.fmri value=foo@1.0 dir path=foo owner=root group=bin mode=0755 depend fmri=myincorp type=require
次に、bar パッケージマニフェストからの抜粋を示します。
set name=pkg.fmri value=bar@1.0 dir path=bar owner=root group=bin mode=0755 depend fmri=myincorp type=require
次に、myincorp パッケージマニフェストからの抜粋を示します。
set name=pkg.fmri value=myincorp@1.0 depend fmri=foo@1.0 type=incorporate depend fmri=bar@1.0 type=incorporate
foo および bar パッケージの両方に、myincorp 結合への require 依存関係が含まれています。myincorp パッケージには、次の方法で foo および bar パッケージを制約する incorporate 依存関係が含まれています。
foo および bar パッケージは、最大でもバージョン 1.0 (依存関係に指定されたバージョン番号で定義された精度レベル) にしかアップグレードできません。
foo および bar パッケージをインストールする場合、それらはバージョン 1.0 以上である必要があります。
バージョン 1.0 への incorporate 依存関係では、バージョン 1.0.1 や 1.0.2.1 などは許可されますが、バージョン 1.1、2.0、0.9 などは許可されません。incorporate 依存関係を上位バージョンで指定する、更新済みの結合パッケージがインストールされると、foo および bar パッケージはその上位バージョンに更新することを許可されます。
foo と bar の両方に myincorp パッケージに対する require 依存関係があるため、foo または bar のいずれかがインストールされる場合、または foo と bar の両方がインストールされる場合には、結合パッケージがインストールされます。