jw+debian at jameswestby.net
Tue Dec 2 20:21:44 GMT 2008
On Tue, 2008-12-02 at 12:11 -0800, Steve Langasek wrote:
> Calling libtoolize on its own is always wrong because this can result in
> version skew between ltmain.sh and (aclocal.m4/configure).
> Calling automake on its own is always wrong because this can result in
> version skew between **/Makefile.in and (aclocal.m4/configure).
> Both of these issues can be addressed by calling "autoreconf" instead.
> There are other combinations that are "safe" (libtoolize+aclocal+autoconf
> w/o automake; automake+aclocal+autoconf w/o libtoolize), but distinguishing
> the safe cases from the unsafe ones requires finer knowledge of autotools
> workings than we can probably expect most developers to retain, so as a
> general rule, using "autoreconf" is probably best.
Thanks I'm happy to use this rule for now and to learn about the other
cases in the future.
> > You mention cdbs, is the correct thing to do with that to always
> > specify all DEB_AUTO_UPDATE_* or none of them?
> That probably depends on whether you have a reason in that package to modify
> any of the other autotools input files?
I was asking this as I expected the answer above, and as cdbs provides
these than a method to run autoreconf, I assume that specifying e.g.
just "DEB_AUTO_UPDATE_LIBTOOL = pre" is going to hit the same sort
of problems. Therefore it seems like specifying all of them, or adding
a makefile rule to actually run "autoreconf" would be the best way to
handle it. Maybe there is a subtlety I am missing though.
More information about the ubuntu-devel