public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Ciaran McCreesh <ciaran.mccreesh@blueyonder.co.uk>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] RFC: Place of EAPI variable in ebuild
Date: Sun, 11 Nov 2007 21:04:00 +0000	[thread overview]
Message-ID: <20071111210400.463d8de7@blueyonder.co.uk> (raw)
In-Reply-To: <20071111205005.GB1270@gentoo.org>

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

On Sun, 11 Nov 2007 21:50:05 +0100
Fabian Groffen <grobian@gentoo.org> wrote:
> In this setting, one could say that eclasses should remain EAPI=0,
> such that all ebuilds will be able to work with them.

Mm. Slight problem with wording here, which is causing confusion.

Eclasses don't have an EAPI. Nor, strictly speaking, do ebuilds. An
EAPI is something that belongs to a cat/package-version::repo as a
whole, in the same way that DESCRIPTION etc does. Eclasses and ebuilds
on their own can merely support one or more different EAPIs.

> However, if an EAPI will require some change that makes it backwards
> incompatible then this won't work any more.  What you get is that e.g.
> for an eclass to work properly it needs to know about variable X,
> which of course on previous EAPIs does not exist, and hence can
> result in undesired behaviour.

Doesn't work going the other way too. Forcing eclasses to stick with
EAPI 1 means no slot deps, and the biggest use case for slot deps is
the KDE / Qt eclass mess.

> While Ciaran's suggestion would allow some things to work there, it
> still does not deal with the issue that eclasses should actually be
> marked with an EAPI level too.

Doesn't make sense. You can't have different EAPIs for different parts
of the same cat/pkg-version::repo. It wouldn't make sense for metadata
because you'd be merging different EAPIs into a single variable, and it
wouldn't make sense for functions because you can call between ebuilds
and eclasses and back again.

>  (Ideally they also would be part of the digests of an ebuild, but
> that aside.)

Would force a resign and redigest of every ebuild using an eclass every
time that eclass changed. Not doable.

> A slight alternative to Ciaran's idea here would be to make EAPI1,
> EAPI2 etc. subdirs in the eclass directory where sort of eclass
> overloading can be done.  This would only solve eclasses not to have
> an EAPI= in it, so they don't overwrite the ebuild's value.

That would require an EAPI bump. And if we're making inherit look in
lots of places, there're several other proposals in that area that
should be considered at the same time.

-- 
Ciaran McCreesh

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2007-11-11 21:06 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-09 21:55 [gentoo-dev] RFC: Place of EAPI variable in ebuild Petteri Räty
2007-11-09 22:04 ` Ciaran McCreesh
2007-11-09 22:42   ` Petteri Räty
2007-11-09 23:00     ` [gentoo-dev] " Markus Ullmann
2007-11-10  0:10       ` Petteri Räty
2007-11-10  0:39     ` [gentoo-dev] " Carsten Lohrke
2007-11-10  0:57       ` Ciaran McCreesh
2007-11-09 22:07 ` Fabian Groffen
2007-11-11 19:01   ` Petteri Räty
2007-11-11 19:08     ` Ciaran McCreesh
2007-11-11 19:21       ` Petteri Räty
2007-11-11 19:27         ` Ciaran McCreesh
2007-11-11 20:50           ` Fabian Groffen
2007-11-11 21:04             ` Ciaran McCreesh [this message]
2007-11-11 23:27           ` Carsten Lohrke
2007-11-13 20:22     ` Chris Gianelloni
2007-11-13 20:31       ` Ciaran McCreesh
2007-11-14  0:17         ` Chris Gianelloni
2007-11-14  0:39           ` Ciaran McCreesh
2007-11-14  0:46             ` Ciaran McCreesh
2007-11-14  1:25             ` Chris Gianelloni
2007-11-14  1:34               ` Ciaran McCreesh
2007-11-14  1:39             ` Josh Saddler
2007-11-14  0:58       ` Petteri Räty
2007-11-12 23:11 ` Petteri Räty
2007-11-12 23:13   ` Petteri Räty

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=20071111210400.463d8de7@blueyonder.co.uk \
    --to=ciaran.mccreesh@blueyonder.co.uk \
    --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