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