1 |
On Tue, Jul 22, 2014 at 4:06 PM, Martin Vaeth <martin@×××××.de> wrote: |
2 |
> ...but by introducing all the additional complications Ian |
3 |
> has mentioned. More precisely: What happens if new dependencies |
4 |
> are introduced which are not satisfied? |
5 |
> One has to face it: Portage must not just silently "update" the |
6 |
> database and thus silently produce a /var/db which does not |
7 |
> satisfy its own dependencies... |
8 |
|
9 |
While this is problematic, I think portage actually can handle this |
10 |
(but I haven't tested this recently). Portage already allows you to |
11 |
clean a package without its reverse deps leading to a system in |
12 |
exactly the state you describe. I believe portage will just try to |
13 |
bring the package back at the next emerge @world (or any other set |
14 |
containing the reverse dep). |
15 |
|
16 |
If there is a problem with the dependency version then the system is |
17 |
already broken anyway - portage just doesn't realize it. |
18 |
|
19 |
I think that allowing devs to instruct portage to update VDB with |
20 |
USE/dep/etc changes is potentially less problematic than having |
21 |
portage trying to guess what the right thing to do is. We could then |
22 |
either use that feature or revbump as appropriate under the specific |
23 |
circumstances. |
24 |
|
25 |
Ultimately I think the most important thing we need is for PMs to |
26 |
follow some kind of defined behavior. In our efforts to get portage |
27 |
to do the "right thing" we sometimes end up with a portage that does |
28 |
things that nobody really understands. Things like that tend to lead |
29 |
to convenience 95% of the time and head-banging the other 5%. |
30 |
|
31 |
I'm all for workarounds, but I'd advocate simple ones that lead to |
32 |
easily predicted behavior (and failure modes). I'd rather safely |
33 |
eliminate 70% of useless rebuilds than unsafely try to eliminate 90% |
34 |
of them. However, I do agree that we need to be sensitive to |
35 |
rebuilds. |
36 |
|
37 |
Rich |