上一节:, 上一级:管理发布版本   [目录][索引]


7.3 制作发布版本

您应该使用一对版本号(主版本号和次版本号)来标识每个发布版本。我们不反对使用两个以上的数字,但您实际上不太可能需要它们。

Foo 版本 69.96 的发行包打包到一个名为 foo-69.96.tar.gz 的 gzip 压缩 tar 文件中。 它应该解压到一个名为 foo-69.96 的子目录中。

构建和安装程序绝不应该修改发行包中包含的任何文件。这意味着以任何方式构成程序一部分的所有文件都必须分为源文件非源文件。源文件由人工编写,永远不会自动更改;非源文件是由 Makefile 控制下的程序从源文件生成的。

发行包应包含一个名为 README 的文件,其中包含软件包的总体概述

当然,所有源文件都必须在发行包中。可以包括与生成它们的源文件一起的非源文件,前提是它们与它们生成的源文件保持最新,并且与机器无关,这样正常构建发行包永远不会修改它们。我们通常包括由 Autoconf、Automake、Bison、flex、TeX 和 makeinfo 生成的非源文件;这有助于避免我们的发行版之间不必要的依赖关系,以便用户可以安装他们喜欢的任何软件包的任何版本。不要轻易引入对其他软件的新依赖关系。

可能会通过构建和安装程序实际修改的非源文件绝不应该包含在发行包中。因此,如果您确实分发非源文件,请始终确保在制作新发行版时它们是最新的。

确保发行包中的所有文件都是世界可读的,并且目录是世界可读和世界可搜索的(八进制模式 755)。我们曾经建议发行包中的所有目录也都是世界可写的(八进制模式 777),因为旧版本的 tar 在以非特权用户身份解压存档时无法处理。但这很容易导致在创建存档时出现安全问题,因此现在我们不建议这样做。

不要在发行包本身中包含任何符号链接。如果 tar 文件包含符号链接,那么人们甚至无法在不支持符号链接的系统上解压它。此外,不要在不同的目录中对一个文件使用多个名称,因为某些文件系统无法处理此问题,这会阻止解压发行包。

尽量确保所有文件名在 MS-DOS 上都是唯一的。MS-DOS 上的名称最多包含 8 个字符,可以选择后跟一个句点和最多三个字符。MS-DOS 将截断句点前后多余的字符。因此,foobarhacker.cfoobarhacker.o 不是模棱两可的;它们被截断为 foobarha.cfoobarha.o,这是不同的。

在您的发行包中包含您用于测试打印任何 *.texinfo*.texi 文件的 texinfo.tex 副本。

同样,如果您的程序使用小型 GNU 软件包(如 regex、getopt、obstack 或 termcap),请将其包含在发行文件中。省略它们会使发行文件小一些,但代价是可能会给不知道要获取哪些其他文件的用户带来不便。


上一节:, 上一级:管理发布版本   [目录][索引]