[Build-common-hackers] Bug#265562: New patch (and problem with cdbs'ed packages not updating libtool)

Robert Millan Robert Millan <rmh@debian.org>, 265562@bugs.debian.org
Thu, 26 Aug 2004 17:14:57 +0200


--M9NhX3UHpAaciwkO
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline


I'm attaching a new patch.  In addition to the previous, this one does:

  - Print warnings when _LIBTOOL is used without _ACLOCAL, and when _ACLOCAL
    is used without _AUTOCONF.  Such combinations are quite evil, since the
    maintainer thinks the package is updating libtool but in practice, it
    isn't.  However, I suggest to keep them as warnings untill Sarge is
    released, unless the RM team (CCed) is concerned with a number of packages
    silently not updating libtool.

  - Add DEB_AUTO_UPDATE_AUTOHEADER.

  - Move "DEB_AUTO_UPDATE_LIBTOOL = post" case to autotools.mk, where it
    belongs (right after running ./configure).

-- 
 .''`.   Proudly running Debian GNU/kFreeBSD unstable/unreleased (on UFS2+S)
: :' :
`. `'    http://www.debian.org/ports/freebsd/gnu-libc-based
  `-

--M9NhX3UHpAaciwkO
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="cdbs.diff"

diff -ur cdbs-0.4.22.old/1/class/autotools-files.mk.in cdbs-0.4.22/1/class/autotools-files.mk.in
--- cdbs-0.4.22.old/1/class/autotools-files.mk.in	2004-02-15 07:13:30.000000000 +0100
+++ cdbs-0.4.22/1/class/autotools-files.mk.in	2004-08-26 17:04:17.000000000 +0200
@@ -27,18 +27,42 @@
 
 include $(_cdbs_class_path)/autotools-vars.mk$(_cdbs_makefile_suffix)
 
+# Compatibility blurb, will be eventualy removed
+ifneq ($(DEB_AUTO_UPDATE_AUTOMAKE), )
+ifeq ($(DEB_AUTO_UPDATE_ACLOCAL), )
+$(warning DEB_AUTO_UPDATE_AUTOMAKE will eventualy stop impliing DEB_AUTO_UPDATE_ACLOCAL.  If you meant aclocal.m4 to be re-generated, please use DEB_AUTO_UPDATE_ACLOCAL)
+DEB_AUTO_UPDATE_ACLOCAL = $(DEB_AUTO_UPDATE_AUTOMAKE)
+endif
+endif
+
+# Some update rules are useless on their own
+ifeq ($(DEB_AUTO_UPDATE_LIBTOOL), pre)
+ifeq ($(DEB_AUTO_UPDATE_ACLOCAL), )
+warning DEB_AUTO_UPDATE_LIBTOOL requires DEB_AUTO_UPDATE_ACLOCAL
+sleep 10
+endif
+endif
+ifneq ($(DEB_AUTO_UPDATE_ACLOCAL), )
+ifeq ($(DEB_AUTO_UPDATE_AUTOCONF), )
+warning DEB_AUTO_UPDATE_ACLOCAL requires DEB_AUTO_UPDATE_AUTOCONF
+sleep 10
+endif
+endif
+
 common-configure-arch common-configure-indep:: debian/stamp-autotools-files
 debian/stamp-autotools-files:
 	if test "$(DEB_AUTO_UPDATE_LIBTOOL)" = "pre" ; then \
 		cd $(DEB_SRCDIR) && libtoolize -c -f ; \
 	fi
-	if test -n "$(DEB_AUTO_UPDATE_AUTOMAKE)" ; then \
+	if test -n "$(DEB_AUTO_UPDATE_ACLOCAL)" ; then \
 		if test -d $(DEB_SRCDIR)/m4 ; then m4="-I m4" ; fi ; \
 		if test -e $(DEB_SRCDIR)/aclocal.m4 ; then cd $(DEB_SRCDIR) && aclocal-$(DEB_AUTO_UPDATE_AUTOMAKE) $(m4) ; fi ; \
 	fi
 	if test -n "$(DEB_AUTO_UPDATE_AUTOCONF)" ; then \
-		if test "$(DEB_AUTO_UPDATE_AUTOCONF)" = "2.50" ; then ac_suffix="" ; else ac_suffix="$(DEB_AUTO_UPDATE_AUTOCONF)" ; fi ; \
-		if test -e $(DEB_SRCDIR)/configure.ac || test -e $(DEB_SRCDIR)/configure.in ; then cd $(DEB_SRCDIR) && autoconf$(ac_suffix) ; fi \
+		if test -e $(DEB_SRCDIR)/configure.ac || test -e $(DEB_SRCDIR)/configure.in ; then cd $(DEB_SRCDIR) && `which autoconf$(DEB_AUTO_UPDATE_AUTOCONF) || which autoconf` ; fi ; \
+	fi
+	if test -n "$(DEB_AUTO_UPDATE_AUTOHEADER)" ; then \
+		if test -e $(DEB_SRCDIR)/configure.ac || test -e $(DEB_SRCDIR)/configure.in ; then cd $(DEB_SRCDIR) && `which autoheader$(DEB_AUTO_UPDATE_AUTOHEADER) || which autoheader` ; fi ; \
 	fi
 	if test -n "$(DEB_AUTO_UPDATE_AUTOMAKE)" ; then \
 		if test -e $(DEB_SRCDIR)/Makefile.am ; then cd $(DEB_SRCDIR) && automake-$(DEB_AUTO_UPDATE_AUTOMAKE) ; fi ; \
@@ -51,9 +75,6 @@
 	   mv "$(DEB_AC_AUX_DIR)/config.guess" "$(DEB_AC_AUX_DIR)/config.guess.cdbs-orig"; \
 	   cp -f /usr/share/misc/config.guess "$(DEB_AC_AUX_DIR)/config.guess"; \
 	fi
-	if test "$(DEB_AUTO_UPDATE_LIBTOOL)" = "post" ; then \
-		if test -e $(DEB_SRCDIR)/libtool ; then cp -f /usr/bin/libtool $(DEB_SRCDIR)/libtool ; fi ; \
-	fi
 	touch debian/stamp-autotools-files
 
 clean::
diff -ur cdbs-0.4.22.old/1/class/autotools.mk.in cdbs-0.4.22/1/class/autotools.mk.in
--- cdbs-0.4.22.old/1/class/autotools.mk.in	2004-02-15 07:13:30.000000000 +0100
+++ cdbs-0.4.22/1/class/autotools.mk.in	2004-08-26 16:53:41.000000000 +0200
@@ -36,6 +36,9 @@
 $(DEB_BUILDDIR)/config.status:
 	chmod a+x $(DEB_CONFIGURE_SCRIPT)
 	$(DEB_CONFIGURE_INVOKE) $(cdbs_configure_flags) $(DEB_CONFIGURE_EXTRA_FLAGS) $(DEB_CONFIGURE_USER_FLAGS)
+	if test "$(DEB_AUTO_UPDATE_LIBTOOL)" = "post" ; then \
+		if test -e $(DEB_BUILDDIR)/libtool ; then cp -f /usr/bin/libtool $(DEB_BUILDDIR)/libtool ; fi ; \
+	fi
 
 clean::
 	if test -f $(DEB_BUILDDIR)/config.status && grep -i -q 'Generated.*by configure.' $(DEB_BUILDDIR)/config.status; then rm -f $(DEB_BUILDDIR)/config.status; fi

--M9NhX3UHpAaciwkO--