Gentoo Archives: gentoo-user

From: Francesco Turco <fturco@××××××××.fm>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] emerge sets syntax (@world vs. world)
Date: Wed, 12 Dec 2012 18:24:28
Message-Id: 1355336574.9959.140661165206885.4F4490E5@webmail.messagingengine.com
In Reply to: Re: [gentoo-user] emerge sets syntax (@world vs. world) by Alan McKinnon
1 On Wed, Dec 12, 2012, at 14:18, Alan McKinnon wrote:
2 > You are wrong, the docs and the man pages are correct.
3 >
4 > The problem is that the word "set" is used in two different ways, one
5 > loosely and the other with reference to an exact construct.
6 >
7 > portage-2.2 introduced the concept of "a defined set" under user
8 > control. It's a list of packages that portage treats as a whole chunk
9 > of things together and the user can define what he wants in a set and
10 > give it a name. When used with emerge, sets like this must have an "@"
11 > prefix so portage can tell them apart from regular packages. Portage
12 > also dynamically creates sets internally that work the same way, things
13 > like @world and @system and @preserved-rebuild. You can use these too,
14 > you just can't define them or modify them directly.
15 >
16 > The portage man page has unfortunately also used the word "set" for a
17 > different reason. Portage has always had a concept of "world" (not
18 > @world) and "system" (not @system) which were really "just a bunch of
19 > stuff that happens to pop out of portage because it's hard-coded that
20 > way". And the docs say things like
21 >
22 > emerge world
23 >
24 > and call the "world" part "the world set".
25 >
26 > "Set" here is a homonym - two completely different words with different
27 > meanings that just happen to be spelled and sound the same.
28
29 I'm still not convinced. emerge(1) man page for portage-2.1.11.37
30 already contains the following command example:
31 > emerge --update --newuse --deep @world
32
33 And:
34 > emerge --update @world
35
36 But not a single example without the at sign.
37
38 I also found this (old) blog post from Portage developer Zac Medico:
39 http://blogs.gentoo.org/zmedico/2010/09/07/portage_2-1-9_release/. It
40 says:
41 > Package set names in emerge arguments have to be prefixed with @ (exceptions: ‘world’ and ‘system’ can be used without the prefix).
42
43 So it seems that since version 2.1.9 @world and world (and @system and
44 system) are just treated in the same way, but prefixing them with the at
45 symbol is more future-proof.

Replies

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