1 |
On 17:02 Thu 22 Jan , Ciaran McCreesh wrote: |
2 |
> On Thu, 22 Jan 2009 08:56:23 -0800 |
3 |
> Donnie Berkholz <dberkholz@g.o> wrote: |
4 |
> > Can this be fixed by adding bash dependencies to things using new |
5 |
> > features? As long as we keep them out of the build path of bash, |
6 |
> > things ought to work. |
7 |
> |
8 |
> Only if you're guaranteed bash 3.1 on boxes that do metadata |
9 |
> generation. Which means it won't work for overlays. |
10 |
|
11 |
I'm not an expert on metadata generation, so please tell me if I'm wrong |
12 |
here. Most if not all overlays don't ship pregenerated metadata, which |
13 |
means users have to generate it locally. Without doing so, they cannot |
14 |
install anything from that overlay that uses bash features they lack. |
15 |
They can still install things from that overlay that don't use the new |
16 |
bash features. |
17 |
|
18 |
Consequently, packages in overlays using new bash features won't work |
19 |
till you upgrade your bash. They also won't be able to give you a good |
20 |
error about how to fix it, because you can't guarantee that you'll be |
21 |
able to parse the ebuild/eclass as far as the bash dependency. |
22 |
|
23 |
I guess a GLEP 42 news item would sort of work, but I really wish we had |
24 |
tree dependencies. Another option would be to make overlay maintainers |
25 |
generate their own metadata. |
26 |
|
27 |
> > Then we could add a repoman check for new features, if we wanted. |
28 |
> |
29 |
> Can't do that unless you write a feature-complete bash parser and |
30 |
> pretend-execute every possible path an ebuild can take... |
31 |
|
32 |
We're getting into pretty weird territory here -- if you had slotted |
33 |
bash versions, you could do bash-3.0 -n foo.ebuild, bash-3.1 -n |
34 |
foo.ebuild, etc. |
35 |
|
36 |
-- |
37 |
Thanks, |
38 |
Donnie |
39 |
|
40 |
Donnie Berkholz |
41 |
Developer, Gentoo Linux |
42 |
Blog: http://dberkholz.wordpress.com |