Re: [gentoo-dev] bash version in ebuilds/eclasses...non-compliance and what to do?

2010-01-15 Thread Fabian Groffen
On 15-01-2010 00:34:08 -0500, Mike Frysinger wrote:
> On Tuesday 16 December 2008 18:46:44 Jeremy Olexa wrote:
> > Exhibit A:
> > http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/python.eclass?r1=1.4
> > 8&r2=1.49
> > 
> > This causes me pain on my hosts that don't have >=bash-3.1[0] for
> > /bin/bash. Because I can't install portage with an old bash until I
> > get a new python installed which uses python.eclass which isn't
> > supported with my /bin/bash (quite circular indeed)
> > 
> > Technically there are workarounds for me...but it is still annoying.
> > So...what do we do? A) Specifically allow >=bash-3.1 features in
> > ebuilds/eclasses. or B) revert the commit because the PMS says[1] that
> > we comply with >bash-3.0
> > 
> > Please discuss, thanks.
> 
> btw, latest python.eclass requires bash-3.2+ due to parsing errors in the
> regex checks:
> $ bash-3.1 -c '[[ a =~ ^(a|b)$ ]]'
> bash-3.1: -c: line 0: syntax error in conditional expression: unexpected 
> token `('
> bash-3.1: -c: line 0: syntax error near `^(a'
> 
> we could quote these or require bash-3.2+ ...

We actually don't require (vanilla) bash 3.2, but bash-3.2.48 (Gentoo patches 
don't matter iirc) for our tree.  IMO we should explicitly state this instead 
of requiring "bash-3.2" which just doesn't work.


-- 
Fabian Groffen
Gentoo on a different level



Re: [gentoo-dev] bash version in ebuilds/eclasses...non-compliance and what to do?

2010-01-14 Thread Mike Frysinger
On Tuesday 16 December 2008 18:46:44 Jeremy Olexa wrote:
> Exhibit A:
> http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/python.eclass?r1=1.4
> 8&r2=1.49
> 
> This causes me pain on my hosts that don't have >=bash-3.1[0] for
> /bin/bash. Because I can't install portage with an old bash until I
> get a new python installed which uses python.eclass which isn't
> supported with my /bin/bash (quite circular indeed)
> 
> Technically there are workarounds for me...but it is still annoying.
> So...what do we do? A) Specifically allow >=bash-3.1 features in
> ebuilds/eclasses. or B) revert the commit because the PMS says[1] that
> we comply with >bash-3.0
> 
> Please discuss, thanks.

btw, latest python.eclass requires bash-3.2+ due to parsing errors in the
regex checks:
$ bash-3.1 -c '[[ a =~ ^(a|b)$ ]]'
bash-3.1: -c: line 0: syntax error in conditional expression: unexpected token 
`('
bash-3.1: -c: line 0: syntax error near `^(a'

we could quote these or require bash-3.2+ ...
-mike


signature.asc
Description: This is a digitally signed message part.