1 |
On Sat, 2010-04-24 at 20:00 +0200, Sebastian Luther wrote: |
2 |
> Am 24.04.2010 13:32, schrieb Gentoo: |
3 |
> > On Fri, 2010-04-23 at 22:31 -0700, Zac Medico wrote: |
4 |
> >> On 04/23/2010 05:43 AM, Sebastian Luther wrote: |
5 |
> >>> Someone might come up with some logic to detect new use flags in |
6 |
> >>> *DEPEND, but this looks like a hack to me. |
7 |
> >> |
8 |
> >> It doesn't seem too bad to me. |
9 |
> |
10 |
> It doesn't work, because it's not guaranteed, that only use flag from |
11 |
> IUSE are used in use conditionals. That means you can't do it reliably |
12 |
> without the unevaluated value. |
13 |
> |
14 |
> >> |
15 |
> >>> The clean solution is to |
16 |
> >>> store the unevaluated string. |
17 |
> >> |
18 |
> >> Do you want to do this for $PKGDIR/Packages as well? We've always |
19 |
> >> evaluated USE conditionals in there since we were copying the |
20 |
> >> behavior of the older genpkgindex tool and that's how it behaved. |
21 |
> >> |
22 |
> |
23 |
> We should do it there too for the same reason as for storing it in the |
24 |
> vdb. Never heard of that tool, but anyone handling portage's binpkgs |
25 |
> should use the portage api which provides an easy way to evaluate the |
26 |
> use conditionals. |
27 |
> |
28 |
> >> Also note that if we want to rely on having unevaluated strings then |
29 |
> >> we'll probably want to try to get alternative package managers to |
30 |
> >> behave the same way (maybe specify it in PMS). |
31 |
> |
32 |
> The vdb isn't covered by PMS. Paludis stores the unevaluated value, |
33 |
> pkgcore stores the evaluated value. |
34 |
> |
35 |
> >> |
36 |
> >>> Question is: Does anyone have a good argument to not use the old |
37 |
> >>> behavior again? |
38 |
> > |
39 |
> > space and ease of parsing for minimal pkg mergers. |
40 |
> > |
41 |
> > |
42 |
> |
43 |
> Minimal mergers have to handle it anyway, since this has been the old |
44 |
> behavior until some weeks ago. |
45 |
|
46 |
We actually had flattened R/DEP's before for a while. Then they got |
47 |
removed then noew added back. |
48 |
|
49 |
> For portage API users, the difference is |
50 |
> a (rather long) one liner. |
51 |
|
52 |
|
53 |
> What do you mean with space? |
54 |
|
55 |
The vdb is getting rather bloated. Anything that cuts down excess waste |
56 |
there for the masses I tend to be in favor of. |
57 |
|
58 |
> >>> |
59 |
> >>> Sebastian |
60 |
> >>> |
61 |
> >>> [1] commit e6be6590e99522f9be69e2af8eff87919d9bf31f on 2010-02-14 |
62 |
> >> |
63 |
> >> I think we'll have to handle the evaluated strings anyway since this |
64 |
> >> code has already been released and stabilized in portage-2.1.8.x, |
65 |
> >> and USE conditionals have been evaluate in $PKGDIR/Packages for even |
66 |
> >> longer. Because of this, I see little or no benefit in changing it |
67 |
> >> back to unevaluated strings at this point. |
68 |
> > |
69 |
> > Good. Thanks for not reverting back to those old behaviors. |
70 |
> |
71 |
> And the new use case isn't of any relevance? |
72 |
> |
73 |
> As a compromise: What about storing both values? |
74 |
|
75 |
That just add bloat back. I think the real problem here in the example |
76 |
you listed in the first email, is that ebuild authors should be bumping |
77 |
a package when adding/removing functionaliy provided by IUSE. Infact |
78 |
it's even a policy & part of our own ebuild quizzes that they should |
79 |
bump the pkg (eclasses excluded). |
80 |
|
81 |
-- |
82 |
Gentoo <solar@g.o> |
83 |
Gentoo Linux |