如何获取 Debian 软件包的构建过程?

如何获取 Debian 软件包的构建过程?

我想构建一些软件的版本,该版本比当前作为稳定版本 Debian 软件包提供的版本更新。

然而,为了做到这一点,除了使用更新版本的源代码之外,我还想尽可能严格地遵循用于在稳定版本中构建该软件的 Debian 软件包的构建过程。

至少,我想在构建过程中为相关环境变量指定相同的配置标志和相同的值,就像对该软件的稳定版本 Debian 软件包所做的那样。

问:如何找到特定(稳定版本)Debian 软件包的构建过程?

答案1

Debian 软件包的构建过程由其源软件包描述。如果您有 Debian 系统,可以使用以下命令下载

apt source ${package}

如果您sources.list包含适当的deb-src条目。如果您的存储库中引用了多个版本,您可以指定您在该stable版本之后:

apt source ${package}/stable

(假设您stable的存储库中有)。您可能会发现您感兴趣的较新版本已经打​​包在testing或中unstable,在这种情况下,使用它会节省您一些时间 - 请参阅如何安装比 Debian 提供的软件更新版本的软件?获取有关这种情况的说明。

源码包中,主要看的文件是debian/controldebian/rules。例如,hello包的control文件指定它以debhelper兼容级别 9 构建(请参阅man debhelper详细信息)及其rules文件指定它使用默认dh设置来构建(包括默认dpkg构建标志,请参阅 参考资料dpkg-buildflags)。

如果您的源包指定了如何更新它,您可能只需要运行

uscan

要更新源码包,请切换到相应的目录,添加新版本的changelog条目

dch -v 1.2.3-0.1 "New upstream release."

1.2.3适当替换),然后

dpkg-buildpackage -us -uc

构建包。

以这种方式更新软件包时的主要问题是可能需要更新任何补丁。如果debian/patches/series存在且不为空,则需要通过运行quilt push;依次检查每个补丁。man quilt详情请参阅。

相关内容