[debhelper-devel] [debhelper] 01/01: fix autoconf/cross regression from #836988

Niels Thykier nthykier at moszumanska.debian.org
Mon Oct 3 18:50:32 UTC 2016


This is an automated email from the git hooks/post-receive script.

nthykier pushed a commit to branch master
in repository debhelper.

commit a767ed7ea95053c49e1806fd3ddfc19f05a8a488
Author: Helmut Grohne <helmut at subdivi.de>
Date:   Mon Oct 3 19:09:58 2016 +0200

    fix autoconf/cross regression from #836988
    
    When adding the makefile buildsystem cross variables, the intention was
    that it would not affect non-makefile buildsystems (in particular no
    downstream buildsystems). However, the decision which buildsystem to use
    is done on a per-target basis. Thus a typical autoconf package will use
    the autoconf buildsystem for configure and test, but fall back to the
    makefile buildsystem for clean and build. Thus the cross variables were
    added for autoconf build as well, which broke the cross build of icu.
    
    The solution chosen here is to have autoconf take over build and clean
    from makefile as well by inheriting its methods. Thus the semantics stay
    unchanged with the exception of not adding the cross variables for
    build.
    
    All other children of the makefile buildsystem (including mkcmake)
    already take over all targets, so this issue really only affects
    autoconf.
    
    Fixes: 7ea67c9aace4 ("makefile.pm: Set CC+CXX to the host compilers when
           cross-building")
    Signed-off-by: Helmut Grohne <helmut at subdivi.de>
    Signed-off-by: Niels Thykier <niels at thykier.net>
---
 Debian/Debhelper/Buildsystem/autoconf.pm | 14 +++++---------
 debian/changelog                         |  5 +++++
 2 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/Debian/Debhelper/Buildsystem/autoconf.pm b/Debian/Debhelper/Buildsystem/autoconf.pm
index 8604152..ec3a9f7 100644
--- a/Debian/Debhelper/Buildsystem/autoconf.pm
+++ b/Debian/Debhelper/Buildsystem/autoconf.pm
@@ -19,15 +19,11 @@ sub check_auto_buildable {
 	my $this=shift;
 	my ($step)=@_;
 
-	# Handle configure; the rest - next class (compat with 7.0.x code path)
-	if ($step eq "configure") {
-		return 1 if -x $this->get_sourcepath("configure");
-	}
-	if ($step eq "test") {
-		return 1 if (-e $this->get_buildpath("Makefile") &&
-			     -x $this->get_sourcepath("configure"));
-	}
-	return 0;
+	return 0 unless -x $this->get_sourcepath("configure");
+
+	# Handle configure explicitly; inherit the rest
+	return 1 if $step eq "configure";
+	return $this->SUPER::check_auto_buildable(@_);
 }
 
 sub configure {
diff --git a/debian/changelog b/debian/changelog
index 7630d7c..10028cd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,11 @@ debhelper (10.2.2) UNRELEASED; urgency=medium
   * dh_compress,dh_fixperms: Remove references to long
     obsolete directories such as usr/info, usr/man and
     usr/X11*/man.
+  * autoreconf.pm: Apply patch from Helmut Grohne to fix
+    autoconf/cross regression from #836988.  The autoreconf
+    build-system is now also used directly for "clean" and
+    "build" (while still usin the "make" build-system for the
+    heavy lifting).  (Closes: #839681)
 
  -- Niels Thykier <niels at thykier.net>  Sun, 02 Oct 2016 09:52:08 +0000
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debhelper/debhelper.git




More information about the debhelper-devel mailing list