2011-03-01 60 views
2

我正在创建一个依赖于另一个的包。包1的版本号是8.5.2-xxxxxxxxxxxx。我试图让包2依赖于8.5.2并忽略修订号。它必须完全取决于8.5.2,但任何8.5.2版本都可以。我读过的所有东西似乎都表明,我只能指定版本,但不包含控制文件中Depends和其他设置的版本号,但这不起作用。它总是说:Debian控制文件依赖问题

dpkg:依赖关系问题阻止配置[product2]: [product2]取决于[product1](= 8.5.2);但是: 系统上[product1]的版本是8.5.2-xxxxxxxxxxxx。

这里我决定在控制文件

取决于行:[产品1](= 8.5.2)

任何人都知道这是可能的吗?

回答

4

您可以结合多个取决于单个包进行更严格的匹配。

Depends: [product1] (>= 8.5.2), [product1] (<< 8.5.3) 

这是一个相当脏的解决方案,但我相信像8.5.3〜beta1这样的版本号仍然会被接受。在这种情况下,更肮脏的解决方案是使用(<< 8.5.3~~)

+0

这个例子中“〜”字符的含义是什么? – user640071 2011-03-02 14:44:04

+2

在Debian中比较软件包版本号的方式由'dpkg'处理。在'dpkg'中,**〜**字符被赋予一个低于** nul **的值,其他所有字符都被赋值。例如,这是'dpkg'所看到的顺序:0.5,0.9,1.0〜rc1,1.0〜rc2,1.0,1.0.1 – Arrowmaster 2011-03-02 17:31:22