4

我正在尝试向 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

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

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

谁能帮我理解我做了什么冒犯了debuild

4

1 回答 1

1

您不应该在/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.
于 2015-04-14T18:53:04.697 回答