【问题标题】:Problem with debian control file dependenciesdebian控制文件依赖问题
【发布时间】:2011-03-01 20:35:11
【问题描述】:

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

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

这是我在控制文件中的依赖行

取决于:[product1] (=8.5.2)

有人知道这是否可行吗?

【问题讨论】:

    标签: linux ubuntu dependencies debian packaging


    【解决方案1】:

    您可以组合多个依赖于单个包以进行更严格的匹配。

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

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

    【讨论】:

    • 本例中的“~”字符是什么意思?
    • 在 Debian 中比较软件包版本号的方式由 dpkg 处理。在dpkg 中,~ 字符被赋予了一个低于 nul 的值,由其他所有字符流过。例如dpkg 看到的顺序:0.5, 0.9, 1.0~rc1, 1.0~rc2, 1.0, 1.0.1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    • 2016-09-29
    • 2017-06-14
    • 2021-02-09
    相关资源
    最近更新 更多