问题描述
我的应用程序 ROXTerm 依赖于 vte-2.91 >= 0.52,但它对 vte 0.64 中的新功能执行运行时检查,该功能可用于通过为触摸输入启用动态滚动来增强 UX设备,否则只能通过启用已弃用的 xorg 驱动程序(在 Wayland 中不可用)才能使用。
对 vte-2.91 >= 0.52 的严格依赖由 Build-Depends 管理。将 Suggests: vte-2.91 >= 0.64
添加到二进制包中是否合适?
解决方法
不,这没有意义。
>=0.64
是 >=0.52
依赖的严格超集(这适用于数学比较和依赖解析)。
您已有的依赖项说:“使用更新于(或等于)0.52 的任何 vte-2.91
版本”。
vte2.19_0.52
、vte2.19_0.63.9
和 vte2.19_0.77
(以及其他)可以满足这种依赖性。
现在,依赖项解析器 (apt
) 将选择可以满足其依赖项的最新版本(并且不会被 apt-pinning 否决)。
如果您的发行版附带 vte2.19_0.77
,它会自动选择那个,但如果它只附带 vte2.19_0.52-9
,它会选择那个。
简而言之:如果发行版缺少 vte-2.91 >= 0.64
,它无法安装该版本,如果它带有 vte-2.91 >= 0.64
,它仍然会选择该版本。
添加版本化的 Suggests
不会对此做出任何改变。