[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: AM_MAINTAINER_MODE
From: |
Stefano Lattarini |
Subject: |
Re: AM_MAINTAINER_MODE |
Date: |
Fri, 08 Feb 2013 13:26:23 +0100 |
On 02/08/2013 12:37 AM, Diego Elio Pettenò wrote:
> On 07/02/2013 19:47, Stefano Lattarini wrote:
>> So you want to allow users to disable maintainer-mode rules in every
>> package?
>
> Yes. Where users here is "distribution packagers".
>
>> Better risk an extra rebuild than to miss a required one IMVHO. Or
>> understand why timestamps get mangled, and fix that problem instead of
>> its symptoms (i.e., unnecessary rebuilds, in this case).
>
> Yes and no. In some cases, the problem we get is that the rebuild only
> happens in some circumstances, and thus the developer is missing it, but
> it happens on the users' systems, and then they report a bug that we
> can't reproduce...
>
> Basically, I want to have a build failure rather than a build that might
> be wrong.
>
But maintainer-mode won't help you here; it will just cause make to ignore
some remake rules that require maintainer tools, so you are *more* likely
to end up with a subtly and silently broken package (or at least one that
is in an inconsistent state). No?
>> I failed to understand what you're saying here, sorry. Care to rephrase,
>> or give an example?
>
> I don't have an example at hand, but let's say this:
>
> - you got a package that for whatever reason is completely messed up if
> generated with automake-1.12, but works fine with 1.9;
> - when I'm rebuilding it as part of an ebuild (Gentoo's spec files
> equivalent, give or take), I declare WANT_AUTOMAKE=1.9;
> - but I'm not rebuilding it in the ebuild;
> - until I get a patch that I don't check thoroughly and messes up the
> timestamps;
> - I still do not rebuild autotools in a controlled fashion;
> - automake triggers the rebuild, and rebuilds with 1.12;
>
(Aside: No it doesn't; if a package has been bootstrapped with 1.9.x,
it will call "automake-1.9" and "aclocal-1.9" in the rebuild rules,
ensuring the correct versions are used, or that the remake fails if
those versions are not available).
> - I'm screwed.
>
But if the patch legitimately modified some Makefile.am, then you are
as much as screwed if you do not re-bootstrap with the autotools in a
controlled fashion nor have the automatic remake rules kick in: the
Makefile will not be regenerated, which might cause build errors (in
the best scenario) or leave the built package in an inconsistent
state.
> Variations can happen if for instance the configure relies on a variable
> that is not declared with AC_ARG_VAR (way too common).
>
> Yes, it's all solvable with more attention to details and similar, but
> since we care for stuff to at least behave, --disable-maintainer-mode is
> much nicer _to us_.
>
But still, it is conceptually wrong, because it suggests that having
incompletely specified dependencies is a legitimate way to avoid
potentially useless rebuilds due to issues in other tools.
Now, I understand that AM_MAINTAINER_MODE has been there for so long, and
its use widespread enough, that I cannot remove it without upsetting a
huge number of people and breaking a lot of packages, no matter how long
a deprecation period I use; so it will stay with us -- you don't need to
worry about that.
But OTOH, I certainly do not want to encourage any new use of it: unless
I'm still missing something fundamental here, AM_MAINTAINER_MODE is
basically an hack to work around suboptimal practices or brokenness
in other tools, and we should work toward fixing those rather than
offering brittle workarounds.
Regards,
Stefano
- Inconsistencies in boolean parameters, Diego Elio Pettenò, 2013/02/07
- Re: Inconsistencies in boolean parameters, Stefano Lattarini, 2013/02/07
- AM_MAINTAINER_MODE, Diego Elio Pettenò, 2013/02/07
- Re: AM_MAINTAINER_MODE, Stefano Lattarini, 2013/02/07
- Re: AM_MAINTAINER_MODE, Bob Friesenhahn, 2013/02/07
- Re: AM_MAINTAINER_MODE, Diego Elio Pettenò, 2013/02/07
- Re: AM_MAINTAINER_MODE,
Stefano Lattarini <=
- Re: AM_MAINTAINER_MODE, Diego Elio Pettenò, 2013/02/08
- Re: AM_MAINTAINER_MODE, Stefano Lattarini, 2013/02/09
- Re: AM_MAINTAINER_MODE, immanuel litzroth, 2013/02/08
- Re: AM_MAINTAINER_MODE, Russ Allbery, 2013/02/08
- Re: AM_MAINTAINER_MODE, Ineiev, 2013/02/09
- Re: AM_MAINTAINER_MODE, Russ Allbery, 2013/02/09
- Re: AM_MAINTAINER_MODE, Bob Proulx, 2013/02/09
- Re: AM_MAINTAINER_MODE, Russ Allbery, 2013/02/09
- Re: AM_MAINTAINER_MODE, Bob Friesenhahn, 2013/02/09
- Re: AM_MAINTAINER_MODE, Bob Proulx, 2013/02/09