Gentoo Archives: gentoo-dev

From: Steve Long <slong@××××××××××××××××××.uk>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: Re: Re: News item: World file handling changes in Portage-2.2
Date: Thu, 11 Sep 2008 15:53:29
Message-Id: gabesu$o9e$1@ger.gmane.org
In Reply to: Re: [gentoo-dev] Re: Re: News item: World file handling changes in Portage-2.2 by Dale
1 Dale wrote:
2
3 > Holger Hoffstaette wrote:
4 >> On Wed, 10 Sep 2008 11:38:56 +0100, Mike Auty wrote:
5 >>> Marius Mauch wrote:
6 >>>
7 >>>> Maybe the best solution is to drop the non-prefixed versions of 'world'
8 >>>> and 'system' completely ....
9 >>>>
10 >>> Deprecating the old syntax sounds like a sensible action to get people
11 >>> shifted onto the new system. I imagine it would work very similarly to
12 >>> "emerge info" at the moment?
13 >>>
14 >> Speaking purely as a user, from a usability perspective it's a horrible
15 >> idea. Don't make me remember special things. To me there is no
16 >> discernible difference between "system" and "@system", except that I have
17 >> to remember to prefix the latter over and over again. Different things
18 >> need different names.
19 Well you might well have other sets, like @kde4 or anything you like, which
20 would be up to you to maintain as a user.
21
22 >> Doesn't portage have more pressing problems? In the
23 >> last 6 years of using Gentoo I cannot remember a single instance where
24 >> the difference between system and world even mattered to me from an
25 >> operational point of view.
26 >>
27 I've seen it most for new installs, where the user might use 'emerge -e
28 system' to get the base stuff built for their specific CPU, followed
29 by 'emerge -uDN world'. For major gcc upgrades, it's common to want to
30 use 'emerge -e system' first followed by 'emerge -e (world - system)' which
31 is an approach emwrap[1] pioneered.
32
33 Personally I don't see much point to the first -e system, since major gcc
34 upgrades are really only a breakage issue for C++ apps (paludis has in the
35 past stopped working after a gcc upgrade of this sort, which can be an
36 issue if there is no way to use another package manager to get it rebuilt,
37 which is the recommended config.)
38
39 update[2] does the recommended (based on various user posts, can be tweaked
40 ofc) order for any toolchain packages (extended def'n if $compiler is in
41 the list, including things like automake if there's a new version) which
42 appear for any emptyTree build, prior to the rest of the list. This
43 makes 'update -e world' pretty good for gcc upgrades (it'll skip a major
44 gcc upgrade in other circumstances, so that your system isn't left
45 inconsistent.)
46
47 > Also speaking as a user, I confuse pretty easily and you can ask anyone
48 > on gentoo-user about that. However, I see the difference between
49 > @system and system. The same for world or at least a good idea anyway.
50 >
51 Afaict there is no difference between system and @system. The question is
52 whether world and @world can coexist with different meanings, provided the
53 user hasn't run 'emerge system' (or @system) which atm makes the @system
54 set part of @world. (Confused? You will be ;) This is useful for user- or
55 profile-defined sets, eg for the earlier example, emerge @kde4 would make
56 the @kde4 set part of @world (by reference; @kde4 is put into world, not
57 the individual packages from it, so it can be maintained as a separate
58 list.)
59
60 A user wishing to avoid @system being part of @world can set
61 world-candidate=false in /etc/portage/sets.conf, to keep using @system and
62 @world separately. (see /usr/share/portage/config/sets.conf for examples.)
63
64 > I have to also say that I like being able to type in emerge -uvDN world
65 > and letting my system upgrade everything that needs upgrading. It's
66 > simple, easy and not so much typing.
67
68 > I can somewhat understand the need
69 > for @system and @world but think both can live together pretty well.
70
71 Yeah I agree; I don't think every user is going to be interested in sets,
72 and I see it as a minor, encapsulated, special-case in code terms, whereas
73 it has pretty major impact on end-users (and will cause support hassle.)
74
75 As soon as you type @foo you know you're in set-land.
76
77 > I do think there should be some sort of notice for those users that do
78 > not follow -dev, -user and/or the forums tho. That has been a issue for
79 > a long time. There does not seem to be a clear cut way to inform all
80 > Gentoo users except during a emerge.
81 Yeah although the news item thing did get accepted as a GLEP, and afaik the
82 package managers support them, I've never actually seen a news item in the
83 console. Maybe I'm doing something wrong again..
84
85 > Thing is, emerge -uvDN world will do the same as it always has from my
86 understanding.
87 >
88 Well it'll tell you that usage is deprecated, and until you emerge system
89 (or @system) it won't be considering those packages as part of world. (I
90 believe it will be added automatically on upgrade from 2.1 to 2.2 for
91 stable.) Once you do, it'll require a bit more to do an emerge -e @system
92 && emerge -e @world. If you are keeping them separate, you'll need
93 emerge -uDN @system @world, aiui.
94
95 Hence the desire to keep 'world' meaning what it always has, irrespective of
96 the sets.conf.
97
98 As I said before, I consider this minor tweaking to cli usage for major new
99 functionality, which I think is really cool stuff. Whichever way the
100 portage devs decide to go, kudos to them for what they've come up with.
101
102 [1] http://forums.gentoo.org/viewtopic-t-282474.html
103 [2] http://forums.gentoo.org/viewtopic-t-546828.html