[sane-devel] Autotools generated files and CVS

Julien BLACHE jb at jblache.org
Tue Jan 20 15:06:23 UTC 2009


Chris Bagwell <chris at cnpbagwell.com> wrote:

Hi,

> So I think its safe to say that you've had some sort of bad experience 
> with some part of the autofoo chain in the past and have settle on 

Not inside SANE. The most painful experience we've had here was
switching to modern autofoo versions that required an updated
libtool. It's been a blocker for some time until Henning took care of
forward-porting the libtool modifications.

Outside of SANE I've had my share of autofoo breakages for various
reasons, some pertaining to autofoo proper and some pertaining to
developers.

> automake being added.   In fact, the issues I've personally experience 
> have never fallen in automake's areas... Issues were with either 
> autoconf or libtool.

That's true, but automake has a tendency of silently breaking
(generating broken Makefile.in) because of some glitches or another in
the autoconf stuff (or libtool). Which it should not do.

> You've mentioned automake maintainer mode a few times to resolve 
> issues... I'd like to understand the exact issue if thats possible so I 
> can try to resolve it up front.  Was it ultimately the well documented 
> issue with CVS timestamps and enablity of even running autoreconf to 
> generate the correct updates to various generated files when running 
> different versions of autotools?

The most common issue was automake not checking for availability of
the tools it needs, and not checking their versions, leading to the
process dying in horrible ways, leaving the tree utterly broken.

I've had the infinite automake loop of hell a couple of times
too. I can't remember what I did to get out of that one, but it was
painful.

> I suspect the other approach (checking in generated files and turning 
> off maintainer mode) doesn't really help solve any issues with mixed 
> autotools versions but isolates the issue to key people that tend to 
> maintain the configure and makefile frameworks.  In otherwords, the ones 
> that understand how to run "autoreconf --force -install" and then back 
> out the bad things it does.

And that's fine. If you're doing something on the build system, you'd
better know what you're doing; if you're the one doing the release,
it's not unreasonnable to expect you'll be able to handle the simple
update that has to be done.

If you're not doing any of that, then why should you have to bother
with the build system and waste time on it instead of working on your
code?

That's the whole point. Our time is limited, so better spend it
working on the code than on the build system when it's not required :)

> We may need to further explore Olaf's suggestion of defining acceptable 
> autotools versions to use for CVS submissions at some point.  But it 

"any current enough version that produces a working build system"

> sounds like you guess haven't had much of issues with autoconf so far so 
> perhaps it will continue to not be a problem in the future.

Yeah, not much issues so far, but the configure.in needs a really good
cleanup. It's a bit of a maze currently %)


BTW I'm not holding any grudge against the autotools (libtool, on the
contrary, is another story entirely). They work as intended, if only
they could be less painful to use. I can handle them, but then not
everybody can, and not everybody should be forced to handle them.

JB.

-- 
Julien BLACHE                                   <http://www.jblache.org> 
<jb at jblache.org>                                  GPG KeyID 0xF5D65169



More information about the sane-devel mailing list