tags 397902 patch
thanks

On Fri, Nov 10, 2006 at 12:03:37PM +0100, Lucas Nussbaum wrote:
> Package: seq24
> Version: 0.8.6-1
> Severity: serious
> Justification: FTBFS on i386, very likely to fail everywhere else
> Usertags: grid5000

> During a rebuild of all packages in etch, I discovered that your package
> failed to build on i386.

> Making all in src
> make[2]: Entering directory 
> `/build/root/seq24-0.8.6/build-tree/seq24-0.8.6/src'
> Makefile:312: *** missing separator.  Stop.

In the case when this fails, the contents of src/Makefile are (lines 311
ff.):

.cpp.o:
@am__fastdepCXX_TRUE@   if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" 
-c -o $@ $<; \
@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else 
rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
[EMAIL PROTECTED]@ source='$<' object='$@' libtool=no 
[EMAIL PROTECTED]@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) 
@am__fastdepCXX_FALSE@  $(CXXCOMPILE) -c -o $@ $<

The syntax error here is obvious.  Why does it happen?  Well, debian/rules
is set up to explicitly call automake-1.9, but not autoconf, which means the
configure script is out of sync with the generated Makefile.in's that it's
asked to act upon.  In fact, cdbs gives a warning about this in the log:

 debian/rules build
/usr/share/cdbs/1/rules/buildcore.mk:68: Parsing seq24-0.8.6.tar.gz...
/usr/share/cdbs/1/class/autotools-files.mk:32: 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.
/usr/share/cdbs/1/class/autotools-files.mk:45: WARNING: DEB_AUTO_UPDATE_ACLOCAL 
requires DEB_AUTO_UPDATE_AUTOCONF.

So the only way you end up with usable Makefiles is if something *else*
causes autoconf to be rerun, which makes the build of seq24 depend entirely
on timestamps of the files as they're unpacked.

The attached patch should address this.

Cheers,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
[EMAIL PROTECTED]                                   http://www.debian.org/
diff -u seq24-0.8.6/debian/changelog seq24-0.8.6/debian/changelog
--- seq24-0.8.6/debian/changelog
+++ seq24-0.8.6/debian/changelog
@@ -1,3 +1,14 @@
+seq24 (0.8.6-1.1) unstable; urgency=high
+
+  * Non-maintainer upload.
+  * High-urgency upload for RC bugfix.
+  * Call autoconf *explicitly* when building, to ensure that our
+    configure script is built from macros that are reliably consistent
+    with the Makefile.in's generated by automake.  Closes: #397902.
+  * Add autoconf to the build-depends for the above.
+
+ -- Steve Langasek <[EMAIL PROTECTED]>  Fri, 10 Nov 2006 21:10:19 -0800
+
 seq24 (0.8.6-1) unstable; urgency=low
 
   * New upstream version
diff -u seq24-0.8.6/debian/control seq24-0.8.6/debian/control
--- seq24-0.8.6/debian/control
+++ seq24-0.8.6/debian/control
@@ -2,7 +2,7 @@
 Section: sound
 Priority: optional
 Maintainer: Guenter Geiger (Debian/GNU) <[EMAIL PROTECTED]>
-Build-Depends: debhelper (>> 4.0.0), automake1.9, autotools-dev, cdbs, 
libgtkmm-2.4-dev, libasound2-dev, libjack0.100.0-dev | libjack-dev
+Build-Depends: debhelper (>> 4.0.0), automake1.9, autoconf, autotools-dev, 
cdbs, libgtkmm-2.4-dev, libasound2-dev, libjack0.100.0-dev | libjack-dev
 Standards-Version: 3.6.2
 
 Package: seq24
diff -u seq24-0.8.6/debian/rules seq24-0.8.6/debian/rules
--- seq24-0.8.6/debian/rules
+++ seq24-0.8.6/debian/rules
@@ -6,6 +6,8 @@
                          build-tree/$(DEB_TAR_SRCDIR)/RTC
 
 DEB_AUTO_UPDATE_AUTOMAKE := 1.9
+DEB_AUTO_UPDATE_ACLOCAL  := 1.9
+DEB_AUTO_UPDATE_AUTOCONF := 2.50
 
 include /usr/share/cdbs/1/rules/tarball.mk
 include /usr/share/cdbs/1/rules/simple-patchsys.mk

Reply via email to