1 |
On Fri, Apr 06, 2007 at 12:16:18AM +0200, Danny van Dyk wrote: |
2 |
> > > * There is at least one outstanding QA issue that i know of which |
3 |
> > > is related to Portage and can't be fixed w/o slot deps properly. |
4 |
> > > Read: KDE's problems with ranged deps and the way it currently |
5 |
> > > breaks the vdb's RDEPEND entries, especially regarding qt and |
6 |
> > > kdelibs. |
7 |
> > |
8 |
> > Elaborating a bit, this actually is only a problem for pkgcore and |
9 |
> > paludis; portage isn't affected since it prefers to try pulling the |
10 |
> > metadata from $PORTDIR; reasoning is that way screw ups in the |
11 |
> > metadata that are now locked in the vdb can be worked around via it. |
12 |
> AFAIK zmedico spoke about moving portage to use vdb metadata instead. |
13 |
> Before this could happen we needed a fix for it. |
14 |
|
15 |
Suspect zac could confirm that's it's about weekly now for me nagging |
16 |
him about gutting that ;) |
17 |
|
18 |
|
19 |
> > You can trigger the same issue in portage via wiping pretty much |
20 |
> > everything in PORTDIR (switching the tree, or just a literal rm of |
21 |
> > everything but profiles crap), but that's fairly corner case. |
22 |
> > |
23 |
> > Don't much like the behavior myself, but updates/* would need |
24 |
> > expansion to address the (massively long term) reasoning for portages |
25 |
> > behavior. Upshot, running from vdb only instead of the dual lookup |
26 |
> > would speed up portages resolution via less IO/parsing... |
27 |
> > |
28 |
> > Either way, the kde/qt issue was known from the get go- since slot |
29 |
> > deps weren't available when they started down this path, they should |
30 |
> > have used new style virtuals instead. Yes it's ugly, backwards |
31 |
> > compatibility usually isn't utterly pretty- upshot of it however is |
32 |
> > that the upgrade node is just a new style virtual, no real cost for |
33 |
> > the operation. |
34 |
> > |
35 |
> > Breaking EAPI=0 via pushing slot deps in isn't much of an option in |
36 |
> > my opinion; usual "needs to have been on release media for at least 6 |
37 |
> We can push for an EAPI=1 == (EAPI=0 + slot deps)... |
38 |
|
39 |
Can, yep, although that was originally blocked by "EAPI=0 must be |
40 |
defined", which folks seem to have backed off on. |
41 |
|
42 |
One issue with adding EAPI=1 having just slot deps is that it skips |
43 |
out on some long term changes intended- default src_install for |
44 |
example, hell, making the default phase functions into an eclass |
45 |
equivalent template. Clarifying, instead of |
46 |
src_compile() { |
47 |
default src compile crap |
48 |
} |
49 |
|
50 |
would do |
51 |
base_src_compile() { |
52 |
default src compile crap |
53 |
} |
54 |
|
55 |
That way if you just need to tweak one thing, you can still use the |
56 |
default src_compile- basically same trick EXPORT_FUNCTIONS does. |
57 |
|
58 |
Either way, EAPI=1 *should* have a bit more then just slot deps in my |
59 |
opinion; very least it needs discussion to discern what folks want. |
60 |
|
61 |
|
62 |
> > months" would apply here at the very least. The problem is that |
63 |
> > 2.1.2 is the first portage version to have slot deps- that is a |
64 |
> > fairly recent stabling, so there still would be a good chunk of time |
65 |
> > to wait *if* the daft old method of just shoving stuff in and |
66 |
> > watching things break was took. |
67 |
> |
68 |
> What breakage specifically? Portage versions that don't support EAPI? |
69 |
|
70 |
Breakage there I'm referring to trying to is a set of folks |
71 |
trying to shove it into EAPI=0. |
72 |
|
73 |
|
74 |
> > Meanwhile, worth remembering during the interim while slot deps |
75 |
> > aren't usable, new style virtual does address it (even if it's a |
76 |
> > gross trick) |
77 |
> |
78 |
> I prefer we solve this problem instead of hacking around it once more. |
79 |
|
80 |
Even with EAPI=1 route, still going to require some time to actually |
81 |
address it- have to define EAPI=1, make sure portage supports it |
82 |
fully, make sure it's stable for all arches, etc. That's a several |
83 |
month proceess, best case, 30 days if somehow everyone agrees to |
84 |
eapi=1 today, zac implements it tonight, and releases it tomorrow |
85 |
morning (with no bugs). |
86 |
|
87 |
So... again- it's not pretty, but it's not an issue that's going to be |
88 |
solved tomorrow, so it's not a bad idea to take a look at ways to work |
89 |
around it. Very least, if the new style virtual route was taken, |
90 |
switching over to slot deps (when available) would be easy- update the |
91 |
virtual, then start pruning the tree for anything depending on the |
92 |
virtual. |
93 |
|
94 |
~harring |