1 |
On Tue, 23 Oct 2007 21:11:48 +0200 |
2 |
Thomas de Grenier de Latour <degrenier@×××××××××××.fr> wrote: |
3 |
|
4 |
> On 2007/10/23, Marius Mauch <genone@g.o> wrote: |
5 |
> |
6 |
> > On Mon, 22 Oct 2007 21:29:02 -0700 |
7 |
> > Zac Medico <zmedico@g.o> wrote: |
8 |
> > |
9 |
> > > Well, you can already use SLOT atoms in your world file if you |
10 |
> > > don't want the highest available. Packages that pull in >=foo are |
11 |
> > > a different story though. I suppose we can add something like a |
12 |
> > > - --upgrade=minimal option that prevents pulling in new slots if |
13 |
> > > they aren't required. |
14 |
> > |
15 |
> > Don't restrict it to SLOTs though. "minimal" implies that only |
16 |
> > upgrades required to satisfy the depgraph are performed. |
17 |
> |
18 |
> Couldn't this "minimal" behavior just be triggered by lack of the |
19 |
> --upgrade option ("emerge -D <set>")? |
20 |
|
21 |
--upgrade != the current --update (at least that's what I assumed) |
22 |
|
23 |
> Actually, the current --upgrade behavior (with or without --deep) |
24 |
> is a bit weird imho, i would prefer something like this (with foo |
25 |
> being either a set or an atom): |
26 |
|
27 |
Yes, --update has a history of being a mess of random behavior. |
28 |
Personally I'd drop it completely, or alias it to --noreplace. |
29 |
|
30 |
> * "emerge foo": do the minimum upgrades or new installs required to |
31 |
> get foo satisfied. Only its direct deps are checked (and direct |
32 |
> deps of the unsatisfied ones, etc.), with the "minimal" heuristic |
33 |
> (upgrade them only if stricly required). |
34 |
> |
35 |
> * "emerge -u foo": do all required new installs and possible upgrades |
36 |
> of foo. Only its direct deps are checked (and direct deps of the |
37 |
> unsatisfied ones, etc.), with the "minimal" heuristic (upgrade them |
38 |
> only if strictly needed). |
39 |
> |
40 |
> * "emerge -D foo": do the minimal upgrades or new installs required |
41 |
> to get foo satisfied. Also, check all of its direct and indirect |
42 |
> deps, with the "minimal" heuristic (upgrade only if strictly needed). |
43 |
> |
44 |
> * "emerge -uD foo": do all required new installs and possible |
45 |
> upgrades of foo. Also, all its direct and indirect deps are checked, |
46 |
> and upgraded where possible. |
47 |
|
48 |
Maybe --upgrade as name was an unfortunate choice, --resolver might be |
49 |
better. What I'd like ideally (as a user) is to replace --update, |
50 |
--deep, --noreplace and --emptytree with the following options: |
51 |
|
52 |
--resolver={minimal,noslotchange,leastchange,default} |
53 |
minimal: select the lowest possible version |
54 |
noslotchange: like default, but try to avoid slotchanges |
55 |
leastchange: select the version with the smallest version delta |
56 |
compared to the installed version, otherwise like default |
57 |
default: current behavior |
58 |
|
59 |
--rebuild={never,always,changeduse,newuse,changeddeps,selected} |
60 |
never: never rebuild packages |
61 |
always: always rebuild packages (like current --emtpytree) |
62 |
changeduse: rebuild packages if $USE has changed |
63 |
newuse: rebuild packages if $USE or $IUSE has changed |
64 |
changeddeps: rebuild packages if any of its direct dependencies were |
65 |
updated |
66 |
selected: rebuild the selected arguments (root nodes) |
67 |
|
68 |
--deplevel=<n> |
69 |
check n level of dependencies for updates (with -1 == infinite) |
70 |
of course all dependencies have to be satisfied, this controls only |
71 |
what deps should be checked for optional updates |
72 |
|
73 |
current defaults would be --resolver=default --rebuild=selected |
74 |
--deplevel=0 |
75 |
|
76 |
--update would be --rebuild=never --deplevel=1 |
77 |
--deep would be --deplevel=-1 |
78 |
--emptytree would be --rebuild=always --deplevel=-1 |
79 |
|
80 |
But that's just me dreaming of a better world, where we don't have |
81 |
to deal with legacies ;) |
82 |
|
83 |
Marius |
84 |
|
85 |
-- |
86 |
Public Key at http://www.genone.de/info/gpg-key.pub |
87 |
|
88 |
In the beginning, there was nothing. And God said, 'Let there be |
89 |
Light.' And there was still nothing, but you could see a bit better. |