From 9afe080c5ee27e6e9170d09c9dc5c72cccbdc27e Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 3 Jan 2010 14:51:05 -0500 Subject: [PATCH] makefile: Support the (asking for trouble) case of MAKE being set to something with a space in it. Closes: #563557 --- Debian/Debhelper/Buildsystem/makefile.pm | 23 ++++++++++------------- debian/changelog | 2 ++ 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/Debian/Debhelper/Buildsystem/makefile.pm b/Debian/Debhelper/Buildsystem/makefile.pm index 4781429..2c14c15 100644 --- a/Debian/Debhelper/Buildsystem/makefile.pm +++ b/Debian/Debhelper/Buildsystem/makefile.pm @@ -10,24 +10,21 @@ use strict; use Debian::Debhelper::Dh_Lib qw(escape_shell clean_jobserver_makeflags); use base 'Debian::Debhelper::Buildsystem'; -sub get_makecmd_C { - my $this=shift; - my $buildpath = $this->get_buildpath(); - if ($buildpath ne '.') { - return $this->{makecmd} . " -C " . escape_shell($buildpath); - } - return $this->{makecmd}; -} - sub exists_make_target { my ($this, $target) = @_; - my $makecmd=$this->get_makecmd_C(); # Use make -n to check to see if the target would do # anything. There's no good way to test if a target exists. - my $ret=`$makecmd -s -n --no-print-directory $target 2>/dev/null | head -n 1`; - chomp $ret; - return length($ret); + my @opts=("-s", "-n", "--no-print-directory"); + my $buildpath = $this->get_buildpath(); + unshift @opts, "-C", $buildpath if $buildpath ne "."; + open(SAVEDERR, ">&STDERR"); + close STDERR; + open(MAKE, "-|", $this->{makecmd}, @opts, $target); + my $output=; + close MAKE; + open(STDERR, ">&SAVEDERR"); + return defined $output && length $output; } sub do_make { diff --git a/debian/changelog b/debian/changelog index 0f60a0d..bb8563c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,8 @@ debhelper (7.4.12) UNRELEASED; urgency=low * dh_bugfiles: Doc typo. Closes: #563269 + * makefile: Support the (asking for trouble) case of MAKE being set to + something with a space in it. Closes: #563557 -- Joey Hess Fri, 01 Jan 2010 13:00:22 -0500 -- 2.39.2