Gentoo Archives: gentoo-project

From: Rich Freeman <rich0@g.o>
To: gentoo-project@l.g.o
Cc: Michael Palimaka <kensington@g.o>
Subject: Re: [gentoo-project] Re: Call for agenda items - Council meeting 2014-08-12
Date: Fri, 01 Aug 2014 02:18:04
In Reply to: Re: [gentoo-project] Re: Call for agenda items - Council meeting 2014-08-12 by "Michał Górny"
1 On Thu, Jul 31, 2014 at 3:12 PM, Michał Górny <mgorny@g.o> wrote:
2 >
3 > Yes, exactly. We need to get dynamic-deps right if they are ever
4 > supposed to become the default. That's one of the reasons that we want
5 > to revert the problematic changes and make Portage use the default
6 > model once again.
8 Do we actually have some kind of list of issues with dynamic deps?
9 The only specific one that I think I've seen is with prerm and subslot
10 deps, but as was pointed out that issue actually is as much of a
11 problem with static deps unless you unmerge all the reverse-deps
12 before upgrading anything, followed by a re-merge.
14 I have no problem with accepting that it is broken, but it would be
15 nice to deal with more specifics and not with it in general.
17 >
18 > If you are really curious, I am working hard on providing tools to fix
19 > the vdb inconsistencies caused by dynamic-deps. There were no specific
20 > data because it wasn't available until today.
21 >
22 > My regularly updated desktop system (2-3 days between @world updates)
23 > after disabling dynamic-deps has 77 packages needing rebuild. That
24 > number includes a few virtuals, Perl packages and other low-effort
25 > cases. And this is after the big, scary virtual/*udev changes.
26 >
27 > Over the next days I will obviously have more numbers. More
28 > specifically, the number of packages needing rebuild after dependency
29 > changes made by developers. It should be noted that the above number
30 > includes one-time rebuild of packages that are simply ancient.
31 >
32 > There is a lot of FUD about unnecessary rebuilds. Sadly, most people
33 > seem to fight a holy war against them without realizing the real
34 > impact. In fact, more unnecessary rebuilds are caused by unnecessary
35 > USE flags than by dependency changes. Yet the same people believe in
36 > adding more flags to contain even more minor aspects of packages...
38 Thank you for this. It is very helpful in gauging the likely impact
39 of having more revbumps.
41 One thing I don't want to do is create a barrier to anybody who wants
42 to upgrade an eclass or do work on virtuals. I can just imagine
43 endless debates about whether splitting a virtual is worth it since it
44 will cause up to 250 rebuilds, etc.
46 Is there any easy way to compare tree vs installed deps using the API?
47 I have a script that is part of the way there, but I'm struggling to
48 compare the vartree and porttree depdendencies (the portree
49 dependencies need to be correctly reduced - if somebody has the list
50 of function calls needed to reduce an RDEPEND from porttree to account
51 for USE/etc in /etc/portage and substitute in subslots that would be
52 helpful.
54 code snippet:
55 depstr = vartree.dbapi.aux_get(cpv, ["RDEPEND"])[0]
56 depstr2 = porttree.dbapi.aux_get(cpv, ["RDEPEND"] )[0]
57 flatdeps=portage.dep.flatten(portage.dep.paren_reduce(depstr))
58 flatdeps2=portage.dep.flatten(portage.dep.use_reduce(portage.dep.paren_reduce(depstr2)))
60 Ideally those should be the same if static deps = dynamic deps, but I
61 suspect it isn't appying the right USE flags (I'm not passing any),
62 and it isn't substituting actual subslot values either. I'm also not
63 sure if flatten is going to properly handle operators/etc.
65 Rich