我有一个 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
或类似名称)?
最佳答案
<强>1。如何与一系列版本发生冲突
Conflicts: foo (>= 2.0), foo (<= 2.3)
<强>2。如何与新 foo-icons
的多个(范围)版本发生冲突包?
我认为你做不到,但是你为什么不增加分割foo
的版本呢?包(例如3.2)和Confict
与 foo (<< 3.2)
?
此外,来自Debian Policy Manual :
A Conflicts
如果冲突原因在其中一个包的较新版本中得到纠正,则条目可能具有“早于”版本子句。然而,通常“早于”版本条款的存在表明 Breaks
应该被用来代替。 Conflicts
中的“早于”版本条款阻止 dpkg 升级或安装声明此类冲突的软件包,直到冲突软件包的升级或删除完成为止,这是一个严格的限制。
关于dependencies - 是否可以为 Debian 软件包中的冲突指定一系列版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11995748/