[Build-common-hackers] Bug#267254: New patch (DEB_AUTO_UPDATE_* stuff)

Robert Millan Robert Millan <rmh@debian.org>, 267254@bugs.debian.org
Fri, 27 Aug 2004 02:03:06 +0200


--WYTEVAkct0FjGQmd
Content-Type: multipart/mixed; boundary="BXVAT5kNtrzKuDFl"
Content-Disposition: inline


--BXVAT5kNtrzKuDFl
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable


Hi!

New patch update.  The attached fixes the following bugs (all them are rela=
ted
to the DEB_AUTO_UPDATE_* interface):

#267254: cdbs: DEB_AUTO_UPDATE_LIBTOOL is a broken by design. it cannot wor=
k.
#235961: [PATCH] DEB_AUTO_UPDATE_AUTOMAKE -I m4 feature doesn't work
#265562: Fixes for DEB_AUTO_UPDATE_* interface

In addition, it improves the config.{guess,sub} replacement code to crawl
into the source directory replacing every instance found.  This renders
DEB_AC_AUX_DIR variable unused, but since kde.mk.in still sets it I didn't
touch this.

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

--BXVAT5kNtrzKuDFl
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="cdbs.diff"
Content-Transfer-Encoding: quoted-printable

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.00000=
0000 +0100
+++ cdbs-0.4.22/1/class/autotools-files.mk.in	2004-08-27 01:53:12.000000000=
 +0200
@@ -27,42 +27,63 @@
=20
 include $(_cdbs_class_path)/autotools-vars.mk$(_cdbs_makefile_suffix)
=20
+# 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_U=
PDATE_ACLOCAL.  If you meant aclocal.m4 to be re-generated, please use DEB_=
AUTO_UPDATE_ACLOCAL.)
+DEB_AUTO_UPDATE_ACLOCAL =3D $(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.)
+endif
+endif
+ifneq ($(DEB_AUTO_UPDATE_ACLOCAL), )
+ifeq ($(DEB_AUTO_UPDATE_AUTOCONF), )
+$(warning DEB_AUTO_UPDATE_ACLOCAL requires DEB_AUTO_UPDATE_AUTOCONF.)
+endif
+endif
+
 common-configure-arch common-configure-indep:: debian/stamp-autotools-files
 debian/stamp-autotools-files:
 	if test "$(DEB_AUTO_UPDATE_LIBTOOL)" =3D "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=3D"-I m4" ; fi ; \
-		if test -e $(DEB_SRCDIR)/aclocal.m4 ; then cd $(DEB_SRCDIR) && aclocal-$=
(DEB_AUTO_UPDATE_AUTOMAKE) $(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)" =3D "2.50" ; then ac_suffix=3D"" ;=
 else ac_suffix=3D"$(DEB_AUTO_UPDATE_AUTOCONF)" ; fi ; \
-		if test -e $(DEB_SRCDIR)/configure.ac || test -e $(DEB_SRCDIR)/configure=
=2Ein ; then cd $(DEB_SRCDIR) && autoconf$(ac_suffix) ; fi \
+		if test -e $(DEB_SRCDIR)/configure.ac || test -e $(DEB_SRCDIR)/configure=
=2Ein ; 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=
=2Ein ; then cd $(DEB_SRCDIR) && `which autoheader$(DEB_AUTO_UPDATE_AUTOHEA=
DER) || 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 ; \
 	fi
-	if [ -r "$(DEB_AC_AUX_DIR)/config.sub" -a ! -f "$(DEB_AC_AUX_DIR)/config.=
sub.cdbs-orig" -a -r /usr/share/misc/config.sub ] && ! cmp -s "$(DEB_AC_AUX=
_DIR)/config.sub" /usr/share/misc/config.sub; then \
-	   mv "$(DEB_AC_AUX_DIR)/config.sub" "$(DEB_AC_AUX_DIR)/config.sub.cdbs-o=
rig"; \
-	   cp -f /usr/share/misc/config.sub "$(DEB_AC_AUX_DIR)/config.sub"; \
-	fi
-	if [ -r "$(DEB_AC_AUX_DIR)/config.guess" -a ! -f "$(DEB_AC_AUX_DIR)/confi=
g.guess.cdbs-orig" -a -r /usr/share/misc/config.guess ] && ! cmp -s "$(DEB_=
AC_AUX_DIR)/config.guess" /usr/share/misc/config.guess; then \
-	   mv "$(DEB_AC_AUX_DIR)/config.guess" "$(DEB_AC_AUX_DIR)/config.guess.cd=
bs-orig"; \
-	   cp -f /usr/share/misc/config.guess "$(DEB_AC_AUX_DIR)/config.guess"; \
-	fi
-	if test "$(DEB_AUTO_UPDATE_LIBTOOL)" =3D "post" ; then \
-		if test -e $(DEB_SRCDIR)/libtool ; then cp -f /usr/bin/libtool $(DEB_SRC=
DIR)/libtool ; fi ; \
-	fi
+	for ext in guess sub ; do \
+		if test -e /usr/share/misc/config.$$ext ; then \
+			for i in `find $(DEB_SRCDIR) -type f -name config.$$ext` ; do \
+				mv $$i $$i.cdbs-orig ; \
+				ln -s /usr/share/misc/config.$$ext $$i ; \
+			done ; \
+		fi ; \
+	done
 	touch debian/stamp-autotools-files
=20
 clean::
-	if [ -r "$(DEB_AC_AUX_DIR)/config.sub.cdbs-orig" ]; then \
-	  mv "$(DEB_AC_AUX_DIR)/config.sub.cdbs-orig" "$(DEB_AC_AUX_DIR)/config.s=
ub"; \
-	fi
-	if [ -r "$(DEB_AC_AUX_DIR)/config.guess.cdbs-orig" ]; then \
-	  mv "$(DEB_AC_AUX_DIR)/config.guess.cdbs-orig" "$(DEB_AC_AUX_DIR)/config=
=2Eguess"; \
-	fi
+	for ext in guess sub ; do \
+		for i in `find $(DEB_SRCDIR) -type f -name config.$$ext` ; do \
+				if test -e $$i.cdbs-orig ; then \
+					rm -f $$i ; \
+					mv $$i.cdbs-orig $$i ; \
+				fi ; \
+		done ; \
+	done
 	if [ -f "$(DEB_BUILDDIR)/config.log" ] && grep -i 'generated.*by.*autocon=
f' "$(DEB_BUILDDIR)/config.log" 1>/dev/null; then \
 	  rm -f "$(DEB_BUILDDIR)/config.log"; \
 	fi
diff -ur cdbs-0.4.22.old/1/class/autotools.mk.in cdbs-0.4.22/1/class/autoto=
ols.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_FLA=
GS) $(DEB_CONFIGURE_USER_FLAGS)
+	if test "$(DEB_AUTO_UPDATE_LIBTOOL)" =3D "post" ; then \
+		if test -e $(DEB_BUILDDIR)/libtool ; then cp -f /usr/bin/libtool $(DEB_B=
UILDDIR)/libtool ; fi ; \
+	fi
=20
 clean::
 	if test -f $(DEB_BUILDDIR)/config.status && grep -i -q 'Generated.*by con=
figure.' $(DEB_BUILDDIR)/config.status; then rm -f $(DEB_BUILDDIR)/config.s=
tatus; fi

--BXVAT5kNtrzKuDFl--

--WYTEVAkct0FjGQmd
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/kFreeBSD)

iD8DBQFBLno6C19io6rUCv8RAsmlAJ4wGw9bFSh4G6eyetUhHOuMlRFlYgCfSYbU
vbOve/tcKiDk9Nh04RBJi+c=
=oR1W
-----END PGP SIGNATURE-----

--WYTEVAkct0FjGQmd--