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