Hi James (and thanks for X-Debbugs-Ccing me), On Tue, Feb 16, 2016 at 01:29:09AM +0000, James Cowgill wrote: > It seems the -X option of dh_install is either broken or its > behaviour has changed recently. With newer versions of debhelper > codelite fails to build with this error: > > > debian/rules override_dh_install > > make[1]: Entering directory '/«BUILDDIR»/codelite-9.1+dfsg' > > dh_install -Xcodelite-lldb -XLLDBDebugger.so > > dh_install: codelite-plugins missing files: usr/bin/codelite-lldb > > dh_install: codelite-plugins missing files: usr/lib/codelite/LLDBDebugger.so > > dh_install: missing files, aborting > > debian/rules:40: recipe for target 'override_dh_install' failed > > make[1]: *** [override_dh_install] Error 2
It is broken for a (in my opinion) quite rare case: when you list a file in an install file *and* tell dh_install to exclude it. A patch to fix this bug is attached. -- Dmitry Shachnev
From cc89fa572415d7b5db2c1b0580b18c05b43f82aa Mon Sep 17 00:00:00 2001 From: Dmitry Shachnev <mity...@gmail.com> Date: Tue, 16 Feb 2016 10:20:03 +0300 Subject: [PATCH] dh_install: Ignore lines where all globs have been --exclude'd. Closes: #814856. --- debian/changelog | 5 +++++ dh_install | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/debian/changelog b/debian/changelog index 1b98f4a..1c047aa 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,14 @@ debhelper (9.20160116) UNRELEASED; urgency=medium + [ Niels Thykier ] * Remove dh_suidregister and related autoscripts. No package (that can be built in unstable) invokes this tool. * dh: Do not create stamp files when running with --no-act. + [ Dmitry Shachnev ] + * dh_install: Ignore lines in install files where all globs have been + --exclude'd. (Closes: #814856) + -- Niels Thykier <ni...@thykier.net> Sat, 16 Jan 2016 13:23:00 +0000 debhelper (9.20160115) unstable; urgency=medium diff --git a/dh_install b/dh_install index 9288e86..9c75fea 100755 --- a/dh_install +++ b/dh_install @@ -173,7 +173,10 @@ foreach my $package (getpackages()) { } my @filelist; + my $non_excluded_globs = 0; foreach my $glob (@$set) { + next if excludefile($glob); + ++$non_excluded_globs; my @found = glob "$srcdir/$glob"; if (! compat(6)) { # Fall back to looking in debian/tmp. @@ -187,6 +190,9 @@ foreach my $package (getpackages()) { } } + # If all globs were excluded, do nothing. + next unless $non_excluded_globs; + if (! compat(4)) { # check added in v5 if (! @filelist && ! $skip_install) { warning("$package missing files: @$set"); -- 2.7.0
signature.asc
Description: PGP signature