kjo*_*kjo 5 debian dpkg package-management configure pkg-config
我想构建一些软件的版本,该版本比当前作为稳定版本 Debian 软件包提供的版本更新。
然而,为了做到这一点,除了使用更新版本的源代码之外,我还想尽可能严格地遵循用于在稳定版本中为此软件构建 Debian 软件包的构建过程。
至少,我想在构建过程中为相关环境变量指定相同的配置标志和相同的值,就像对该软件的稳定版本 Debian 软件包所做的那样。
问:如何找到特定(稳定版本)Debian 软件包的构建过程?
Debian 软件包的构建过程由其源软件包描述。如果您有 Debian 系统,可以使用以下命令下载
\napt source ${package}\nRun Code Online (Sandbox Code Playgroud)\n如果您sources.list包含适当的deb-src条目。如果您的存储库中引用了多个版本,则可以在版本之后指定您\xe2\x80\x99re stable:
apt source ${package}/stable\nRun Code Online (Sandbox Code Playgroud)\n(假设您stable的存储库中有)。您可能会发现您感兴趣的较新版本已经打包在testing或unstable中,在这种情况下,使用它可以节省您一些时间 \xe2\x80\x94 请参阅如何安装比 Debian 更新版本的软件提供?获取有关这种情况的说明。
源码包中,主要看的文件是debian/control和debian/rules。例如,hellopackage\xe2\x80\x98scontrol文件指定它使用debhelper兼容级别 9 进行构建(请参阅man debhelper详细信息),并且它的rules文件指定它使用默认dh设置进行构建(包括默认dpkg构建标志,请参阅 参考资料dpkg-buildflags)。
如果您的源包指定了如何更新它,您可能只需要运行
\nuscan\nRun Code Online (Sandbox Code Playgroud)\n要更新源码包,请切换到相应的目录,添加新版本的changelog条目
\ndch -v 1.2.3-0.1 "New upstream release."\nRun Code Online (Sandbox Code Playgroud)\n(1.2.3适当替换),然后
dpkg-buildpackage -us -uc\nRun Code Online (Sandbox Code Playgroud)\n构建包。
\n以这种方式更新软件包时的主要问题是可能需要更新任何补丁。如果debian/patches/series存在并且 \xe2\x80\x99t 为空,则 \xe2\x80\x99 需要依次检查每个补丁,方法是运行quilt push; man quilt详情请参阅。
| 归档时间: |
|
| 查看次数: |
339 次 |
| 最近记录: |