如何修补debian软件包?

问题描述 投票:0回答:1

我用apt-get source获得了Debian软件包$ PKG-VERSION。我现在有一个文件夹$PKG-VERSION/,文件$PKG-VERSION.diff.gz$PKG-VERSION.dsc$PKG.orig.tar.gz。如果我正确理解,则在$PKG-VERSION.diff中归档的差异文件$PKG-VERSION.diff.gz表示.orig.tar.gz中的上游版本与debian版本之间的差异,并且该差异文件已应用于文件夹$PKG-VERSION/中的文件。但是然后我进入$PKG-VERSION/debian/patches/子文件夹。那里有一堆.diff.patch文件。当我查看.diff之一时,我发现尚未应用补丁。因此,然后我尝试运行quilt push -a应用补丁。它返回

“补丁...已被应用;请检查您的系列文件”

每个补丁。但是当我检查来源时显然不是。

同样在读取debian/README.source之后,建议在patch中运行目标debian/rules。但是我没有在patch:文件中看到任何rules并运行make patch给出

make: *** No rule to make target 'patch'.  Stop.

所以我不明白:即使未修补源文件,debian/patches/中的补丁是否应用于二进制文件$PKG-VERSION.deb中?以及如何修补来源?我可以编写一个bash脚本来循环并在patch上运行debian/patches/*.diff,但是可以肯定,这不是它应该工作的方式吗?

makefile build debian patch dpkg
1个回答
0
投票

debian / patches中的补丁会在构建过程中应用。因此二进制文件将基于补丁。

请参见https://wiki.debian.org/debian/patches

© www.soinside.com 2019 - 2024. All rights reserved.