对 package-1.0.tar.gz,一个包含了简单的、符合 “GNU 编码标准” 和 “FHS(文件系统层级规范)” 的 C 语言源代码的程序来说,它在 Debian 下打包工作可以按照下列流程,使用 debmake 命令进行。
$ tar -xvzf package-1.0.tar.gz $ cd package-1.0 $ debmake ... Make manual adjustments of generated configuration files $ debuild
如果跳过了对生成的配置文件的手工调整流程,则最终生成的二进制软件包将缺少有意义的软件包描述信息,但是仍然能为 dpkg 命令所使用,在本地部署环境下正常工作。
Caution | |
---|---|
The debmake command only provides decent template files. These template files must be manually adjusted to their perfection to comply with the strict quality requirements of the Debian archive, if the generated package is intended for general consumption. |
如果您在 Debian 打包方面还是个新手的话,此时不要过多在意细节问题,请先确立一个大致流程的印象。
If you have been exposed to Debian packaging, this looks vgry much like the dh_make command. This is because the debmake command is intended to replace functions offered historically by the dh_make command. [3]
debmake 命令设计提供如下特性与功能:
现代的打包风格
灵活性
合理的默认行为
额外的功能
The debmake command delegates most of the heavy lifting to its back-end packages: debhelper, dpkg-dev, devscripts, sbuild, schroot, etc.
Tip | |
---|---|
请确保将 -b、-f、-l 和 -w 选项的参数使用引号合适地保护起来,以避免 shell 环境的干扰。 |
Tip | |
---|---|
非原生软件包是标准的 Debian 软件包。 |
Tip | |
---|---|
本文档中所有软件包构建示例的详细日志可以由 “Section 13.14, “细节”” 一段给出的操作来获取。 |
Note | |
---|---|
The generation of the debian/copyright file, and the outputs from the -c (see “Section 15.3, “debmake -cc””) and -k (see “Section 15.6, “debmake -k””) options involve heuristic operations on the copyright and license information. They may produce some erroneous results. |
[3] 历史上还存在过 deb-make 命令,它在 dh_make 之前曾经流行过。当前的 debmake 软件包的版本从 4.0 起始,其目的便是避免和废弃的 debmake 软件包的版本产生重叠。旧有的对应软件包提供了 deb-make 命令。