On 29 April 2013 15:14, heroxbd <hero...@gentoo.org> wrote:
>
> Dear all,
>
> In GLEP22[1], reasonable defaults has been introduced to prevent the
> explosion of keywords. With the growth of Gentoo Prefix, however, a
> substantial amount of keywords are introduced. Among them, duplex
> information exists. For example, an ebuild keyworded x86-linux(Gentoo
> Prefix on x86 linux) will certainly build on x86 (Gentoo vanilla on x86
> linux). Furthermore if the ebuild has "amd64" keyword, it will certainly
> build on amd64-linux too.
>
> This duplication becomes more manifested during the development of
> Gentoo Prefix on arm. Introducing an arm-linux keyword is objected by
> developers because we are having too many keywords[2]. But it is far
> from consensus yet, as people are already adding arm-linux to
> ebuilds[2].
>
> There were also a proposal to treat arm the same as arm-linux, but
> received more objections for its vagueness.
>
> Therefore we propose the following cartesian product extension to
> keyword system.
>
> a. introducing four more variables, in order, KEYWORDS_ARCH,
>    KEYWORDS_KERNEL, KEYWORDS_USERLAND, KEYWORDS_LIBC. An order relation
>    is defined as arch > kernel > userland > libc
>
> b. KEYWORDS_var1 must be defined if KEYWORDS_var2 is defined and var2 <
>    var1. Otherwise it can be omitted.
>
> c. KEYWORDS_PROD is defined as cartesian product of KEYWORDS_ARCH,
>    KEYWORDS_KERNEL, KEYWORDS_USERLAND, KEYWORDS_LIBC. Omitted variable
>    is interpreted as empty and not counted in the product. e.g., if
>    KEYWORDS_USERLAND and KEYWORDS_LIBC are not defined, KEYWORDS_PROD is
>    the product of KEYWORDS_ARCH and KEYWORDS_KERNEL.
>
> c1. "~" is attached to KEYWORDS_PROD elements if any of its oprand has "~".
>
> d. KEYWORDS is redefined as union of KEYWORDS_PROD and KEYWORDS (for
>    backward compatibility)
>
> e. reasonable defaults in GLEP22 applys.
>
> Therefore, for sys-devel/bison, the keywords proposed will be:
>
> KEYWORDS="~hppa-hpux ~m68k-mint ~ppc-aix ~x64-solaris ~x86-interix
>
> KEYWORDS_ARCH="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
> ~sh ~sparc ~x86"
>
> KEYWORDS_KERNEL="~linux ~solaris ~freebsd ~fbsd ~macos"
>
> Problems remaining:
>
> a. how to do stablization in this case?
>
> b. how to handle things that does not exist? e.g. sparc-macosx?
>
> c. how to clean up confusions? e.g. x64-solaris vs amd64-solaris,
>    freebsd (Gentoo Prefix on FreeBSD) vs fbsd (Gentoo/FreeBSD)


To me this looks to be needlessly complex.

Cheers,

Ben | yngwin
Gentoo developer
Gentoo Qt project lead, Gentoo Wiki admin

Reply via email to