On Thursday 12 April 2007, Johannes Skov Frandsen wrote:
> Hi
>
> I'm new to gentoo so bare with me.
>
> I'm trying to emerge eclipse-core, but can't seem to wrap my head
> around the idea about masked programs. I have read trough the
> documentation about the emerge tool but didn't find a working
> solution.
>
> Could anybody give me a few pointer?
There are not one but TWO ways that packages get masked. The first is
the usual method that separates the mostly stable branch from the
unstable/testing branch, and that is done with the KEYWORDS entry on
each package's ebuild file.
Here's an example from enlightenment-0.16.8.1:
KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sh sparc x86 ~x86-fbsd"
and from enlightenment-0.16.8.6:
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86
~x86-fbsd"
This entry is used by the ACCEPT_KEYWORDS entry in /etc/make.conf. This
normally matches your system architecture (ARCH) if you want the stable
packages, or ~$ARCH if you want the bleeding edge stuff in testing. Say
you have an i386 processor, you will then have 'ACCEPT_KEYWORDS=x86' in
make.conf for stable, and 'ACCEPT_KEYWORDS=~x86' if you want
unstable/testing.
How this works is that emerge looks at your ACCEPT_KEYWORDS to decide
what ebuild to make available to you. Looking at enlightenment above,
if you run x86, it will only allow the one marked x86 (0.16.8.1). If
you run ~x86, it will accept either (that's what ~x86 means - allow
packages marked ~x86 or lower (x86) to be installed)
So much for stable/testing. There's another way to use all this, that is
packages that don;t have any keywords at all. These are new ebuilds put
in portage for the first stage of testing. These ebuilds usually eat
your babies and cause your tax return to go missing, so they are
special. To use them, you don't use any variables as above, you put an
entry in /etc/portage/package.keywords to explicitly allow portage to
use them. You have to list each package separately, so that when a dumb
user cooks his own baby and offers it to emerge on a plate, he only has
himself to blame.
Now, eclipse-core is in this category:
nazgul enlightenment # eix eclipse-core
* dev-java/eclipse-core
Available versions: (3) [M](~)3.2_pre2
Homepage: http://www.eclipse.org/
Description: Core Runtime Utilities for Eclipse
See the [M] on the versions line? That says it's hard masked and you
need to do this to get it going:
echo "dev-java/eclipse-core -*" >> /etc/portage/package.keywords
emerge -av eclipse-core
Note the -* in the echo command, it is needed. It tells emerge to
install that package regardless of the fact that it has no keywords set
in the ebuild.
Does all this answer your actual question? :-)
alan
--
Optimists say the glass is half full,
Pessimists say the glass is half empty,
Developers say wtf is the glass twice as big as it needs to be?
Alan McKinnon
alan at linuxholdings dot co dot za
+27 82, double three seven, one nine three five
--
[EMAIL PROTECTED] mailing list