在quilt / dquilt补丁中添加文件:补丁正确应用,但会破坏debuild

时间:2015-04-14 18:30:57

标签: linux ubuntu debian quilt

我正在尝试在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的所作所为吗?

1 个答案:

答案 0 :(得分:0)

您不应在/debian/个文件上添加quilt补丁。这些补丁仅用于代码。只需更改debian/rules.d/70-debug-symbols.mk文件并构建包。

Debian/Ubuntu policy说:

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