为什么 Debian 软件包文件名与源目录中的标点符号不同?

为什么 Debian 软件包文件名与源目录中的标点符号不同?

在 Debian 归档文件中,软件包名称和版本字符串通常用下划线分隔,例如foo-bar_1.2.3.tar.gz。另一方面,存档中的顶级目录有一个连字符而不是下划线,例如foo-bar-1.2.3。这是什么原因?这个约定在哪里描述?

答案1

这对于构成 Debian 源代码包的 和其他文件的名称.tar.gz统一非常有帮助,因为它们最终以固定的结构安装在镜像站点上。这里,使用下划线是为了消除歧义:包名称和版本中都允许使用连字符,因此如果连字符也用作分隔符,那么就不清楚哪个是哪个。命名(非规范地)在Debian 政策手册附录,尽管该附录中有关哪些文件构成源包一部分的一些详细信息已过时,并且dpkg 源(1)那里有更好的参考。

我不记得曾经看到过为什么dpkg-source将源包解压到<package>-<upstream_version>而不是到的明确原因,尽管我最好的猜测是这只是因为这是上游维护者分发的 tarball 在编写<package>_<upstream_version>时如何解压的通常约定(dpkg-source并且在很大程度上仍然如此),所以这让事情看起来最不令人惊讶。

相关内容