1 |
On Sat, Jul 26, 2014 at 12:14 PM, Ciaran McCreesh |
2 |
<ciaran.mccreesh@××××××××××.com> wrote: |
3 |
> On Sat, 26 Jul 2014 16:05:58 +0000 (UTC) |
4 |
> Martin Vaeth <martin@×××××.de> wrote: |
5 |
>> Ciaran McCreesh <ciaran.mccreesh@××××××××××.com> wrote: |
6 |
>> > Your solution fails spectacularly in the following ways: |
7 |
> |
8 |
>> > * Introduction of :=3D dependencies |
9 |
>> |
10 |
>> This is not a "minor update" in dependencies |
11 |
>> and thus requires a revbump. |
12 |
> |
13 |
> So what is a "minor update", and what are you planning to do to prevent |
14 |
> what you call "useless rebuilds" when := dependencies are introduced? |
15 |
> |
16 |
|
17 |
Picking this to illustrate my point, not to endorse a particular |
18 |
implementation here... |
19 |
|
20 |
This is what I'm getting at when I argue that we don't need a solution |
21 |
to every possible problem. If we only accept solutions that handle |
22 |
conditional dependencies, IUSE changes, new eclass inherits, dep |
23 |
additions, dep removals, etc, then it does seem likely to me that |
24 |
we'll never find a good solution. |
25 |
|
26 |
On the other hand, if we can come up with something that RELIABLY |
27 |
fixes things for 3/4ths of these, then that is probably good enough. |
28 |
I'm not certain at this point that even such a partial solution |
29 |
doesn't exist, but the fact that any particular solution doesn't |
30 |
handle every possible case isn't automatically a reason to reject it. |
31 |
|
32 |
Preventing unnecessary rebuilds is a worthwhile goal, even if we can't |
33 |
get 100% of the way there. If you don't care whatsoever about |
34 |
unnecessary rebuilds then we can simplify things tremendously - just |
35 |
have the package manager default to --emptytree on all operations. |
36 |
Sure, it might cause a "few" unnecessary ebuilds but whether your |
37 |
package manager attempts to support dynamic deps or not you'll |
38 |
certainly have an up-to-date dependency cache. |
39 |
|
40 |
Rich |