9.1.4. 开始构建
当所有需要的更改都应用到源后,您可以开始生成实际的二进制包或 deb文件。 文件。 整个过程由 dpkg-构建包 命令,它看起来像这样:
$ dpkg-buildpackage-us-uc-b
dpkg-buildpackage:源代码包 libfreefare dpkg-buildpackage:源版本 0.4.0-2buxy1 dpkg-buildpackage:源代码分发未发布
dpkg-buildpackage:由 Raphael Hertzog 更改的源[电子邮件保护]> dpkg-buildpackage:主机架构 amd64
[...]
dh_builddeb
dpkg-deb:在“../libfreefare0-dbgsym_0-0.4.0buxy2_amd1.deb”中构建包“libfreefare64-dbgsym”。 dpkg-deb:在“../libfreefare0_0-0.4.0buxy2_amd1.deb”中构建包“libfreefare64”。
dpkg-deb:在“../libfreefare-dev_0.4.0-2buxy1_amd64.deb”中构建包“libfreefare-dev”。
dpkg-deb:在“../libfreefare-bin-dbgsym_0.4.0-2buxy1_amd64.deb”中构建包“libfreefare-bin-dbgsym”。
$ dpkg-buildpackage-us-uc-b
dpkg-buildpackage:源代码包 libfreefare dpkg-buildpackage:源版本 0.4.0-2buxy1 dpkg-buildpackage:源代码分发未发布
dpkg-buildpackage:由 Raphael Hertzog 更改的源[电子邮件保护]> dpkg-buildpackage:主机架构 amd64
[...]
dh_builddeb
dpkg-deb:在“../libfreefare0-dbgsym_0-0.4.0buxy2_amd1.deb”中构建包“libfreefare64-dbgsym”。 dpkg-deb:在“../libfreefare0_0-0.4.0buxy2_amd1.deb”中构建包“libfreefare64”。
dpkg-deb:在“../libfreefare-dev_0.4.0-2buxy1_amd64.deb”中构建包“libfreefare-dev”。
dpkg-deb:在“../libfreefare-bin-dbgsym_0.4.0-2buxy1_amd64.deb”中构建包“libfreefare-bin-dbgsym”。
dpkg-deb:在“../libfreefare-bin_0.4.0-2buxy1_amd64.deb”中构建包“libfreefare-bin”。 dpkg-deb:在“../libfreefare-doc_0.4.0-2buxy1_all.deb”中构建包“libfreefare-doc”。
dpkg-genchanges -b >../libfreefare_0.4.0-2buxy1_amd64.changes dpkg-genchanges:仅二进制上传(不包含源代码)
dpkg-source --after-build libfreefare-0.4.0
dpkg-buildpackage:仅二进制上传(不包括源代码)
dpkg-deb:在“../libfreefare-bin_0.4.0-2buxy1_amd64.deb”中构建包“libfreefare-bin”。 dpkg-deb:在“../libfreefare-doc_0.4.0-2buxy1_all.deb”中构建包“libfreefare-doc”。
dpkg-genchanges -b >../libfreefare_0.4.0-2buxy1_amd64.changes dpkg-genchanges:仅二进制上传(不包含源代码)
dpkg-source --after-build libfreefare-0.4.0
dpkg-buildpackage:仅二进制上传(不包括源代码)
这个 -我们-uc 选项禁用某些生成文件的签名(.dsc, 。变化) 因为如果您没有与您放入的身份相关联的 GnuPG 密钥,则此操作将失败 更新日志 文件。 的 -b 选项要求“仅二进制构建”。 在这种情况下,源包 (.dsc) 不会被创建,只会创建二进制文件 (deb文件。) 包会。 使用此选项可以避免在源包构建过程中出现故障:如果您没有在补丁管理系统中正确记录您的更改,它可能会抱怨并中断构建过程。
如建议 dpkg-deb的消息,生成的二进制包现在可以在父目录(托管源包的目录的目录)中使用。 你可以安装它们 dpkg-i or 安装.
$ sudo apt install ../libfreefare0_0.4.0-2buxy1_amd64.deb \
../libfreefare-bin_0.4.0-2buxy1_amd64.deb
正在阅读包列表...完成构建依赖树
阅读国家信息......完成
注意,选择“libfreefare0”而不是“../libfreefare0_0.4.0-2buxy1_amd64.deb”
注意,选择 'libfreefare-bin' 而不是 '../libfreefare-bin_0.4.0-2buxy1_amd64.deb' 将升级以下软件包:
libfreefare-bin libfreefare0
2 升级,0 新安装,0 删除,0 未升级。 需要获得 0 B/69,4 kB 的档案。
此操作后,将使用 2 048 B 的额外磁盘空间。 [...]
$ sudo apt install ../libfreefare0_0.4.0-2buxy1_amd64.deb \
../libfreefare-bin_0.4.0-2buxy1_amd64.deb
正在阅读包列表...完成构建依赖树
阅读国家信息......完成
注意,选择“libfreefare0”而不是“../libfreefare0_0.4.0-2buxy1_amd64.deb”
注意,选择 'libfreefare-bin' 而不是 '../libfreefare-bin_0.4.0-2buxy1_amd64.deb' 将升级以下软件包:
libfreefare-bin libfreefare0
2 升级,0 新安装,0 删除,0 未升级。 需要获得 0 B/69,4 kB 的档案。
此操作后,将使用 2 048 B 的额外磁盘空间。 [...]
我们喜欢 安装 超过 dpkg-i 因为它将优雅地处理丢失的依赖项。 但不久前,你不得不使用 的dpkg as 根据 无法处理 deb文件。 任何存储库之外的文件。
dpkg-构建包 通常,Debian 开发人员使用更高级别的程序,例如 解构; 包装 这运行 dpkg-构建包 像往常一样,但它也添加了一个程序调用(临田) 运行许多检查以根据 去
扁政策3. 此脚本还清理环境,使本地环境
变量不会污染包构建。 这 解构 命令是工具中的一种 文字 套件,它们共享一些一致性和配置,使维护者的任务更容易。
dpkg-构建包 通常,Debian 开发人员使用更高级别的程序,例如 解构; 包装 这运行 dpkg-构建包 像往常一样,但它也添加了一个程序调用(临田) 运行许多检查以根据 去
扁政策3. 此脚本还清理环境,使本地环境
变量不会污染包构建。 这 解构 命令是工具中的一种 文字 套件,它们共享一些一致性和配置,使维护者的任务更容易。
3https://www.debian.org/doc/debian-policy/