1 |
On Thursday 12 April 2007, Johannes Skov Frandsen wrote: |
2 |
> Hi |
3 |
> |
4 |
> I'm new to gentoo so bare with me. |
5 |
> |
6 |
> I'm trying to emerge eclipse-core, but can't seem to wrap my head |
7 |
> around the idea about masked programs. I have read trough the |
8 |
> documentation about the emerge tool but didn't find a working |
9 |
> solution. |
10 |
> |
11 |
> Could anybody give me a few pointer? |
12 |
|
13 |
There are not one but TWO ways that packages get masked. The first is |
14 |
the usual method that separates the mostly stable branch from the |
15 |
unstable/testing branch, and that is done with the KEYWORDS entry on |
16 |
each package's ebuild file. |
17 |
|
18 |
Here's an example from enlightenment-0.16.8.1: |
19 |
KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sh sparc x86 ~x86-fbsd" |
20 |
|
21 |
and from enlightenment-0.16.8.6: |
22 |
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 |
23 |
~x86-fbsd" |
24 |
|
25 |
This entry is used by the ACCEPT_KEYWORDS entry in /etc/make.conf. This |
26 |
normally matches your system architecture (ARCH) if you want the stable |
27 |
packages, or ~$ARCH if you want the bleeding edge stuff in testing. Say |
28 |
you have an i386 processor, you will then have 'ACCEPT_KEYWORDS=x86' in |
29 |
make.conf for stable, and 'ACCEPT_KEYWORDS=~x86' if you want |
30 |
unstable/testing. |
31 |
|
32 |
How this works is that emerge looks at your ACCEPT_KEYWORDS to decide |
33 |
what ebuild to make available to you. Looking at enlightenment above, |
34 |
if you run x86, it will only allow the one marked x86 (0.16.8.1). If |
35 |
you run ~x86, it will accept either (that's what ~x86 means - allow |
36 |
packages marked ~x86 or lower (x86) to be installed) |
37 |
|
38 |
So much for stable/testing. There's another way to use all this, that is |
39 |
packages that don;t have any keywords at all. These are new ebuilds put |
40 |
in portage for the first stage of testing. These ebuilds usually eat |
41 |
your babies and cause your tax return to go missing, so they are |
42 |
special. To use them, you don't use any variables as above, you put an |
43 |
entry in /etc/portage/package.keywords to explicitly allow portage to |
44 |
use them. You have to list each package separately, so that when a dumb |
45 |
user cooks his own baby and offers it to emerge on a plate, he only has |
46 |
himself to blame. |
47 |
|
48 |
Now, eclipse-core is in this category: |
49 |
|
50 |
nazgul enlightenment # eix eclipse-core |
51 |
* dev-java/eclipse-core |
52 |
Available versions: (3) [M](~)3.2_pre2 |
53 |
Homepage: http://www.eclipse.org/ |
54 |
Description: Core Runtime Utilities for Eclipse |
55 |
|
56 |
See the [M] on the versions line? That says it's hard masked and you |
57 |
need to do this to get it going: |
58 |
|
59 |
echo "dev-java/eclipse-core -*" >> /etc/portage/package.keywords |
60 |
emerge -av eclipse-core |
61 |
|
62 |
Note the -* in the echo command, it is needed. It tells emerge to |
63 |
install that package regardless of the fact that it has no keywords set |
64 |
in the ebuild. |
65 |
|
66 |
Does all this answer your actual question? :-) |
67 |
|
68 |
alan |
69 |
|
70 |
|
71 |
-- |
72 |
Optimists say the glass is half full, |
73 |
Pessimists say the glass is half empty, |
74 |
Developers say wtf is the glass twice as big as it needs to be? |
75 |
|
76 |
Alan McKinnon |
77 |
alan at linuxholdings dot co dot za |
78 |
+27 82, double three seven, one nine three five |
79 |
-- |
80 |
gentoo-user@g.o mailing list |