On Tue, 29 May 2012, Jan Engelhardt wrote:
On Tuesday 2012-05-29 16:31, Richard Guenther wrote:
I find patches touching autogenerated files unwieldy to maintain.
Why exactly?
For example, there is a new warning in automake 1.12 that moans about AM_PROG_AR being absent when intending to create a .la archive. So, one has to add a *1-line* patch to the package iff it used AM_INIT_AUTOMAKE([-Werror]). The expanded form, as you suggest, of this change would be a 270+-line patch.
No. You don't need to patch anything here if you do not run autoreconf.
Second case: adding foo=bar; AC_SUBST([foo]) to configure.ac. That's a 2-line patch. The more Makefiles a package has, the bigger your patch gets. And dare you made a typo.
Sure. For plain above make foo=bar might also work though.
Running autoreconf is, in many cases, not a problem, and upstream developers should be asked to try tuning their software to make it work with newer autotools suites, just like compiling with libfoo-devel-1.24 when the actual requirement that has been specified in the INSTALL/README reads "libfoo >= 1.23".
Well, "in many cases" - apart from those in the list that started this thread.
I've been through a few from the list, and they have been in the large part the AM_PROG_AR-type kind.
But there is no reason to fix that if there was no reason to run autoreconf.
autotools are not trying to maintain compatibility,
They damn well do. You can still specify (IMHO way too many) old forms. Prime examples are
AC_INIT([src/foo.c]) AM_INIT_AUTOMAKE([pkg], [version])
Just like with recent g++ releases, what was added in automake 1.12 was some form of stricter checking. It's just that it errors out on everybody who though using -Werror was fun.
At least you create issues with building a package for multiple distributions if you use autoreconf.
Clearly this is not the case if done right. Else I'd be having repeated bug reports about all the (upstream) projects of mine.
Well, there are tons of cases where AM_* was renamed to AC_* but the latter is only available with newer autotools. So for SLE9 you won't get autoreconf to succeed (well, or succeed with warnings but generate broken scripts). Richard. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org