1 |
Marius Mauch wrote: |
2 |
|
3 |
> On Wed, 10 Sep 2008 01:43:45 +0100 |
4 |
> Steve Long <slong@××××××××××××××××××.uk> wrote: |
5 |
> |
6 |
>> Marius Mauch wrote: |
7 |
>> |
8 |
>> > Second for the suggestions on how to handle the transition: |
9 |
>> > - treating 'world' and '@world' differently is a no go from my POV. |
10 |
>> > One of the main reasons to implement them as sets was to remove |
11 |
>> > special case code in emerge, so I'm quite opposed to adding new |
12 |
>> > special cases instead. And I'm quite sure that such a separation |
13 |
>> > would cause confusion, and some isues regarding (end-user) |
14 |
>> > documentation. |
15 |
>> |
16 |
>> We're talking about one special case in the command-line processing, |
17 |
>> to support the existing usage that all our users are used to. It adds |
18 |
>> practically nothing in execution time, simply expanding to @system |
19 |
>> @world, and means that users who don't want to know about sets, or |
20 |
>> are not thinking in set terms at the time of using emerge, will get |
21 |
>> the result they expect. |
22 |
> |
23 |
> It also means we'd indefinitely have to carry another special |
24 |
> case around for legacy reasons (removing it later would be even more |
25 |
> painful than doing the switch now). You know, those are the things we |
26 |
> want to get rid off, as they really make our life harder in the long |
27 |
> run. YOu may consider it trivial in this cse, but these things always |
28 |
> look trivial when you're adding them, and you curse about them when you |
29 |
> have to modify the code later on. |
30 |
|
31 |
I know exactly what you mean. However, this special case *will* save Gentoo |
32 |
a great deal of support hassle, imo at least, and is confined to the |
33 |
option-parsing code. It's perfectly well encapsulated and will never `leak' |
34 |
into any of your dependency resolution or set-handling code. |
35 |
|
36 |
> Maybe the best solution is to drop the non-prefixed versions of 'world' |
37 |
> and 'system' completely .... |
38 |
|
39 |
I'm fine with system ;) although as outlined, I don't see that it can add |
40 |
maintenance to anywhere but the option parser, and only then if what you |
41 |
want the end-user to update by default changes. |
42 |
|
43 |
I see that indirection as an added bonus, since it means you can easily |
44 |
maintain a cli api for end-users (or tired admins) as opposed to |
45 |
power-users or devs, and the sets [or indeed options] used can change over |
46 |
time (since we're discussing long-term maintenance) without the same |
47 |
switchover hassles as now. There'd be zero need to reeducate the end-users, |
48 |
and interested ones would be following dev, or would read about any new set |
49 |
in GMN. |