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