When I run equery depgraph www-client/chromium-10.0.648.151
, not all dependencies are available. Some shows M[package.mask]
, while some other shows [missing keyword]
. My ACCEPT_KEYWORDS
is ~amd64-linux
, according to emerge --info
. I experimented with different ACCEPT_KEYWORDS
(as an environmental variable passed to eqeury
), and all have different missing dependencies. Among all possible combinations, only with ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'
all dependencies can be satisfied at once.
Here are my questions:
- Is
ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'
a valid configuration? - I learned from the documentation that
amd64
mean stable, and~amd64
means unstable. What about~amd64-linux
? - If I select
~amd64
,equery
wouldn't use the packages available only toamd64
, resulting in missing dependencies. Is this expected? If so, should unstable testers use at leastACCEPT_KEYWORDS='amd64 ~amd64'
instead ofACCEPT_KEYWORDS='~amd64'
? - Does the order of the keywords matter?
Additional info: I installed Gentoo Prefix following this guide. By default,
$EPREFIX/etc/make.profile
is a symlink to $EPREFIX/usr/portage/profiles/prefix/linux/amd64
and contains a make.defaults
that has ACCEPT_KEYWORDS="-amd64 ~amd64-linux"
. Neither $EPREFIX/etc/make.conf
nor $EPREFIX/etc/make.globals
has ACCEPT_KEYWORDS
configured. According to eselect profile list
, no profile is selected.
Best Answer
1. Is ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux' a valid configuration?
From man make.conf:
So
ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'
is a valid combination.2. What about ~amd64-linux?
amd64-linux
is a Prefix thing. I don't know much about Prefix, but I can seeamd64-linux
in the list of valid keywords at/usr/portage/profiles/arch.list
, in the section named "Prefix keywords".~amd64-linux
is just the testing counterpart ofamd64-linux
.3.
ACCEPT_KEYWORDS='amd64 ~amd64'
vs just~amd64
If you have
~amd64
in yourACCEPT_KEYWORDS
, portage will use all the latest ebuilds, which often contains a lot of unstable stuff. I think that's why missing dependencies are to be expected. For example, that can happen if you want to installsoftware-a
, and the latest one in the testing branch issoftware-a-2.3.4
, which requireslibrary-b-5.6.7
, which doesn't have an ebuild yet. Regardingamd64 ~amd64
and just~amd64
, they are the same, really, because if your architecture is amd64 you will haveamd64
inACCEPT_KEYWORDS
, no matter what.4. Does the order of the keywords matter?
No, because it's just a matter of whether your
ACCEPT_KEYWORDS
variable contains a certain keyword or not. It's like a set (unordered).Having used Gentoo for a while, I still don't have the dare to put
~amd64
in myACCEPT_KEYWORDS
. It's so unstable it's really not recommended, setting it up for the first time guarantees a lot of breakage.