On 17:02 Thu 22 Jan     , Ciaran McCreesh wrote:
> On Thu, 22 Jan 2009 08:56:23 -0800
> Donnie Berkholz <dberkh...@gentoo.org> wrote:
> > Can this be fixed by adding bash dependencies to things using new 
> > features? As long as we keep them out of the build path of bash,
> > things ought to work.
> 
> Only if you're guaranteed bash 3.1 on boxes that do metadata
> generation. Which means it won't work for overlays.

I'm not an expert on metadata generation, so please tell me if I'm wrong 
here. Most if not all overlays don't ship pregenerated metadata, which 
means users have to generate it locally. Without doing so, they cannot 
install anything from that overlay that uses bash features they lack. 
They can still install things from that overlay that don't use the new 
bash features.

Consequently, packages in overlays using new bash features won't work 
till you upgrade your bash. They also won't be able to give you a good 
error about how to fix it, because you can't guarantee that you'll be 
able to parse the ebuild/eclass as far as the bash dependency.

I guess a GLEP 42 news item would sort of work, but I really wish we had 
tree dependencies. Another option would be to make overlay maintainers 
generate their own metadata.

> > Then we could add a repoman check for new features, if we wanted.
> 
> Can't do that unless you write a feature-complete bash parser and
> pretend-execute every possible path an ebuild can take...

We're getting into pretty weird territory here -- if you had slotted 
bash versions, you could do bash-3.0 -n foo.ebuild, bash-3.1 -n 
foo.ebuild, etc.

-- 
Thanks,
Donnie

Donnie Berkholz
Developer, Gentoo Linux
Blog: http://dberkholz.wordpress.com

Attachment: pgpXs2xQuyFmH.pgp
Description: PGP signature

Reply via email to