2012-08-16 47 views
3

我有一个Debian软件包(我们称之为foo),我分为两部分(foofoo-icons)。之前的软件包有三个发布版本(比如1.5,2.3和3.1)。所有三个版本都将分拆出新的软件包。我如何确保新软件包与旧版本的正确版本冲突?是否可以为Debian软件包中的冲突指定一系列版本?

我的问题是双重的:

  1. 如何与各种版本的冲突。即

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

    从逻辑上讲,我要的是:

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

有任何这类可能的?如果没有,我有什么替代方案?我是否需要重新命名我的原始包裹(foofoo1或某些)?

+0

相关meta问题:http://meta.stackexchange.com/q/183051/165502 – Flimzy 2013-06-05 04:16:43

回答

2

1.如何与一系列

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

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

我不认为你能做到这一点,但你为什么不增加分裂foo包(如3.2),并与Confictfoo (<< 3.2)的版本?

此外,从Debian Policy Manual

一个Conflicts条目可能有一个“早”版本条款,如果该冲突的原因,在一个程序包的更高版本进行修正。但是,通常情况下,“早于”版本子句的出现是应该使用Breaks代替的符号。 Conflicts中的“早于”版本子句可防止dpkg升级或安装声明此类冲突的包,直至完成冲突包的升级或删除为止,这是一个强有力的限制。

+0

这个答案不正确。来自“冲突”字段的条件将单独应用。用你写的东西,这个软件包会和'foo'的所有*版本冲突(大于2.0,小于2.3)。 – josch 2017-01-13 04:20:18

相关问题