Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] emerge sets syntax (@world vs. world)
Date: Wed, 12 Dec 2012 13:24:00
Message-Id: 20121212151856.38dea5a2@khamul.example.com
In Reply to: [gentoo-user] emerge sets syntax (@world vs. world) by Francesco Turco
1 On Wed, 12 Dec 2012 12:53:01 +0100
2 Francesco Turco <fturco@××××××××.fm> wrote:
3
4 > Hello.
5 >
6 > A couple of weeks ago I filed a bug because in the Installation
7 > Handbook I found some references of the "world" set in emerge
8 > commands, as opposed to "@world":
9 > https://bugs.gentoo.org/show_bug.cgi?id=445184
10 >
11 > The bug was closed as invalid, and I was told that:
12 >
13 > > sets with the @ prefix are a portage-2.2 feature, which is still
14 > > hardmasked and thus not documented.
15 >
16 > The fact is that I have portage-2.1.11.37, not 2.2, and man emerge
17 > says:
18 >
19 > > When used as arguments to emerge sets have to be prefixed with @
20 > > to be recognized.
21 >
22 > One possibility is that documentation stick with the stable portage
23 > package, not the testing one (I have a ~amd64 system only). But I
24 > checked portage 2.1.11.31 (the latest stable amd64 portage package
25 > version) and the previous phrase is there, too.
26 >
27 > I know it's not a very important issue, but I'd still like to know if
28 > I'm wrong or not, and why.
29
30 You are wrong, the docs and the man pages are correct.
31
32 The problem is that the word "set" is used in two different ways, one
33 loosely and the other with reference to an exact construct.
34
35 portage-2.2 introduced the concept of "a defined set" under user
36 control. It's a list of packages that portage treats as a whole chunk
37 of things together and the user can define what he wants in a set and
38 give it a name. When used with emerge, sets like this must have an "@"
39 prefix so portage can tell them apart from regular packages. Portage
40 also dynamically creates sets internally that work the same way, things
41 like @world and @system and @preserved-rebuild. You can use these too,
42 you just can't define them or modify them directly.
43
44 The portage man page has unfortunately also used the word "set" for a
45 different reason. Portage has always had a concept of "world" (not
46 @world) and "system" (not @system) which were really "just a bunch of
47 stuff that happens to pop out of portage because it's hard-coded that
48 way". And the docs say things like
49
50 emerge world
51
52 and call the "world" part "the world set".
53
54 "Set" here is a homonym - two completely different words with different
55 meanings that just happen to be spelled and sound the same.
56
57 English too has the identical problem - the word "set" holds the
58 undisputed record for the English word with the most definitions - it
59 had 134 last time I checked. That's right, 134 meanings for 3 letters
60 as verified by that big Oxford dictionary that you need a wheel barrow
61 to carry it around in (and a big magnifying glass to read). It's not
62 surprising some of that leaked into Portage :-)
63
64 The docs you mention are using the second, loose, definition of the
65 word.
66 I recommend you treat it as simply a problem of over-loaded human
67 languages and just deal with it
68
69 :-)
70
71 --
72 Alan McKinnon
73 alan.mckinnon@×××××.com

Replies

Subject Author
Re: [gentoo-user] emerge sets syntax (@world vs. world) Randy Barlow <randy@×××××××××××××××××.com>
Re: [gentoo-user] emerge sets syntax (@world vs. world) Francesco Turco <fturco@××××××××.fm>