Debian 包构建工具与 pbuilder 使用指南
在 Debian 系统中构建软件包是一项常见的任务,传统上使用debian/rules文件(通常是 Perl 或 make 脚本)来完成。不过,还有其他一些替代的构建工具,如cdbs和yada,它们各自有独特的优势。同时,pbuilder作为一个个人构建系统,能帮助我们在干净的环境中构建软件包,还能用于测试和探索 Debian 系统。
1. 共享库依赖管理
1.1 版本化依赖选择
在维护库包时,需要对库的 API 和 ABI 有深入理解,并跟踪不同版本间的变化。例如,如果libcurl 7.12.1只是修复了7.12版本的一些文档问题,那么应该使用对7.12的版本化依赖。dh_makeshlibs提供了-V选项,让维护者可以完全控制依赖版本。
1.2 覆盖 shlibs 记录
每个包含共享库的软件包在安装时都需要提供合适的shlibs文件。如果提供的shlibs文件不能正确反映软件包的 ABI 需求,就需要在本地覆盖其他软件包的shlibs数据。
本地系统管理员可以在/etc/dpkg/shlibs.override中指定