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

Reply via email to