Debian pkg 的命名约定是什么(特别是版本部分)

Debian pkg 的命名约定是什么(特别是版本部分)

例如我有以下 deb:python3-numpy_1%3a1.11.0-1ubuntu1_amd64

它有一个名称(python3-numpy)、一个支持的处理器(amd64)和一组支持的发行版(ubuntu1?)

版本是多少?我以为它应该遵循 Major.Minor.Micro 约定,但这个 deb 里面有一些奇怪的东西……

答案1

最简单的解释是跟踪 numpy 从上游到 Debian 再到 Ubuntu 的版本。

让我们从上游版本numpy,版本 1.11.0

一名 Debian 志愿者为 Python3 打包了 numpy。但出于某种原因,上游代码需要调整或修补。可能是有 bug 需要修复,也可能是构建错误。稍作改动的源代码不再是原版 1.11.0。为了区分这两个版本,Debian 志愿者将新版本称为 1.11.0-1。Debian 的“-n”后缀很正常 - 他们不能使用“1.11.1”,因为 numpy 上游可能会使用该编号,而侵入上游的编号很快就会变得非常混乱。

这个较新的 Debian 版本被纳入了 Ubuntu 16.04 存储库。但同样,第一个版本没有工作,源代码需要调整。Ubuntu 开发人员将这个更新的版本称为 1.11.0-1ubuntu1。Ubuntu 不能将其称为 1.11.0-2,因为 Debian 可能会使用该编号。

一旦你习惯了如何阅读版本号,它就像一条线索,告诉你代码在哪里发生了变化。然后你就可以在正确的地方查找发生这种变化的原因。

相关内容