对 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 命令所使用,在本地部署环境下正常工作。
![]() |
小心 |
---|---|
这里的 debmake 命令只提供一些不错的模板文件。如果生成的软件包需要发布出去供公众使用的话,这些模板文件必须手工调整至最佳状态以遵从 Debian 仓库的严格质量标准。 |
如果你在 Debian 打包方面还是个新手的话,此时不要过多在意细节问题,请先确立一个大致流程的印象。
如果你曾经接触过 Debian 打包工作,你会注意到这和 dh_make 命令很像。这是因为 debmake 命令设计时便旨在替代历史上由 dh_make 命令所提供的功能。
debmake 命令设计提供如下特性与功能:
现代的打包风格
灵活性
合理的默认行为
额外的功能
debmake 命令将大多数重量级工作分派给了其后端软件包:debhelper、dpkg-dev、devscripts、pbuilder,等等。
![]() |
提示 |
---|---|
请确保将 -b、-f、-l 和 -w 选项的参数使用引号合适地保护起来,以避免 shell 环境的干扰。 |
![]() |
提示 |
---|---|
非本土软件包是标准的 Debian 软件包。 |
![]() |
提示 |
---|---|
The detailed log of all the package build examples in this document can be obtained by following the instruction in 第 8.14 节 “Details”. |
![]() |
注意 |
---|---|
所产生的 debian/copyright 文件,以及 -c(第 6.3 节 “debmake -cc”)和 -k(第 6.4 节 “debmake -k”)选项的输出都涉及了对版权和授权信息的启发式操作。它们具有局限性,可能会输出某些错误的结果。 |