我有一个Debian软件包(我们称之为foo
),我将其拆分为两部分(foo
和foo-icons
)。之前的软件包有三个已发布的版本(比如1.5,2.3和3.1)。拆分的新软件包在所有三个版本中都是通用的。如何确保新包与旧版本的正确版本冲突?
我的问题有两方面:
如何与各种版本冲突。即。
Conflicts: foo (>= 2.0 & <= 2.3)
如何与新foo-icons
包的多个(范围)版本发生冲突?
逻辑上,我想要的是:
Conflicts: foo (<= 1.5) & foo (>= 2.0 & <= 2.3) & foo (>= 3.0 & <= 3.1)
这有可能吗?如果没有,我有什么替代品?我是否需要将原始包裹foo
重命名为foo1
或某些人?)
答案 0 :(得分:2)
<强> 1。我如何与一系列版本冲突
Conflicts: foo (>= 2.0), foo (<= 2.3)
<强> 2。如何与新foo-icons
包的多个(范围)版本冲突?
我认为你不能这样做,但为什么不用foo
增加分割Confict
包(例如3.2)和foo (<< 3.2)
的版本?< / p>
此外,来自Debian Policy Manual:
如果在其中一个软件包的更高版本中更正了冲突的原因,则Conflicts
条目可能具有“早于”版本子句。但是,通常存在“早于”版本的子句是Breaks
应该使用的标志。 Conflicts
中的“早于”版本子句阻止dpkg升级或安装声明此类冲突的程序包,直到冲突程序包的升级或删除完成为止,这是一个强大的限制。