我用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
,但是可以肯定,这不是它应该工作的方式吗?
debian / patches中的补丁会在构建过程中应用。因此二进制文件将基于补丁。