Re: [gentoo-user] emerge sets syntax (@world vs. world)
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.
[gentoo-user] emerge sets syntax (@world vs. world)
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.
Re: [gentoo-user] emerge sets syntax (@world vs. world)
On Wed, 12 Dec 2012 12:53:01 +0100 Francesco Turco ftu...@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.mckin...@gmail.com
Re: [gentoo-user] emerge sets syntax (@world vs. world)
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.
Re: [gentoo-user] emerge sets syntax (@world vs. world)
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
Re: [gentoo-user] emerge sets syntax (@world vs. world)
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 | 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 portage0 Nov 6 08:03 preserved_libs_registry -rw-r--r-- 1 root portage 1122 Dec 6 14:51 world -rw-r--r-- 1 root portage0 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 ^^ supp...@happypenguincomputers.com 662-269-2706 662-205-6424 http://happypenguincomputers.com/ Don't top-post: http://en.wikipedia.org/wiki/Top_post#Top-posting
Re: [gentoo-user] emerge sets syntax (@world vs. world)
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.