强制冲突的虚拟包裹

问题描述:

嘿!我有一个通用的包,需要一个配置文件和多个可以提供所述配置文件的包。强制冲突的虚拟包裹

因此,界定 “MYSERVER”,我有:

myserver.spec

要求:MYSERVER-配置


(在配置包) MYSERVER-一线config.spec

名称:myserver-first-config

要求:MYSERVER

提供:MYSERVER-配置


(另一个配置包)MYSERVER-第二config.spec

名称:MYSERVER-第二配置

需要:MYSERVER

提供:myserver-config


这很好,但我想确保只安装其中一个配置软件包。因此,如果我在安装myserver-first-config时尝试安装myserver-second-config,则会出现错误。

我可以在myserver- {first,second} -config.spec中使用“Conflicts:myserver-config”吗?包可以与自身冲突吗?我觉得有一个“适当”的方式来做到这一点...

谢谢!

你可能已经解决了这个你自己 - 在这种情况下,它很高兴在这里发表的答案,帮助任何任性的谷歌游客:)否则:

  • 作为RPM V5的,一个包可以不冲突与它本身,因为这将阻止包被安装。
  • 你所要求的是一个'替代'系统,其中多个软件包可以提供相同的文件。要实现这一点,请让每个包与其他替代方案冲突。

在MYSERVER先配置:
冲突:MYSERVER-第二配置

在MYSERVER-第二配置:
冲突:MYSERVER先配置

如果你要添加第三个配置,这将成为:

myserver-first-config:
冲突:myserver-second-config myserver-third-config

MYSERVER-第二配置:
冲突:MYSERVER先配置MYSERVER-第三配置

MYSERVER-第三配置:
冲突:MYSERVER先配置MYSERVER-第二配置

这句法是必要的,因为软件包可能部分冲突 - 这是更好的更明确一些冲突。如果你不经常添加新的配置文件,该解决方案完全可行。