* [gentoo-user] emerge sets syntax (@world vs. world)
@ 2012-12-12 11:53 Francesco Turco
2012-12-12 13:18 ` Alan McKinnon
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Francesco Turco @ 2012-12-12 11:53 UTC (permalink / raw
To: gentoo-user
Hello.
A couple of weeks ago I filed a bug because in the Installation Handbook
I found some references of the "world" set in emerge commands, as
opposed to "@world": https://bugs.gentoo.org/show_bug.cgi?id=445184
The bug was closed as invalid, and I was told that:
> sets with the @ prefix are a portage-2.2 feature, which is still hardmasked and thus not documented.
The fact is that I have portage-2.1.11.37, not 2.2, and man emerge says:
> When used as arguments to emerge sets have to be prefixed with @ to be recognized.
One possibility is that documentation stick with the stable portage
package, not the testing one (I have a ~amd64 system only). But I
checked portage 2.1.11.31 (the latest stable amd64 portage package
version) and the previous phrase is there, too.
I know it's not a very important issue, but I'd still like to know if
I'm wrong or not, and why.
Thank you.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [gentoo-user] emerge sets syntax (@world vs. world)
2012-12-12 11:53 [gentoo-user] emerge sets syntax (@world vs. world) Francesco Turco
@ 2012-12-12 13:18 ` Alan McKinnon
2012-12-12 14:53 ` Randy Barlow
2012-12-12 18:22 ` Francesco Turco
2012-12-12 14:10 ` Michael Orlitzky
2012-12-12 15:03 ` Bruce Hill
2 siblings, 2 replies; 7+ messages in thread
From: Alan McKinnon @ 2012-12-12 13:18 UTC (permalink / raw
To: gentoo-user
On Wed, 12 Dec 2012 12:53:01 +0100
Francesco Turco <fturco@fastmail.fm> wrote:
> Hello.
>
> A couple of weeks ago I filed a bug because in the Installation
> Handbook I found some references of the "world" set in emerge
> commands, as opposed to "@world":
> https://bugs.gentoo.org/show_bug.cgi?id=445184
>
> The bug was closed as invalid, and I was told that:
>
> > sets with the @ prefix are a portage-2.2 feature, which is still
> > hardmasked and thus not documented.
>
> The fact is that I have portage-2.1.11.37, not 2.2, and man emerge
> says:
>
> > When used as arguments to emerge sets have to be prefixed with @
> > to be recognized.
>
> One possibility is that documentation stick with the stable portage
> package, not the testing one (I have a ~amd64 system only). But I
> checked portage 2.1.11.31 (the latest stable amd64 portage package
> version) and the previous phrase is there, too.
>
> I know it's not a very important issue, but I'd still like to know if
> I'm wrong or not, and why.
You are wrong, the docs and the man pages are correct.
The problem is that the word "set" is used in two different ways, one
loosely and the other with reference to an exact construct.
portage-2.2 introduced the concept of "a defined set" under user
control. It's a list of packages that portage treats as a whole chunk
of things together and the user can define what he wants in a set and
give it a name. When used with emerge, sets like this must have an "@"
prefix so portage can tell them apart from regular packages. Portage
also dynamically creates sets internally that work the same way, things
like @world and @system and @preserved-rebuild. You can use these too,
you just can't define them or modify them directly.
The portage man page has unfortunately also used the word "set" for a
different reason. Portage has always had a concept of "world" (not
@world) and "system" (not @system) which were really "just a bunch of
stuff that happens to pop out of portage because it's hard-coded that
way". And the docs say things like
emerge world
and call the "world" part "the world set".
"Set" here is a homonym - two completely different words with different
meanings that just happen to be spelled and sound the same.
English too has the identical problem - the word "set" holds the
undisputed record for the English word with the most definitions - it
had 134 last time I checked. That's right, 134 meanings for 3 letters
as verified by that big Oxford dictionary that you need a wheel barrow
to carry it around in (and a big magnifying glass to read). It's not
surprising some of that leaked into Portage :-)
The docs you mention are using the second, loose, definition of the
word.
I recommend you treat it as simply a problem of over-loaded human
languages and just deal with it
:-)
--
Alan McKinnon
alan.mckinnon@gmail.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [gentoo-user] emerge sets syntax (@world vs. world)
2012-12-12 11:53 [gentoo-user] emerge sets syntax (@world vs. world) Francesco Turco
2012-12-12 13:18 ` Alan McKinnon
@ 2012-12-12 14:10 ` Michael Orlitzky
2012-12-12 15:03 ` Bruce Hill
2 siblings, 0 replies; 7+ messages in thread
From: Michael Orlitzky @ 2012-12-12 14:10 UTC (permalink / raw
To: gentoo-user
On 12/12/2012 06:53 AM, Francesco Turco wrote:
> Hello.
>
> A couple of weeks ago I filed a bug because in the Installation Handbook
> I found some references of the "world" set in emerge commands, as
> opposed to "@world": https://bugs.gentoo.org/show_bug.cgi?id=445184
>
> The bug was closed as invalid, and I was told that:
>
>> sets with the @ prefix are a portage-2.2 feature, which is still hardmasked and thus not documented.
>
> The fact is that I have portage-2.1.11.37, not 2.2, and man emerge says:
>
>> When used as arguments to emerge sets have to be prefixed with @ to be recognized.
>
> One possibility is that documentation stick with the stable portage
> package, not the testing one (I have a ~amd64 system only). But I
> checked portage 2.1.11.31 (the latest stable amd64 portage package
> version) and the previous phrase is there, too.
>
> I know it's not a very important issue, but I'd still like to know if
> I'm wrong or not, and why.
>
IMO you aren't wrong, but it isn't fixable right now. I see your point:
using @system and @world is more consistent, and eliminates an
additional thing that you have to remember.
But right now, 'system' and 'world' are simply hard-coded magic strings.
Until that changes, using @system and @world really conflates two
different ideas: the magic system/world, and the portage-2.2 @sets. Some
day they may be unified if we can,
1. Move $PORTDIR/profiles/base/packages into @system
2. Move /var/lib/portage/world into @world
3. Not break everything in the process (this is the hard part)
Afterwards I think they would be more receptive to updating the docs.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [gentoo-user] emerge sets syntax (@world vs. world)
2012-12-12 13:18 ` Alan McKinnon
@ 2012-12-12 14:53 ` Randy Barlow
2012-12-12 18:22 ` Francesco Turco
1 sibling, 0 replies; 7+ messages in thread
From: Randy Barlow @ 2012-12-12 14:53 UTC (permalink / raw
To: gentoo-user
Alan McKinnon wrote:
> The portage man page has unfortunately also used the word "set" for a
> different reason. Portage has always had a concept of "world" (not
> @world) and "system" (not @system) which were really "just a bunch of
> stuff that happens to pop out of portage because it's hard-coded that
> way".
This discussion is surprising to me, because I've been using @world in
my updates for a little while, but I don't have 2.2:
$ equery list portage
* Searching for portage ...
[IP-] [ ] sys-apps/portage-2.1.11.31:0
I performed a diff on the output of emerge -pvDuN world and @world, and
they were the same.
I even got an error about some required use flags when I ran emerge with
"world" that referenced @world:
The following USE changes are necessary to proceed:
#required by app-emulation/virt-manager-0.9.4[spice], required by
@selected, required by @world (argument)
--
R
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [gentoo-user] emerge sets syntax (@world vs. world)
2012-12-12 11:53 [gentoo-user] emerge sets syntax (@world vs. world) Francesco Turco
2012-12-12 13:18 ` Alan McKinnon
2012-12-12 14:10 ` Michael Orlitzky
@ 2012-12-12 15:03 ` Bruce Hill
2 siblings, 0 replies; 7+ messages in thread
From: Bruce Hill @ 2012-12-12 15:03 UTC (permalink / raw
To: gentoo-user
On Wed, Dec 12, 2012 at 12:53:01PM +0100, Francesco Turco wrote:
> Hello.
>
> A couple of weeks ago I filed a bug because in the Installation Handbook
> I found some references of the "world" set in emerge commands, as
> opposed to "@world": https://bugs.gentoo.org/show_bug.cgi?id=445184
>
> The bug was closed as invalid, and I was told that:
>
> > sets with the @ prefix are a portage-2.2 feature, which is still hardmasked and thus not documented.
>
> The fact is that I have portage-2.1.11.37, not 2.2, and man emerge says:
>
> > When used as arguments to emerge sets have to be prefixed with @ to be recognized.
>
> One possibility is that documentation stick with the stable portage
> package, not the testing one (I have a ~amd64 system only). But I
> checked portage 2.1.11.31 (the latest stable amd64 portage package
> version) and the previous phrase is there, too.
>
> I know it's not a very important issue, but I'd still like to know if
> I'm wrong or not, and why.
Is there even a valid world set in portage before 2.2?
mingdao@server ~ $ eshowkw portage
Keywords for sys-apps/portage:
| | u |
| a a p s | n |
| l m h i m m p s p | u s | r
| p d a p a 6 i p c 3 a x | s l | e
| h 6 r p 6 8 p p 6 9 s r 8 | e o | p
| a 4 m a 4 k s c 4 0 h c 6 | d t | o
---------------+---------------------------+-----+-------
[M]2.1.6.7_p1 | + + + + + + ~ + + + + + + | # 0 | gentoo
2.1.11.9 | + + + + + + ~ + + + + + + | # | gentoo
[I]2.1.11.31 | + + + + + + ~ + + + + + + | o | gentoo
2.1.11.33 | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ | # | gentoo
2.1.11.36 | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ | # | gentoo
2.1.11.37 | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ | o | gentoo
2.2.0_alpha142 | o o o o o o o o o o o o o | # | gentoo
2.2.0_alpha144 | o o o o o o o o o o o o o | # | gentoo
2.2.0_alpha147 | o o o o o o o o o o o o o | # | gentoo
2.2.0_alpha148 | o o o o o o o o o o o o o | o | gentoo
9999 | o o o o o o o o o o o o o | o | gentoo
mingdao@server ~ $ ls -al /var/lib/portage/
total 12
drwxr-sr-x 2 root portage 78 Dec 12 08:10 .
drwxr-xr-x 11 root root 152 Oct 20 22:25 ..
-rw-rw---- 1 root portage 8076 Nov 21 07:26 config
-rw-rw---- 1 root portage 0 Nov 6 08:03 preserved_libs_registry
-rw-r--r-- 1 root portage 1122 Dec 6 14:51 world
-rw-r--r-- 1 root portage 0 Dec 6 14:51 world_sets
Might be why @preserved-rebuild never does anything for me, also.
--
Happy Penguin Computers >')
126 Fenco Drive ( \
Tupelo, MS 38801 ^^
support@happypenguincomputers.com
662-269-2706 662-205-6424
http://happypenguincomputers.com/
Don't top-post: http://en.wikipedia.org/wiki/Top_post#Top-posting
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [gentoo-user] emerge sets syntax (@world vs. world)
2012-12-12 13:18 ` Alan McKinnon
2012-12-12 14:53 ` Randy Barlow
@ 2012-12-12 18:22 ` Francesco Turco
2012-12-14 10:29 ` Francesco Turco
1 sibling, 1 reply; 7+ messages in thread
From: Francesco Turco @ 2012-12-12 18:22 UTC (permalink / raw
To: gentoo-user
On Wed, Dec 12, 2012, at 14:18, Alan McKinnon wrote:
> You are wrong, the docs and the man pages are correct.
>
> The problem is that the word "set" is used in two different ways, one
> loosely and the other with reference to an exact construct.
>
> portage-2.2 introduced the concept of "a defined set" under user
> control. It's a list of packages that portage treats as a whole chunk
> of things together and the user can define what he wants in a set and
> give it a name. When used with emerge, sets like this must have an "@"
> prefix so portage can tell them apart from regular packages. Portage
> also dynamically creates sets internally that work the same way, things
> like @world and @system and @preserved-rebuild. You can use these too,
> you just can't define them or modify them directly.
>
> The portage man page has unfortunately also used the word "set" for a
> different reason. Portage has always had a concept of "world" (not
> @world) and "system" (not @system) which were really "just a bunch of
> stuff that happens to pop out of portage because it's hard-coded that
> way". And the docs say things like
>
> emerge world
>
> and call the "world" part "the world set".
>
> "Set" here is a homonym - two completely different words with different
> meanings that just happen to be spelled and sound the same.
I'm still not convinced. emerge(1) man page for portage-2.1.11.37
already contains the following command example:
> emerge --update --newuse --deep @world
And:
> emerge --update @world
But not a single example without the at sign.
I also found this (old) blog post from Portage developer Zac Medico:
http://blogs.gentoo.org/zmedico/2010/09/07/portage_2-1-9_release/. It
says:
> Package set names in emerge arguments have to be prefixed with @ (exceptions: ‘world’ and ‘system’ can be used without the prefix).
So it seems that since version 2.1.9 @world and world (and @system and
system) are just treated in the same way, but prefixing them with the at
symbol is more future-proof.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [gentoo-user] emerge sets syntax (@world vs. world)
2012-12-12 18:22 ` Francesco Turco
@ 2012-12-14 10:29 ` Francesco Turco
0 siblings, 0 replies; 7+ messages in thread
From: Francesco Turco @ 2012-12-14 10:29 UTC (permalink / raw
To: gentoo-user
On Wed, Dec 12, 2012, at 19:22, Francesco Turco wrote:
> I'm still not convinced. emerge(1) man page for portage-2.1.11.37
> already contains the following command example:
> > emerge --update --newuse --deep @world
>
> And:
> > emerge --update @world
>
> But not a single example without the at sign.
>
> I also found this (old) blog post from Portage developer Zac Medico:
> http://blogs.gentoo.org/zmedico/2010/09/07/portage_2-1-9_release/. It
> says:
> > Package set names in emerge arguments have to be prefixed with @ (exceptions: ‘world’ and ‘system’ can be used without the prefix).
>
> So it seems that since version 2.1.9 @world and world (and @system and
> system) are just treated in the same way, but prefixing them with the at
> symbol is more future-proof.
I contacted Zac Medico and he said me:
> Yes, @world is more future proof. I don't plan to deprecate the old way
any time soon, but it could happen at some point in the future.
It seems pretty clear to me. Plain "world" is not wrong, but "@world" is
the way to go.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-12-14 10:30 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-12 11:53 [gentoo-user] emerge sets syntax (@world vs. world) Francesco Turco
2012-12-12 13:18 ` Alan McKinnon
2012-12-12 14:53 ` Randy Barlow
2012-12-12 18:22 ` Francesco Turco
2012-12-14 10:29 ` Francesco Turco
2012-12-12 14:10 ` Michael Orlitzky
2012-12-12 15:03 ` Bruce Hill
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox