2

我有一个 Debian 软件包(我们称之为foo),我将它分成两部分(foofoo-icons)。以前的软件包有三个发布版本(比如 1.5、2.3 和 3.1)。拆分出来的新包将在所有三个版本中通用。如何确保新包与旧包的正确版本冲突?

我的问题有两个:

  1. 我如何与一系列版本发生冲突。IE

    Conflicts: foo (>= 2.0 & <= 2.3)
    
  2. 如何与新foo-icons包的多个(范围)版本发生冲突?

    从逻辑上讲,我想要的是:

    Conflicts: foo (<= 1.5) & foo (>= 2.0 & <= 2.3) & foo (>= 3.0 & <= 3.1)
    

这有可能吗?如果没有,我有什么选择?我是否需要重命名我的原始包(footofoo1或 somesuch)?

4

1 回答 1

2

1. 如何与一系列版本发生冲突

Conflicts: foo (>= 2.0), foo (<= 2.3)

2. 如何与新foo-icons包的多个(范围)版本发生冲突?

我不认为你可以做到这一点,但你为什么不增加拆分foo包的版本(例如 3.2)和Confictwith foo (<< 3.2)

此外,来自Debian 政策手册

如果Conflicts在其中一个包的更高版本中更正了冲突原因,则条目可能具有“早于”版本子句。但是,通常“早于”版本子句的存在是Breaks应该使用的标志。中的“早于”版本子句Conflicts阻止 dpkg 升级或安装声明此类冲突的软件包,直到升级或删除冲突软件包完成,这是一个严格的限制。

于 2012-08-18T19:45:55.340 回答