public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-user] Two portage questions
@ 2011-05-14 10:31 Alan Mackenzie
  2011-05-14 10:51 ` Alan McKinnon
  0 siblings, 1 reply; 8+ messages in thread
From: Alan Mackenzie @ 2011-05-14 10:31 UTC (permalink / raw
  To: gentoo-user

Hi, Gentoo.

Two questions about Portage whose ansers I haven't found in the fine
manuals:

1. Where is it specified what is in "system" in the same way that
"world" is in the file /var/lib/portage/world?

2. How does emerge know which mutt to build when I do "emerge mutt"?
There are three candidate files in /usr/portage/mail-client/mutt, e.g.
mutt-1.5.21-r1.ebuild.

Thanks!

-- 
Alan Mackenzie (Nuremberg, Germany).



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-user] Two portage questions
  2011-05-14 10:31 [gentoo-user] Two portage questions Alan Mackenzie
@ 2011-05-14 10:51 ` Alan McKinnon
  2011-05-14 14:12   ` Alan Mackenzie
  2011-05-14 15:38   ` Kevin O'Gorman
  0 siblings, 2 replies; 8+ messages in thread
From: Alan McKinnon @ 2011-05-14 10:51 UTC (permalink / raw
  To: gentoo-user; +Cc: Alan Mackenzie

Apparently, though unproven, at 12:31 on Saturday 14 May 2011, Alan Mackenzie 
did opine thusly:

> Hi, Gentoo.
> 
> Two questions about Portage whose ansers I haven't found in the fine
> manuals:
> 
> 1. Where is it specified what is in "system" in the same way that
> "world" is in the file /var/lib/portage/world?

That is defined in your system profile, not by you.

/etc/make.profile is a symlink to something in $PORTDIR/profiles/ and that 
defines the profile you are using. A profile is nothing more than a bunch of 
files that define what your basic system consists of - things like minimum 
packages to install, things that must not be installed, starting point for USE 
flags, etc etc.

Profiles are cascading, meaning that more specific profiles can include other 
more general ones, defined in files called "parent". These contain paths to 
other directories (which themselves can have parents), and the whole lots os 
recursively traversed from the bottom up till all the branches dead-end. The 
full complete set of data you get out of all that is your complete profile.

The specific files that define the system set are called "packages"

> 2. How does emerge know which mutt to build when I do "emerge mutt"?
> There are three candidate files in /usr/portage/mail-client/mutt, e.g.
> mutt-1.5.21-r1.ebuild.

It will pick the ebuild with the highest version number, modified by your 
rules concerning ACCEPT_KEYWORDS=, unmasked and masked packages.

If your system is set to stable (ACCEPT_KEYOWRDS=amd64 for example), it ill 
pick between mutt-1.5.20-r18 and mutt-1.5.21-r1 as those are both stable. 
Usually it will be 1.5.21-r1 as that is the most recent version. Normally you 
will find two or more stable versions for most packages. This is by design so 
that if an update on a stable system by chance breaks something, you still 
have an earlier version to fall back on should the need arise.

If your system is set to unstable (ACCEPT_KEYOWRDS=~amd64 for example), it 
will pick mutt-1.5.21-r2 as that version is unstable (displayed with a 
~ symbol next to it in output).

Sometimes you get packages that are masked, indicated with [m] or [M]. These 
are for lunatics to test, and there are rules concerning masking that you can 
use to free these up for use (it's all in the man pages). Mutt does not have 
any such packages but nvidia-drivers for example does. You must take explicit 
steps to obtain the latest version. This is so that the odds of validly being 
able to blame anyone at all when nvidia trashes your system are reduced to 
exactly zero.

Do you have eix installed? You should, great tool, and makes figuring all this 
out a whole lot easier.


-- 
alan dot mckinnon at gmail dot com



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-user] Two portage questions
  2011-05-14 10:51 ` Alan McKinnon
@ 2011-05-14 14:12   ` Alan Mackenzie
  2011-05-14 15:58     ` Alan McKinnon
  2011-05-14 15:38   ` Kevin O'Gorman
  1 sibling, 1 reply; 8+ messages in thread
From: Alan Mackenzie @ 2011-05-14 14:12 UTC (permalink / raw
  To: gentoo-user

Hi, Alan.

On Sat, May 14, 2011 at 12:51:14PM +0200, Alan McKinnon wrote:
> Apparently, though unproven, at 12:31 on Saturday 14 May 2011, Alan Mackenzie 
> did opine thusly:

> > 1. Where is it specified what is in "system" in the same way that
> > "world" is in the file /var/lib/portage/world?

> That is defined in your system profile, not by you.

> /etc/make.profile is a symlink to something in $PORTDIR/profiles/ and that 
> defines the profile you are using. A profile is nothing more than a bunch of 
> files that define what your basic system consists of - things like minimum 
> packages to install, things that must not be installed, starting point for USE 
> flags, etc etc.

> Profiles are cascading, meaning that more specific profiles can include other 
> more general ones, defined in files called "parent". These contain paths to 
> other directories (which themselves can have parents), and the whole lots os 
> recursively traversed from the bottom up till all the branches dead-end. The 
> full complete set of data you get out of all that is your complete profile.

> The specific files that define the system set are called "packages"

OK.  Some of these directories have got three parents.  ;-)  The people
deciding what goes into the "packages"es must have very steady hands.

> > 2. How does emerge know which mutt to build when I do "emerge mutt"?
> > There are three candidate files in /usr/portage/mail-client/mutt, e.g.
> > mutt-1.5.21-r1.ebuild.

> It will pick the ebuild with the highest version number, modified by your 
> rules concerning ACCEPT_KEYWORDS=, unmasked and masked packages.

> If your system is set to stable (ACCEPT_KEYOWRDS=amd64 for example), it will 
> pick between mutt-1.5.20-r18 and mutt-1.5.21-r1 as those are both stable. 
> Usually it will be 1.5.21-r1 as that is the most recent version. Normally you 
> will find two or more stable versions for most packages. This is by design so 
> that if an update on a stable system by chance breaks something, you still 
> have an earlier version to fall back on should the need arise.

OK, I get it.

> If your system is set to unstable (ACCEPT_KEYOWRDS=~amd64 for example), it 
> will pick mutt-1.5.21-r2 as that version is unstable (displayed with a 
> ~ symbol next to it in output).

I think I'll leave the unstable stuff alone.

> Sometimes you get packages that are masked, indicated with [m] or [M]. These 
> are for lunatics to test, and there are rules concerning masking that you can 
> use to free these up for use (it's all in the man pages). Mutt does not have 
> any such packages but nvidia-drivers for example does. You must take explicit 
> steps to obtain the latest version. This is so that the odds of validly being 
> able to blame anyone at all when nvidia trashes your system are reduced to 
> exactly zero.

> Do you have eix installed? You should, great tool, and makes figuring all this 
> out a whole lot easier.

I've got it now.  I'll go and have a look at it's /usr/share/doc / man
page.

Thanks!

> -- 
> alan dot mckinnon at gmail dot com

-- 
Alan Mackenzie (Nuremberg, Germany).



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-user] Two portage questions
  2011-05-14 10:51 ` Alan McKinnon
  2011-05-14 14:12   ` Alan Mackenzie
@ 2011-05-14 15:38   ` Kevin O'Gorman
  2011-05-14 16:01     ` Alan McKinnon
                       ` (2 more replies)
  1 sibling, 3 replies; 8+ messages in thread
From: Kevin O'Gorman @ 2011-05-14 15:38 UTC (permalink / raw
  To: gentoo-user

[-- Attachment #1: Type: text/plain, Size: 1325 bytes --]

On Sat, May 14, 2011 at 3:51 AM, Alan McKinnon <alan.mckinnon@gmail.com>wrote:

> Apparently, though unproven, at 12:31 on Saturday 14 May 2011, Alan
> Mackenzie
> did opine thusly:
>
> > Hi, Gentoo.
> >
> > Two questions about Portage whose ansers I haven't found in the fine
> > manuals:
> >
> > 1. Where is it specified what is in "system" in the same way that
> > "world" is in the file /var/lib/portage/world?
>
> That is defined in your system profile, not by you.
>
> /etc/make.profile is a symlink to something in $PORTDIR/profiles/ and that
>

Odd.  Not on my system, it's not.  It's a directory with two  entries:
  eapi: a text file, length 2, with contents "2\n".
  parent: a text file with two lines:
     ..
     ../../../../../../targets/desktop/kde
The parent is obviously not relative to the /etc/make.profile directory.
Portage works,
pretty much, although I have an unbuildable essential package at the moment
with a bug just filed.  Eix says my portage is 2.1.9.42.

defines the profile you are using. A profile is nothing more than a bunch of
> files that define what your basic system consists of - things like minimum
> packages to install, things that must not be installed, starting point for
> USE
> flags, etc etc.
>
[snippage]

> --
> alan dot mckinnon at gmail dot com
>
> --
Kevin O'Gorman, PhD

[-- Attachment #2: Type: text/html, Size: 2155 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-user] Two portage questions
  2011-05-14 14:12   ` Alan Mackenzie
@ 2011-05-14 15:58     ` Alan McKinnon
  0 siblings, 0 replies; 8+ messages in thread
From: Alan McKinnon @ 2011-05-14 15:58 UTC (permalink / raw
  To: gentoo-user; +Cc: Alan Mackenzie

Apparently, though unproven, at 16:12 on Saturday 14 May 2011, Alan Mackenzie 
did opine thusly:

> > The specific files that define the system set are called "packages"
> 
> OK.  Some of these directories have got three parents.  ;-)  The people
> deciding what goes into the "packages"es must have very steady hands.


hehehe :-)


That just means that that part of the profile has three completely different 
aspects to it. Think of it this way (sucked out of my thumb, too lazy to cat 
through files right now):

A desktop profile might want to inherit it's config from the

amd64
testing
kde

profiles. This make sense, all three are completely different things and by 
and large won't have conflicting things in them. This saves the devs having to 
maintain 9 different profiles (all combinations of the above) and keep 
everything in sync. With cascading profiles they maintain three simple, easy 
to understand things that (seldom) go fubar


-- 
alan dot mckinnon at gmail dot com



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-user] Two portage questions
  2011-05-14 15:38   ` Kevin O'Gorman
@ 2011-05-14 16:01     ` Alan McKinnon
  2011-05-14 16:02     ` Neil Bothwick
  2011-05-14 22:39     ` Mike Edenfield
  2 siblings, 0 replies; 8+ messages in thread
From: Alan McKinnon @ 2011-05-14 16:01 UTC (permalink / raw
  To: gentoo-user; +Cc: Kevin O'Gorman

Apparently, though unproven, at 17:38 on Saturday 14 May 2011, Kevin O'Gorman 
did opine thusly:

> > /etc/make.profile is a symlink to something in $PORTDIR/profiles/ and
> > that
> 
> Odd.  Not on my system, it's not.  It's a directory with two  entries:
>   eapi: a text file, length 2, with contents "2\n".
>   parent: a text file with two lines:
>      ..
>      ../../../../../../targets/desktop/kde
> The parent is obviously not relative to the /etc/make.profile directory.
> Portage works,
> pretty much, although I have an unbuildable essential package at the moment
> with a bug just filed.  Eix says my portage is 2.1.9.42.


You ls'ed the target of the symlink, not the symlink itself. Omit the trailing 
slash in the argument to ls and you'll see it.

Either that, or your system is busted.




-- 
alan dot mckinnon at gmail dot com



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-user] Two portage questions
  2011-05-14 15:38   ` Kevin O'Gorman
  2011-05-14 16:01     ` Alan McKinnon
@ 2011-05-14 16:02     ` Neil Bothwick
  2011-05-14 22:39     ` Mike Edenfield
  2 siblings, 0 replies; 8+ messages in thread
From: Neil Bothwick @ 2011-05-14 16:02 UTC (permalink / raw
  To: gentoo-user

[-- Attachment #1: Type: text/plain, Size: 657 bytes --]

On Sat, 14 May 2011 08:38:04 -0700, Kevin O'Gorman wrote:

> > /etc/make.profile is a symlink to something in $PORTDIR/profiles/ and
> > that 
> 
> Odd.  Not on my system, it's not.  It's a directory with two  entries:
>   eapi: a text file, length 2, with contents "2\n".
>   parent: a text file with two lines:
>      ..
>      ../../../../../../targets/desktop/kde
> The parent is obviously not relative to the /etc/make.profile directory.

No, it's relative to the real file.


-- 
Neil Bothwick

"There are two ways to live: you can live as if nothing is a miracle;
 you can live as if everything is a miracle."
 (Albert Einstein)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-user] Two portage questions
  2011-05-14 15:38   ` Kevin O'Gorman
  2011-05-14 16:01     ` Alan McKinnon
  2011-05-14 16:02     ` Neil Bothwick
@ 2011-05-14 22:39     ` Mike Edenfield
  2 siblings, 0 replies; 8+ messages in thread
From: Mike Edenfield @ 2011-05-14 22:39 UTC (permalink / raw
  To: gentoo-user

On 5/14/2011 11:38 AM, Kevin O'Gorman wrote:
> On Sat, May 14, 2011 at 3:51 AM, Alan McKinnon

>     /etc/make.profile is a symlink to something in
>     $PORTDIR/profiles/ and that

> Odd.  Not on my system, it's not.

I bet it is:

kutulu@basement ~ $ ls -l /etc/make.profile
lrwxrwxrwx 1 root root 44 Nov 25 12:21 /etc/make.profile -> 
../usr/portage/profiles/hardened/linux/amd64



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-05-14 22:41 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-14 10:31 [gentoo-user] Two portage questions Alan Mackenzie
2011-05-14 10:51 ` Alan McKinnon
2011-05-14 14:12   ` Alan Mackenzie
2011-05-14 15:58     ` Alan McKinnon
2011-05-14 15:38   ` Kevin O'Gorman
2011-05-14 16:01     ` Alan McKinnon
2011-05-14 16:02     ` Neil Bothwick
2011-05-14 22:39     ` Mike Edenfield

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox