public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Brian Harring <ferringb@gmail.com>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives
Date: Wed, 25 Feb 2009 04:49:51 -0800	[thread overview]
Message-ID: <20090225124951.GD3506@hrair> (raw)
In-Reply-To: <49A472E3.1010204@gentoo.org>

[-- Attachment #1: Type: text/plain, Size: 3179 bytes --]

On Wed, Feb 25, 2009 at 12:21:23AM +0200, Petteri R??ty wrote:
> My notes so far:
> 
> 1) Status quo
>   - does not allow changing inherit
>   - bash version in global scope
>   - global scope in general is quite locked down
> 
> 2) EAPI in file extension
>   - Allows changing global scope and the internal format of the ebuild
>   a) .ebuild-<eapi>
>     - ignored by current Portage
>   b) .<eapi>.ebuild
>     - current Portage does not work with this
>   c) .<eapi>.<new extension>
>     - ignored by current Portage
> 
> 3) EAPI in locked down place in the ebuild
>   - Allows changing global scope
>   - EAPI can't be changed in an existing ebuild so the PM can trust
>     the value in the cache
>   - Does not allow changing versioning rules unless version becomes a
>     normal metadata variable
>     * Needs more accesses to cache as now you don't have to load older
>       versions if the latest is not masked
>   a) <new extension>
>   b) new subdirectory like ebuilds/
>   - we could drop extension all together so don't have to argue about
>     it any more
>   - more directory reads to get the list of ebuilds in a repository
>   c) .ebuild in current directory
>   - needs one year wait

4) eapi as a function; instead of "EAPI=1", do "eapi 1", required as 
 the first statement (simplest way).
 pros:
  - global scope changes can occur (inherit mechanism changes 
    included).
  - expanding on the first, auto inherits (pkg level) are possible- 
    effectively when eapi gets invoked the manager is in control and 
    can do whatever is desired setting up the env wise.
  - bash version requirements can be leveled (bash parses as it goes, 
    meaning that essentially it won't parse what follows 'eapi 2' till 
    that command statement finishes)
  - fits w/ the existing semantics nicely enough.
 cons:
  - mangling the version rules for pkgs still isn't possible; no -scm.  
    Arguable if -scm is even desired, but being explicit about it not 
    covering this.
  - transition is slightly icky; basically one of the following is 
    required-
   a) for EAPI>=2, do 'eapi 3 || die "upgrade your manager"'.  Reason 
    for this is that current managers obviously lack an eapi function, 
    to make managers available *now* blow up the || die is required.  
    This solution can be deployed now, no transition required although 
    at some point stating "eapi is required retroactively for all 
    eapis" would be wise to eliminate the need for the || die (cut 
    support basically for old managers)
   b) bashrc trickery, defines an eapi if it's unset.  Said eapi 
    function exports EAPI=$1, optionally triggering a die if the eapi 
    isn't 0,1,2 (since any later eapi would require a manager upgrade 
    which would also have the eapi function).

Personally, if g54 is ixnayed #4 I tend to think is the best option 
out there- if g54 is forced in, g55 (or at least something that 
adjusts the extension to make it invisible to current managers) is 
required.

Commentary?  Tend to think #4 is the most aesthetically pleasing to 
folk, but who knows...
~harring

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

  parent reply	other threads:[~2009-02-25 12:49 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-24 22:21 [gentoo-dev] Collecting opinions about GLEP 55 and alternatives Petteri Räty
2009-02-24 22:49 ` Ferris McCormick
2009-02-24 23:48 ` [gentoo-dev] " Ryan Hill
2009-02-25  0:38 ` [gentoo-dev] " Richard Freeman
2009-02-25  2:40 ` Jeremy Olexa
2009-02-25  3:53 ` Dawid Węgliński
2009-02-25  4:32 ` Alistair Bush
2009-02-25  6:46 ` Alec Warner
2009-02-25  6:49 ` Jeroen Roovers
2009-02-25  6:53 ` Ulrich Mueller
2009-02-25 21:00   ` Joe Peterson
2009-02-25  8:16 ` Alexis Ballier
2009-02-25 10:05 ` Tobias Klausmann
2009-02-25 10:34 ` Peter Alfredsen
2009-02-25 10:59 ` Michael Haubenwallner
2009-02-25 11:18 ` Mike Auty
2009-02-25 11:57 ` Jim Ramsay
2009-02-25 12:49 ` Brian Harring [this message]
2009-02-25 22:19   ` Andrew Gaffney
2009-02-25 23:03   ` [gentoo-dev] eapi function (Was: Collecting opinions about GLEP 55 and alternatives) Ciaran McCreesh
2009-02-26  0:02     ` Brian Harring
2009-02-26  0:11       ` Ciaran McCreesh
2009-02-26  0:24         ` Brian Harring
2009-02-26  0:32           ` Ciaran McCreesh
2009-02-26  0:43         ` Jorge Manuel B. S. Vicetto
2009-02-26  0:51           ` Ciaran McCreesh
2009-02-26 11:07             ` Petteri Räty
2009-02-25 14:33 ` [gentoo-dev] Collecting opinions about GLEP 55 and alternatives Robert Buchholz
2009-02-25 19:03 ` Thomas Anderson
2009-02-25 21:09 ` Josh Saddler
2009-02-26  2:13 ` Ravi Pinjala
2009-02-26  3:13 ` Kumba
2009-02-28 20:52   ` Kumba
2009-02-26  5:36 ` Zac Medico
2009-02-26 18:07 ` Ciaran McCreesh
2009-02-26 18:20   ` Ciaran McCreesh
2009-02-26 18:47     ` Nirbheek Chauhan
2009-02-26 18:56       ` Ciaran McCreesh
2009-02-26 19:16         ` Nirbheek Chauhan
2009-02-26 19:24           ` Ciaran McCreesh
2009-02-27  9:27 ` Caleb Cushing
2009-02-27 10:52 ` Rémi Cardona
2009-02-28 10:56 ` Peter Volkov
2009-02-28 12:25 ` Fernando J. Pereda
2009-02-28 19:39 ` Robert Bridge
2009-02-28 19:46   ` Ciaran McCreesh
2009-03-02  7:31 ` [gentoo-dev] " Christian Faulhammer
2009-03-02  8:33   ` Tiziano Müller
2009-03-02 21:23 ` [gentoo-dev] " Thilo Bangert
2009-03-09 13:01 ` Jacob Floyd
2009-03-09 15:54   ` [gentoo-dev] " Duncan
2009-03-09 19:54     ` Richard Freeman
2009-03-10  6:18       ` Duncan
2009-03-10 15:58         ` Christian Faulhammer
2009-03-10 21:11           ` Santiago M. Mola
2009-03-10  8:53 ` [gentoo-dev] " Michael Haubenwallner
2009-03-12 17:18   ` Alistair Bush
2009-03-13 10:29     ` Michael Haubenwallner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090225124951.GD3506@hrair \
    --to=ferringb@gmail.com \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox