[Build-common-hackers] Bug#543916: cdbs: new DEB_ACLOCAL_ARGS causes FTBFS

Zak B. Elep zakame at zakame.net
Thu Aug 27 12:42:02 UTC 2009


Package: cdbs
Version: 0.4.60
Severity: important


New cdbs package today breaks builds where Autotools are regenerated via
DEB_AUTO_UPDATE_* and there is no DEB_ACLOCAL_ARGS declared in
debian/rules, and where the source packages do not have an `m4'
directory.  I stumbled across this while building my gtklp and opendchub
packages.

Failing build on opendchub-0.8.0-3, using DEB_AUTO_UPDATE_*:

[...]
/usr/bin/make -f debian/rules update-config
make[1]: Entering directory `/tmp/buildd/opendchub-0.8.0'
if test -e /usr/share/misc/config.guess ; then \
		for i in ./config.guess ; do \
			if ! test -e $i.cdbs-orig ; then \
				mv $i $i.cdbs-orig ; \
				cp --remove-destination /usr/share/misc/config.guess $i ; \
			fi ; \
		done ; \
	fi
if test -e /usr/share/misc/config.sub ; then \
		for i in ./config.sub ; do \
			if ! test -e $i.cdbs-orig ; then \
				mv $i $i.cdbs-orig ; \
				cp --remove-destination /usr/share/misc/config.sub $i ; \
			fi ; \
		done ; \
	fi
make[1]: Leaving directory `/tmp/buildd/opendchub-0.8.0'
if test -e /usr/share/misc/config.guess ; then \
		for i in ./config.guess ; do \
			if ! test -e $i.cdbs-orig ; then \
				mv $i $i.cdbs-orig ; \
				cp --remove-destination /usr/share/misc/config.guess $i ; \
			fi ; \
		done ; \
	fi
if test -e /usr/share/misc/config.sub ; then \
		for i in ./config.sub ; do \
			if ! test -e $i.cdbs-orig ; then \
				mv $i $i.cdbs-orig ; \
				cp --remove-destination /usr/share/misc/config.sub $i ; \
			fi ; \
		done ; \
	fi
/usr/share/cdbs/1/class/autotools-files.mk:49: *** insufficient number of arguments (1) to function `if'.  Stop.
dpkg-buildpackage: error: debian/rules build gave error exit status 2
E: Failed autobuilding of package
I: unmounting dev/pts filesystem
I: unmounting proc filesystem
 -> Cleaning COW directory
  forking: rm -rf /var/cache/pbuilder/build//cow.21844 


Successful build of gtklp-1.2.7-1, using own autogen.sh invoked at
makebuilddir target:

test -x debian/rules
mkdir -p "."
test -e debian/stamp-autogen-sh || (sh -x autogen.sh && touch	\
		debian/stamp-autogen-sh)
+ LANG=
+ LC_ALL=C
+ export LANG LC_ALL
+ echo Running autopoint...
Running autopoint...
+ autopoint --force
+ echo Running libtoolize...
Running libtoolize...
+ libtoolize --copy --force
libtoolize: putting auxiliary files in `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: putting macros in `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.in and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
+ echo Running aclocal...
Running aclocal...
+ aclocal -I m4
+ echo Running autoheader...
Running autoheader...
+ autoheader --force
+ echo Running autoconf...
Running autoconf...
+ autoconf --force
+ echo Running automake...
Running automake...
+ automake --add-missing --copy --include-deps --foreign --force-missing
configure.in:18: installing `./config.guess'
configure.in:18: installing `./config.sub'
configure.in:4: installing `./install-sh'
configure.in:4: installing `./missing'
gtklp/Makefile.am: installing `./depcomp'
+ echo DON'T EVER CHANGE gettext.h
DON'T EVER CHANGE gettext.h
+ echo Now run configure, make, make install.
Now run configure, make, make install.
if test -e /usr/share/gnulib/config/config.rpath ; then \
		for i in ./config.rpath ; do \
			if ! test -e $i.cdbs-orig ; then \
				mv $i $i.cdbs-orig ; \
				cp --remove-destination /usr/share/gnulib/config/config.rpath $i ; \
			fi ; \
		done ; \
	fi
touch debian/stamp-autotools-files
[...]

The offending line in /usr/share/cdbs/1/class/autotools-files.mk:

DEB_ACLOCAL_ARGS ?= $(if $(wildcard $(DEB_SRCDIR)/m4)),-I m4)

To get my current version of opendchub building, I needed to insert this
to my debian/rules:

DEB_ACLOCAL_ARGS = # yes, just a declaration, not a definition

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.30-1-686 (SMP w/2 CPU cores)
Locale: LANG=en_PH.UTF-8, LC_CTYPE=en_PH.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages cdbs depends on:
ii  debhelper                     7.3.16     helper programs for debian/rules

Versions of packages cdbs recommends:
ii  autotools-dev                 20090611.1 Update infrastructure for config.{

Versions of packages cdbs suggests:
ii  devscripts                    2.10.53    scripts to make the life of a Debi
ii  doc-base                      0.9.3      utilities to manage online documen

-- no debconf information





More information about the Build-common-hackers mailing list