为什么有些软件包的版本字符串前面有一个冒号,所以前面有多余的数字?


29

我刚刚注意到,Wine(和许多其他软件包)已将其版本控制方案更改为:

1:1.6.2-0ubuntu3

我了解…… 之后的一切1:。但是1:指的是什么呢?

它似乎没有反映主要版本。查看待升级的列表,有类似的版本:2:4.1.3...并且有很多没有#:前缀的软件包。

这是怎么回事?


它似乎是特定于Ubuntu的,packages.debian.org
sid /

它也是Ubuntu中的Wine(从14.04版本开始)的新功能,但其他软件包python3-uno在Ubuntu Debian中)则始终具有前缀。
奥利(Oli)

确实,我已经找到了超级用户的答案
Sylvain Pineau

@Oli 对于酒来说并不是新事物,它一直存在,但是由于它的值0一直到14.04,所以一直被省略,以将其写入版本字符串中。因此,您完全可以考虑那些实际上没有#:包含前缀的软件包0:。查看您收到的答案以更好地理解。
RaduRădeanu2014年

Answers:


26

来自man deb-version

NAME
       deb-version - Debian package version number format

SYNOPSIS
       [epoch:]upstream-version[-debian-revision]

DESCRIPTION
       Version  numbers as used for Debian binary and source packages
       consist of three components. These are:

       epoch  This is a single (generally  small)  unsigned  integer.
              It  may  be omitted, in which case zero is assumed.  If
              it is omitted then the upstream-version may not contain
              any colons.

              It is provided to allow mistakes in the version numbers
              of older versions of a package, and  also  a  package's
              previous version numbering schemes, to be left behind.

因此,这个额外的数字(在您的情况下1)指的是时代分量,在这种情况下,假定为0。因此,如果看到的版本字符串看起来像,1.6.2-0ubuntu3您可以认为实际上它看起来像0:1.6.2-0ubuntu3。这有什么用处以及它是如何实现的:提供该功能是为了保留包的旧版本的版本号以及包的先前版本编号方案中的错误。为了更好地理解,请仔细阅读Debian Policy Manual中的以下解释性段落-控制文件及其字段

当比较两个版本号,首先历元的每一个进行比较,然后将upstream_version如果历元是相等的,然后 debian_revision如果upstream_version也是相等的。对时代进行数字比较。

和:

请注意,纪元的目的是让我们在版本编号中留下错误,并应对版本编号方案更改的情况。它打算处理包含软件包管理系统无法解释的字母字符串的版本号(例如ALPHApre-),愚蠢的命令。


14

这是时代。在确定两个软件包中哪个较新时,它将覆盖版本:

deb-version手册页:

   epoch  This is a single (generally small) unsigned integer.  It may  be
          omitted,  in  which case zero is assumed.  If it is omitted then
          the upstream-version may not contain any colons.

          It is provided to allow mistakes in the version numbers of older
          versions  of  a  package,  and also a package's previous version
          numbering schemes, to be left behind.

资源

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.