如何创建和维护 Debian 软件包补丁?

如何创建和维护 Debian 软件包补丁?

我想修补 Trac 包。我知道如何修补和重建包,但有些事情我不太了解。

我的补丁很危险,不太可能提交给社区。所以,我只能说,这是一个非常私密的补丁。但是,我希望我的补丁在 Ubuntu 软件包升级时继续工作。(apt-get source trac每次升级时我是否应该将我的补丁移动到新版本的源目录Trac?)

我看到 中有一个patch/目录(quilt我想很多人都在使用)debian/,但我不知道如何使用它?会debuild自动应用目录中的所有补丁吗patch/?那呢dpkg-buildpackage?是否有一些环境变量来控制要应用的补丁的选择?

答案1

阅读软件包补丁部分包装指南,为了更好地理解它是如何工作的,您应该阅读整个指南。

答案2

尽管这是一个老问题,但它仍然是现实。因此我想添加一些最新信息。另一个答案直截了当地链接到手册,而指出确切的必要信息会很有帮助。

手册中提到相关部分是

8.4. 升级到新的上游版本

要升级到新版本,可以使用bzr merge-upstream命令

但这是 Ubuntu 特有的。

或者也可以使用apt-src手动的说:

-p,--补丁

升级时尝试将本地更改修补到新的源代码树中。

默认情况下,使用--no-p禁用。配置项:

APT::Src::补丁。

为了使其正常工作,您需要安装apt-src,例如sudo apt-get install apt-src

另一种可能性是使用quilt。摘自“5.26.patches/*”段落Debian 新维护者指南如下:

当任何人(包括您自己)稍后向源代码提供补丁 foo.patch 时,修改 3.0(quilt)源包非常简单:

$ dpkg-source -x gentoo_0.9.12.dsc

$ cd gentoo-0.9.12

$ dquilt 导入../foo.patch

$ dquilt push

$ dquilt 刷新

$ dquilt 标头-e

... 描述补丁

相关内容