Re: [gentoo-user] emerge sets syntax (@world vs. world)

2012-12-14 Thread Francesco Turco
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)

2012-12-12 Thread Francesco Turco
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)

2012-12-12 Thread Alan McKinnon
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)

2012-12-12 Thread Michael Orlitzky
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)

2012-12-12 Thread Randy Barlow

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)

2012-12-12 Thread Bruce Hill
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)

2012-12-12 Thread Francesco Turco
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.