在缝合线/内置补丁中添加文件:补丁可以手动正确应用,但会破坏debuild



我正在尝试为Debian包添加一个补丁(在运行Ubuntu 14.10"Trusty"的amd64机器上)。

在对该问题进行故障排除时,我已将补丁简化为添加单个文件的补丁。(为了上下文起见,此文件修改了fluxbox包,从而还创建了一个带有调试符号的fluxbox-dbg文件。)

我通过以下步骤创建了补丁:

  • (确保我已经应用了所有现有的补丁程序。)
  • quilt new add-dbg-package.patch
  • quilt add debian/rules.d/70-debug-symbols.mk
  • (用我想要的内容创建了那个文件。)
  • quilt refresh

补丁看起来不错:

  • 应用所有修补程序后,文件存在并且具有正确的内容
  • 该修补程序包含一个delta,它添加了文件的完整内容,而不包含其他内容
  • 没有其他修补程序引用该文件
  • 当我弹出新补丁时,文件将被删除;当我再次按下它时,它会被重新创建

但是,当我尝试用debuild重建包时,我得到的是:

The next patch would create the file debian/rules.d/70-debug-symbols.mk, which already exists!  Skipping patch.
1 out of 1 hunk ignored
dpkg-source: info: the patch has fuzz which is not allowed, or is malformed
dpkg-source: info: if patch 'add-dbg-package.patch' is correctly applied by quilt, use 'quilt refresh' to update it

如果我接受它的建议,quilt告诉我补丁是最新的(看起来是这样)。quilt diff告诉我没有变化。

有人认为:为Debian控制文件的更改添加quilt补丁是不正确的吗?

有人能帮我理解我做了什么冒犯了debuild吗?

您不应该在/debian/文件上添加缝合线补丁。修补程序仅用于代码。只需更改debian/rules.d/70-debug-symbols.mk文件并构建包。

Debian/Uubuntu政策说:

The program quilt offers a basic method for recording modifications to the *upstream source* for Debian packaging.

最新更新