Mailinglist Archive: opensuse-packaging (174 mails)

< Previous Next >
Re: [opensuse-packaging] Building release-notes-openSUSE: automake needed?
Karl,

On Thu, 2013-11-14 at 17:09 +0100, Dominique Leuenberger a.k.a. Dimstar
wrote:
I tried to rebuild the package with the automake and autoconf from 12.3,
but with no success.

Very likely an error in the updated tarball.
Possibly make dist not run in a full tree?

Eitherway: the 'reason' is that 'make' sees something as missing and
wants to do the bootstrapping for you.

I tried a simple reboot strap on my machine:
tar xf release-notes-opensuse-13.1.7.tar.bz2
cd release-notes-opensuse-13.1.7
autoreconf -fiv
./configure
make dist

Funny problem after all !

automake 1.13 has more logic to detect if the tarball is 'in order' or
if it needs to bootstrap.

One way used to identify this is comparing the date / timestampe of
configure.ac with the one of aclocal.m4.

make -d in the buildroot reveals:
Prerequisite `configure.ac' is newer than target `aclocal.m4'.
Must remake target `aclocal.m4'.

Now, the problem is:
your Makefile.am contains a dist-hook, that touches configure.ac
(updating some time it seems):

dist-hook:
sed -i "s/\(RN_DATE, \).*/\1$$(date --iso))/" configure.ac \
&& autoreconf \
&& for file in configure configure.ac; do \
cp -p $(srcdir)/$$file $(distdir)/$$file ; \
done

If you remove this block and do make dist, then all works 'just fine'
with this tarball... so this logic is clearly flawed.
Very likely you'd need to copy more than only configure and configure.ac
around (at least Makefile.in and aclocal.m4 from my tests).

I came up with this patch:
====
Index: Makefile.am
===================================================================
--- Makefile.am (revision 11681)
+++ Makefile.am (working copy)
@@ -189,7 +189,7 @@
dist-hook:
sed -i "s/\(RN_DATE, \).*/\1$$(date --iso))/" configure.ac \
&& autoreconf \
- && for file in configure configure.ac; do \
+ && for file in configure configure.ac aclocal.m4 Makefile.in; do \
cp -p $(srcdir)/$$file $(distdir)/$$file ; \
done

====

Having this in your svn tree, then doing make dist gives me a working
tarball with automake 1.13.

It was fun debugging.. hope it helps you on your journey.

Dominique
--
Dimstar / Dominique Leuenberger <dimstar@xxxxxxxxxxxx>

--
To unsubscribe, e-mail: opensuse-packaging+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-packaging+owner@xxxxxxxxxxxx

< Previous Next >