Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 584604 - [Future EAPI] Clarify whether multiple keywords for one arch are allowed
Summary: [Future EAPI] Clarify whether multiple keywords for one arch are allowed
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: PMS/EAPI (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: PMS/EAPI
Depends on:
Blocks: future-eapi
  Show dependency tree
Reported: 2016-05-30 20:16 UTC by Chí-Thanh Christopher Nguyễn
Modified: 2019-08-25 19:16 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Chí-Thanh Christopher Nguyễn gentoo-dev 2016-05-30 20:16:39 UTC
Some packages like media-libs/elementary-1.17.0 set
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-interix ~x86-solaris ~x64-solaris amd64 x86" (in part via the eclass, but that is handled in bug 486392)

This confuses at least repoman (bug 584560) and eshowkw (bug 584598).

It would be good if the next EAPI could explicitly state whether setting e.g. KEYWORDS="arch ~arch" is allowed.
Comment 1 Chí-Thanh Christopher Nguyễn gentoo-dev 2016-05-30 20:18:47 UTC
Sorry, I meant bug 584600 for repoman
Comment 2 Ulrich Müller gentoo-dev 2016-05-30 21:33:34 UTC
The PMS section referenced in URL merely describes an existing convention, and it was only added because some explanation of keyword semantics was needed for the use.stable.mask etc. files (introduced in EAPI 5).

I rather see this as an issue of tree policy than something that should be codified in PMS. Also, isn't it obvious that "arch ~arch" is redundant and equivalent to "arch"?
Comment 3 Chí-Thanh Christopher Nguyễn gentoo-dev 2016-05-30 21:49:56 UTC
I think KEYWORDS="arch" does not imply "~arch" in all cases.
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-05-31 06:44:48 UTC
Well, it isn't obvious, though it is kinda implicit.

I would look at it using the old 'opaque' meaning of keywords. Stable profiles have ACCEPT_KEYWORDS=foo, testing has 'foo ~foo'.

Now, a stable ebuild having 'foo' is matched by both. A testing ebuild having '~foo' is matched by the latter. An ebuild having 'foo ~foo' is implicitly matched by both as well, since the first system matches 'foo' alone, and the second one matches both.

Giving special meaning to 'foo' and '~foo', we made that a bit blurry.
Comment 5 Chí-Thanh Christopher Nguyễn gentoo-dev 2016-05-31 11:31:05 UTC
If the current status quo shall remain unchanged, at the very least I would add a statement to PMS 7.3.2

"It is possible that the KEYWORDS variable indicates multiple levels of stability for a single architecture. The behavior of the package manager in this case is implementation defined."