我想构建一些软件的版本,该版本比当前作为稳定版本 Debian 软件包可用的版本更新。
但是,要做到这一点,除了使用更新版本的源代码之外,我想尽可能地遵循在稳定版本中为该软件构建 Debian 软件包的构建过程。
至少,我想在构建期间为相关环境变量指定相同的配置标志和相同的值,就像为本软件的稳定版本 Debian 软件包所做的那样。
问:如何找到特定(稳定版本)Debian 软件包的构建过程?
我想构建一些软件的版本,该版本比当前作为稳定版本 Debian 软件包可用的版本更新。
但是,要做到这一点,除了使用更新版本的源代码之外,我想尽可能地遵循在稳定版本中为该软件构建 Debian 软件包的构建过程。
至少,我想在构建期间为相关环境变量指定相同的配置标志和相同的值,就像为本软件的稳定版本 Debian 软件包所做的那样。
问:如何找到特定(稳定版本)Debian 软件包的构建过程?
Debian 软件包的构建过程由其源软件包描述。如果你有 Debian 系统,你可以使用
如果您
sources.list
包含适当的deb-src
条目。如果您的存储库中引用了多个版本,则可以指定您在stable
发布之后:(假设您
stable
的存储库中有)。您可能会发现您感兴趣的较新版本已经打包在testing
或unstable
中,在这种情况下,使用它可以节省您一些时间 — 请参阅如何安装比 Debian 提供的更新版本的软件?在这种情况下的说明。在源代码包中,要查看的主要文件是
debian/control
和debian/rules
. 例如,hello
包的control
文件指定它以debhelper
兼容级别 9 构建(请参阅man debhelper
详细信息),它的rules
文件指定它使用默认dh
设置进行构建(包括默认dpkg
构建标志,请参阅 参考资料dpkg-buildflags
)。如果您的源包指定了如何更新它,您可能只需要运行
更新源包,切换到相应目录,为新版本添加更新日志条目
(酌情替换
1.2.3
),然后构建包。
以这种方式更新软件包时的主要问题是可能需要更新任何补丁。如果
debian/patches/series
存在且不为空,则需要依次检查每个补丁,运行quilt push
; 详情见man quilt
。