在 Oracle® Solaris 11.2 中使用映像包管理系统打包和交付软件

退出打印视图

更新时间: 2014 年 7 月
 
 

放宽对可安装的软件包版本的约束

在某些情况下,您可能希望放宽 incorporation 约束。

bar 或许可以独立于 foo 运行,但您希望将 foo 保留在由 incorporation 中的 incorporate 相关项定义的版本系列中。

您可以使用侧面来放宽 incorporation 约束,以允许管理员有效地禁用某些 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

缺省情况下,此 incorporation 包括了对 bar 软件包的 depend 操作,将 bar 约束到版本 1.0。以下命令可放宽该约束:

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

成功执行此命令后,bar 软件包将免受 incorporation 约束并且在需要时可以升级到版本 2.0。