2012-08-16 71 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