jbailey: (Default)
jbailey ([personal profile] jbailey) wrote2008-09-23 10:11 pm

AM_MAINTAINER_MODE - A decent solution

I don't really know why I found myself looking at the gitweb for automake just now, but I noticed that they've finally committed something I've wanted for a bit (but was, of course, too lazy to code myself)[0]

AM_MAINTAINER_MODE was the subject of huge debate when it first came out. It's the bit that can set itself so that the autotools scripts won't get regenerated even if the source files for those have been touched.

The problem is that by default, that's the wrong thing to do. A developer with the source (which I assume anyone with the source is. Otherwise their distro is probably handling all their compilation needs) *wants* those updates to happen automagically. In a distro, however, it's occasionally necessary to patch the autoconf bits, which means that you're trusting the installed autoconf on either the builder or your machine to consistently do the right thing in an automated fashion. And hopefully leave you with a readable debdiff in the end.

I'm hoping that AM_MAINTAINER_MODE([disabled]) becomes a standard thing to do with autoconf-based packages.

[0] http://git.savannah.gnu.org/gitweb/?p=automake.git;a=commit;h=861c19856121d8e875e30268dee6033ded6fc7ae

[identity profile] mmmmtino.livejournal.com 2008-09-24 02:24 pm (UTC)(link)
I have no idea what any of that computer stuff means...but I like the idea of "AM Maintainer Mode" for humans. I need one. Mornings suck. :)

m

[identity profile] jbailey.livejournal.com 2008-09-27 05:47 am (UTC)(link)
Ooo, may I use that as a quote? =)

[identity profile] mmmmtino.livejournal.com 2008-09-27 03:34 pm (UTC)(link)
feel free...

m

is this backward?

[identity profile] https://id.mayfirst.org/dkg (from livejournal.com) 2009-03-06 01:19 am (UTC)(link)
Jeff, it sounds like you're saying that the autotools scripts themselves should always be re-generated if the timestamps on their associated source files have changed. That is, it sounds like you're saying that the rebuild rules should always be enabled by default.

But according to the updated documentation in the git diff you linked to, that would suggest that you want AM_MAINTAINER_MODE([enabled]) to be the standard thing, not AM_MAINTAINER_MODE([disabled]). Or am i misunderstanding this stuff? I still find autotools extremely confusing, after dealing with it (or trying to not have to deal with it) for years.

Or am i misunderstanding your intent?