FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo User

 
 
LinkBack Thread Tools
 
Old 05-14-2011, 10:31 AM
Alan Mackenzie
 
Default Two portage questions

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).
 
Old 05-14-2011, 10:51 AM
Alan McKinnon
 
Default Two portage questions

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
 
Old 05-14-2011, 02:12 PM
Alan Mackenzie
 
Default Two portage questions

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).
 
Old 05-14-2011, 03:38 PM
"Kevin O'Gorman"
 
Default Two portage questions

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
".
* 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
 
Old 05-14-2011, 03:58 PM
Alan McKinnon
 
Default Two portage questions

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
 
Old 05-14-2011, 04:01 PM
Alan McKinnon
 
Default Two portage questions

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
".
> 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
 
Old 05-14-2011, 04:02 PM
Neil Bothwick
 
Default Two portage questions

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
".
> 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)
 
Old 05-14-2011, 10:39 PM
Mike Edenfield
 
Default Two portage questions

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
 

Thread Tools




All times are GMT. The time now is 09:38 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org