retitle 706923 dh_auto_install: Not supplying params when testing for make 
install target
thanks

On Monday 06 May 2013 10:15:34 you wrote:
> Package: debhelper
> Version: 9.20130504
> Severity: normal
> 
> Just got two mails [1,2] from buildd about problems creating a subdirectory
> of a directory which should have been created during the normal installation
> procedure before this step.
> 
> The build system is just a makefile based system. So I would expect that
> dh_auto_install just calls `make install` like on every other system (as
> example i386 [3]):
> 
>    debian/rules override_dh_auto_install
> make[2]: Entering directory
> `/build/buildd-exactimage_0.8.8-1-i386-BcBtXV/exactimage-0.8.8'
> dh_auto_install -- X_SYSTEM=Linux Q= WITHPYTHON=0
> make[3]: Entering directory
> `/build/buildd-exactimage_0.8.8-1-i386-BcBtXV/exactimage-0.8.8'
> 
> Instead on kfreebsd-* it completely jumps over the `make install` part and
> continues with the `mkdir debian/tmp/usr/lib/php5` (which of course has to
> fail).
> 
> I don't have a kfreebsd box right here at the moment. So maybe some quick
> input from the debhelper maintainers might be helpful to isolate the problem
> (maybe it is just a limitation that I've missed).

I've did a quick check of Debhelper/Buildsystem/makefile.pm and noticed the 
function exists_make_target. The important pert here is the call to make. The 
arguments from the rules file aren't given to the make call and therefore the 
correct "Linux" install target isn't created in the exactimage 
Makefile-buildsystem.

sub exists_make_target {
        my ($this, $target) = @_;

        # 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 @opts=("-s", "-n", "--no-print-directory");
        my $buildpath = $this->get_buildpath();
        unshift @opts, "-C", $buildpath if $buildpath ne ".";
        open(SAVEDERR, ">&STDERR");
        open(STDERR, ">/dev/null");
        open(MAKE, "-|", $this->{makecmd}, @opts, $target);
        my $output=<MAKE>;
        chomp $output;
        close MAKE;
        open(STDERR, ">&SAVEDERR");
        return defined $output && length $output;
}

Judging from the comments, it looks like this bug will be a wontfix. Any
objections?

Kind regards,
        Sven

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to