On Fri, 18 Sep 2009 16:28:44 +0200
Patrick Lauer <email@example.com> wrote:
> [ fix PMS to demand bash 3.2 instead of 3.0 ]
> > Sorry, we can't change this for three reasons.
> We have to change it for one reason: Specs need to match reality
PMS isn't the place to push through changes.
> > First, it's a retroactive change to an older EAPI. We don't have the
> > authority to do that.
> Who does?
The Council. Probably no-one else. We've always gone to the gentoo-dev
list for consultations (explaining the full impact of the issue), and
then asked for Council approval for retroactive changes to existing
EAPIs. I think a lot of people would be very uncomfortable with the
idea of the PMS project having the authority to make that kind of
decision on its own.
> > Third, changing it breaks sourcing done by older, Council-approved
> > EAPI compliant package managers. We can't do this, and we can't
> > even do it on an EAPI bump.
> Not changing it breaks sourcing on council-approved trees. We can do
> it, and we have to do it if PMS is supposed to have any relevance at
No, the change can't be made without breaking the upgrade path. Users
who have an old EAPI 0 system with bash 3.0 installed need to be able
to upgrade it, and they can't do that if they can't source ebuilds. The
impact of the change you're suggesting has to be considered, and it's
not a simple decision to make.
> > The solution here's to fix the tree.
> That might have been a possible solution a year ago. Too late now.
Possibly, possibly not. It depends upon whether the Council considers
the upgrade path to be important. Users do frequently complain when the
upgrade path gets broken, so it's not a simple decision to make.
> (Also, if you want to play semantic games ...
> "The interpreter is assumed to be GNU bash, version 3.0 or later."
> One could interpret it that any version [and any feature provided by
> later versions] is acceptable, which would allow bash4 features in
> ebuilds now as bash4 is stable. That would definitely not be what
> you'd expect.)
No, that's not what that means. It means ebuilds may assume that it's
at least version 3.0, and so may make use of 3.0 features, but they may
not make any other assumptions about versions (including assuming that
things that work in bash 3 but not bash 4 are legal).