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

Kev*_*ley 5 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

补丁看起来不错:

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

但是,当我尝试使用 重建包时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
Run Code Online (Sandbox Code Playgroud)

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

一种想法是:quilt为 Debian 控制文件的更改添加补丁是不正确的吗?

谁能帮助我理解我做了什么冒犯的事情debuild?

Bre*_*tão 2

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

Debian /Ubuntu 政策规定:

The program quilt offers a basic method for recording modifications to the *upstream source* for Debian packaging.
Run Code Online (Sandbox Code Playgroud)

  • “你应该在`/debian/files`上添加被子补丁”。我认为那里缺少一个“不”。 (2认同)