我想反向移植依赖于Y的包X,所以两个包都需要反向移植。首先,我向后移植 Y,所以它变成了类似Ya.b~ubuntu123的东西。当我现在尝试向后移植 X 时,它抱怨由于奇怪的版本比较算法而缺少依赖项 Ya.b ,这使得Ya.b~ubuntu123 < Ya.b有效:
(来自 debian.org)
首先,确定完全由非数字字符组成的每个字符串的初始部分。这两个部分(其中一个可能为空)在词法上进行比较。如果发现差异,则返回。词法比较是对修改后的 ASCII 值的比较,以便所有字母排在所有非字母之前,并且波浪号排在任何内容之前,甚至是部分的结尾。例如,以下部分按从早到晚排序:~~、~~a、~、空部分、a。
是的; backported-to 版本必须低于 backported-from 版本才能使升级正常工作。标准解决方案是在依赖项中添加尾随
~
,使其类似于Y (>= a.b~)
而不是Y (>= a.b)
. 您会在 Debian 和 Ubuntu 中的很多软件包中发现它们关心支持反向移植。