From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 12E4A1381F3 for ; Mon, 29 Apr 2013 07:54:09 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9D87CE09DE; Mon, 29 Apr 2013 07:54:00 +0000 (UTC) Received: from mail-ie0-f182.google.com (mail-ie0-f182.google.com [209.85.223.182]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 6B608E09C2 for ; Mon, 29 Apr 2013 07:53:59 +0000 (UTC) Received: by mail-ie0-f182.google.com with SMTP id bn7so6927705ieb.41 for ; Mon, 29 Apr 2013 00:53:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:reply-to:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type; bh=h+ay5/dAYMuQFFFW8EWpPPKJ+rrgUOQ7OM1L+TyAwpQ=; b=dLRhNaQ/Hi3LXaEJsfdJD1KMQcsgUpZiOoK6O7z+5RF0OZON3mQ1V85InV6LpoDDgh 79gbRHLP92WgxZakE0VcRVgRae2C8/5GvywzemZ/G5jba3Zrtfoz69sZmPCfZV/fSJev AyYK74en5JJ83F2vVmGeCNEce5ipwQEc6uO6daB81hhLEpQQ8GNFaNQW4miRqBH98e8K UBUteRC3jMkQRRrffWGJK2kG4M1iJqADfXoBVu3Dp5/+82TKmLr7vzmgnbmxWi35KydQ +3YX4M4hc2XI8gv6rpi+1KQCxnHuEl9TeR2P1TxgWbbMeggMdlWFGhnm8vl12Lf84aE6 WMow== Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 X-Received: by 10.50.51.226 with SMTP id n2mr7178939igo.25.1367222038722; Mon, 29 Apr 2013 00:53:58 -0700 (PDT) Sender: yngwin@gmail.com Received: by 10.64.91.9 with HTTP; Mon, 29 Apr 2013 00:53:58 -0700 (PDT) In-Reply-To: <87ppxdajv8.fsf@proton.in.awa.tohoku.ac.jp> References: <87ppxdajv8.fsf@proton.in.awa.tohoku.ac.jp> Date: Mon, 29 Apr 2013 15:53:58 +0800 X-Google-Sender-Auth: m7wBlRByCjLdqmoD3uDt6TDEM2Q Message-ID: Subject: Re: [gentoo-dev] RFC: cartesian product extension to keyword system From: Ben de Groot To: gentoo-dev Content-Type: text/plain; charset=UTF-8 X-Archives-Salt: 4ef1c4ba-ec0a-448f-b6e6-9b27b7eb9d7c X-Archives-Hash: e226842a9c4ac15e3a9417fee0eead42 On 29 April 2013 15:14, heroxbd 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