我想构建一些软件的版本,该版本比当前作为稳定版本 Debian 软件包提供的版本更新。
然而,为了做到这一点,除了使用更新版本的源代码之外,我还想尽可能严格地遵循用于在稳定版本中构建该软件的 Debian 软件包的构建过程。
至少,我想在构建过程中为相关环境变量指定相同的配置标志和相同的值,就像对该软件的稳定版本 Debian 软件包所做的那样。
问:如何找到特定(稳定版本)Debian 软件包的构建过程?
答案1
Debian 软件包的构建过程由其源软件包描述。如果您有 Debian 系统,可以使用以下命令下载
apt source ${package}
如果您sources.list
包含适当的deb-src
条目。如果您的存储库中引用了多个版本,您可以指定您在该stable
版本之后:
apt source ${package}/stable
(假设您stable
的存储库中有)。您可能会发现您感兴趣的较新版本已经打包在testing
或中unstable
,在这种情况下,使用它会节省您一些时间 - 请参阅如何安装比 Debian 提供的软件更新版本的软件?获取有关这种情况的说明。
源码包中,主要看的文件是debian/control
和debian/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
详情请参阅。