dependencies - 是否可以为 Debian 软件包中的冲突指定一系列版本?

标签 dependencies version debian conflict

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

我的问题有两个:

  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 或类似名称)?

最佳答案

<强>1。如何与一系列版本发生冲突

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

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

我认为你做不到,但是你为什么不增加分割foo的版本呢?包(例如3.2)和Confictfoo (<< 3.2)

此外,来自Debian Policy Manual :

A Conflicts如果冲突原因在其中一个包的较新版本中得到纠正,则条目可能具有“早于”版本子句。然而,通常“早于”版本条款的存在表明 Breaks应该被用来代替。 Conflicts 中的“早于”版本条款阻止 dpkg 升级或安装声明此类冲突的软件包,直到冲突软件包的升级或删除完成为止,这是一个严格的限制。

关于dependencies - 是否可以为 Debian 软件包中的冲突指定一系列版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11995748/

相关文章:

java - 如果我有 Maven 的依赖关系信息,如何确定要包含在源代码导入语句中的完全限定名称? [Java]

linux - 如何摆脱 'GLIBCXX_3.4.9 not found error' ?

c# - 使用 BinaryFormatter 序列化的对象导致对象版本更改的原因是什么?

linux - 如何在 Linux 上的某个时间运行脚本?

java - Debian 上策略文件的位置

maven-2 - 如何告诉M2Eclipse将jar文件安装为Maven依赖项

java - 排除maven中的嵌套传递依赖

PHP代码版本依赖

c# - 在 .NET 中编译与版本无关的 DLL

调用 open(2) 会忽略 S_IWGRP 和 S_IWOTH 标志