Bug#593252: debian/rules clean corrupts debian/patches
Anders Kaseorg
andersk at MIT.EDU
Mon Aug 16 17:28:26 UTC 2010
Package: llvm-2.7
Version: 2.7-3
The ‘diffstats’ target in debian/rules.d/control.mk contains some code
that tries to modify every patch to include a diffstat header.
Unfortunately, this code corrupts patches in two ways:
• It deletes DEP-3 headers <http://dep.debian.net/deps/dep3/> and any
other form of explanatory text at the beginning of a patch.
• It breaks patches that delete files.
http://www.gnu.org/software/diffutils/manual/html_mono/diff.html#Creating%20and%20Removing
“… if you supply an old or new file that is named /dev/null or is empty
and is dated the Epoch (1970-01-01 00:00:00 UTC), … patch normally creates
a new file or removes the old file.”
But,
--- a/test/CodeGen/Generic/stack-protector.ll 2009-09-08 20:09:15.000000000 -0400
+++ b/test/CodeGen/Generic/stack-protector.ll 1969-12-31 19:00:00.000000000 -0500
is modified to
--- a/test/CodeGen/Generic/stack-protector.ll
+++ b/test/CodeGen/Generic/stack-protector.ll
which now creates an empty file because the Epoch date is gone, and
--- a/test/CodeGen/Generic/stack-protector.ll
+++ /dev/null
is modified to
--- a//dev/null
+++ b//dev/null
which doesn’t work at all.
This could interfere with NMUs and Ubuntu patches (see
https://bugs.launchpad.net/ubuntu/+source/llvm-2.7/+bug/610992 for an
example). Please change the ‘diffstats’ target to no longer run by
default on clean.
More information about the Pkg-llvm-team
mailing list