Filippo Giunchedi wrote:
> is there any progress/fix on this bug? I just encountered it while packaging
> libbluetooth1 2.25-2 and it is really annoying :(

I've painted myself into a corner here. It would be possible to fix
dh_builddeb to exclude the same files that DH_ALWAYS_EXCLUDE excludes
other debhelper commands from acting on (patch below). However, this
would mean that anyone who runs debhelper with
DH_ALWAYS_EXCLUDE=CVS:.svn, which many people do, would suddenly find
that dh_builddeb starts deleting files named for example "CVSfoo" or
"foo.svnbar" or the like, which currently it does not delete. That would
be a behavior change.

I'd be willing to make that behavior change if it just affected users
setting DH_ALWAYS_EXCLUDE in their build environment. People can change
their build environments. But the debhelper man page also suggests using
the same setting in debian/rules for packages that contain CVS
directories in the upstream source, etc. Changing the behavior for those
packages could potentially result in unexpected files being dropped out
of packages when they are rebuilt, which would be bad.

I've checked and files with names matching "*CVS*" and "*.svn*" do
legitimatly exist in Debian packages. And of course, it's also possible
that people are using DH_ALWAYS_EXCLUDE to exclude other stuff in rules
files (although I hope not).

It seems the only way I could get away with changing the dh_buildeb
DH_ALWAYS_EXCLUDE behavior would be to change the behavior in a new
debhelper compatability level. I've scheduled this change for v6, but I
don't know when I will start on v6.

> diliger: which bug you filed against cdbs? I couldn't find any regarding this
> specific bug

I don't see any bugs in how cdbs uses DH_ALWAYS_EXCLUDE, although I
don't really understand why it wants to rename it to
DEB_DH_ALWAYS_EXCLUDE.

-- 
see shy jo



Index: dh_builddeb
===================================================================
--- dh_builddeb (revision 1920)
+++ dh_builddeb (working copy)
@@ -60,8 +60,7 @@
 foreach my $package (@{$dh{DOPACKAGES}}) {
        my $tmp=tmpdir($package);
        if (exists $ENV{DH_ALWAYS_EXCLUDE} && length $ENV{DH_ALWAYS_EXCLUDE}) {
-               complex_doit("find $tmp -name $_ | xargs rm -rf")
-                       foreach split(":", $ENV{DH_ALWAYS_EXCLUDE});
+               complex_doit("find $tmp $dh{EXCLUDE} | xargs rm -rf")
        }
        if (! is_udeb($package)) {
                doit("dpkg-deb", @{$dh{U_PARAMS}}, "--build", $tmp, 
$dh{DESTDIR}.$dh{FILENAME});

Attachment: signature.asc
Description: Digital signature

Reply via email to