public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [GLEP] Use EAPI-suffixed ebuilds (.ebuild-EAPI)
@ 2007-12-17 22:20 Piotr Jaroszyński
  2007-12-17 23:40 ` Thomas de Grenier de Latour
                   ` (8 more replies)
  0 siblings, 9 replies; 299+ messages in thread
From: Piotr Jaroszyński @ 2007-12-17 22:20 UTC (permalink / raw
  To: gentoo-dev; +Cc: glep, antarus

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

Hello,

attaching the GLEP.

most current version:
http://dev.gentoo.org/~peper/glep-0055.html
http://dev.gentoo.org/~peper/glep-0055.txt

-- 
Best Regards,
Piotr Jaroszyński

[-- Attachment #2: glep-0055.txt --]
[-- Type: text/plain, Size: 3976 bytes --]

GLEP: 55
Title: Use EAPI-suffixed ebuilds (.ebuild-EAPI)
Version: $Revision: $
Last-Modified: $Date: $
Author: Piotr Jaroszyński <peper@gentoo.org>
Status: Draft
Type: Standards Track
Content-Type: text/x-rst
Created: 17-Dec-2007
Post-History: 17-Dec-2007

Abstract
========

This GLEP proposes usage of EAPI-suffixed file extensions for ebuilds (for
example, foo-1.2.3.ebuild-1).

Motivation
==========

Including EAPI in the ebuild file extension has the following advantages:

  *  Possibility to extend the versioning rules in an EAPI, and to use them
     immediately in the Gentoo tree. For example, addition of the scm suffix -
     GLEP54 [#GLEP54]_.

  *  Possibility to extend the behaviour of inherit and add new global scope
     functions (as a result of not sourcing ebuilds with unsupported EAPI).

Specification
=============

Let's call the EAPI included in the ebuild filename the pre-source EAPI, and the
EAPI set inside the ebuild the post-source EAPI. Given these two, the final EAPI
used by the ebuild can be established by following these steps:

  *  If the pre-source EAPI is not set it defaults to 0.
  *  If the pre-source EAPI is not recognised it is returned immediately.
  *  If the post-source EAPI is not set, it defaults to the pre-source EAPI.
  *  post-source EAPI is returned.

The above process should be only used to generate the metadata cache. Should the
pre-source EAPI be unsupported the cache entry cannot be generated.

Ebuilds with unsupported EAPIs are masked.

QA tools should consider it an error for both EAPIs to be set explicitly to
different values. Package managers may warn, but must use the post-source EAPI
in such cases.

Examples:

  *  ``pkg-1.ebuild``, no EAPI set inside the ebuild
       pre-source EAPI defaults 0, post-source EAPI defaults to pre-source EAPI.
       EAPI 0 is used.

  *  ``pkg-2.ebuild-0``, no EAPI set inside the ebuild
       pre-source EAPI is 0, post-source EAPI defaults to pre-source EAPI.
       EAPI 0 is used.

  *  ``pkg-3.ebuild-1``, no EAPI set inside the ebuild
       pre-source EAPI is 1, post-source EAPI defaults to pre-source EAPI.
       EAPI 1 is used.

  *  ``pkg-4.ebuild``, ``EAPI="1"``
       pre-source EAPI defaults to 0, post-source EAPI is 1.
       EAPI 1 is used.

  *  ``pkg-4.ebuild-2``, ``EAPI="1"``
       pre-source EAPI is 2, post-source EAPI is 1.
       EAPI 1 is used, but note that one should **never** explicitly set both
       EAPIs to different values.

  *  ``pkg-5.ebuild-2``, no EAPI set inside the ebuild, package manager not supporting EAPI 2
       pre-source EAPI is 2, post-source EAPI is never checked.
       ebuild masked because of the unsupported pre-source EAPI.

  *  ``pkg-6.ebuild``, ``EAPI="2"``, package manager not supporting EAPI 2
       pre-source EAPI defaults to 0, post-source EAPI is 2.
       ebuild masked because of the unsupported post-source EAPI.

Note that it is still not permitted to have more than one ebuild with equal
category, package name, and version. Although it would have the advantage of
allowing to provide backward compatible ebuilds, it would introduce problems
too. The first is the requirement to have strict EAPI ordering, the second is
ensuring that all the ebuilds for a single category/package-version are
equivalent, i.e. installing any of them has exactly the same effect to the
system.

Backwards Compatibility
=======================

Currently ebuilds are recognised by the ``.ebuild`` file extension and hence
EAPI-suffixed ebuilds are simply ignored by the package manager allowing their
immediate usage in the Gentoo tree.


References
==========

.. [#GLEP54] GLEP 54, scm package version suffix
    (http://glep.gentoo.org/glep-0054.html)

Copyright
=========

This document has been placed in the public domain.

.. vim: set tw=80 fileencoding=utf-8 spell spelllang=en et :

^ permalink raw reply	[flat|nested] 299+ messages in thread

end of thread, other threads:[~2008-01-01 15:45 UTC | newest]

Thread overview: 299+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-17 22:20 [gentoo-dev] [GLEP] Use EAPI-suffixed ebuilds (.ebuild-EAPI) Piotr Jaroszyński
2007-12-17 23:40 ` Thomas de Grenier de Latour
2007-12-17 23:52   ` Ciaran McCreesh
2007-12-18  0:10 ` Joe Peterson
2007-12-18  0:18   ` Ciaran McCreesh
2007-12-18  0:30     ` Joe Peterson
2007-12-18  0:39       ` Ciaran McCreesh
2007-12-18  9:36         ` Fabian Groffen
2007-12-18 10:03           ` Ciaran McCreesh
2007-12-18 20:38             ` Fabian Groffen
2007-12-18 23:59               ` Ciaran McCreesh
2007-12-19 14:18                 ` Luca Barbato
2007-12-19 20:27                   ` Ciaran McCreesh
2007-12-18  0:36     ` Thomas de Grenier de Latour
2007-12-18  0:43       ` Ciaran McCreesh
2007-12-18  1:05         ` Joe Peterson
2007-12-18  1:14           ` Ciaran McCreesh
2007-12-18  1:46             ` Joe Peterson
2007-12-18 15:16               ` Marius Mauch
2007-12-18  1:01       ` Bo Ørsted Andresen
2007-12-18 21:08         ` Thomas de Grenier de Latour
2007-12-18 21:32           ` Piotr Jaroszyński
2007-12-18 21:41             ` Wulf C. Krueger
2007-12-19  0:09           ` Ciaran McCreesh
2007-12-19  7:12             ` Thomas de Grenier de Latour
2007-12-19 10:32               ` Ciaran McCreesh
2007-12-20  5:46                 ` Thomas de Grenier de Latour
2007-12-20  5:53                   ` Ciaran McCreesh
2007-12-20 13:08                     ` Thomas de Grenier de Latour
2007-12-20 15:57                       ` Michael Haubenwallner
2007-12-21  0:34                         ` Ciaran McCreesh
2007-12-21 13:43                           ` Richard Freeman
2007-12-21 13:59                             ` Ciaran McCreesh
2007-12-22  1:53                               ` [gentoo-dev] " Duncan
2007-12-22  6:35                                 ` Steve Long
2007-12-22  7:12                                   ` Ciaran McCreesh
2007-12-22  9:43                                     ` Duncan
2007-12-22 10:05                                   ` Duncan
2007-12-23 21:01                                     ` Steve Long
2007-12-24  8:31                                       ` Duncan
2007-12-21 14:01                             ` [gentoo-dev] " Thomas Anderson
2007-12-18 17:05       ` [gentoo-dev] " Steve Long
2007-12-18 17:21         ` Fernando J. Pereda
2007-12-19 10:26           ` [gentoo-dev] " Steve Long
2007-12-19 10:29             ` Ciaran McCreesh
2007-12-19 11:05               ` [gentoo-dev] " Steve Long
2007-12-19 11:16                 ` Ciaran McCreesh
2007-12-20  0:07                   ` [gentoo-dev] " Steve Long
2007-12-20  3:50                     ` Ciaran McCreesh
2007-12-20 12:48                       ` [gentoo-dev] " Steve Long
2007-12-20 13:06                         ` Richard Brown
2007-12-20 13:12                         ` Bo Ørsted Andresen
2007-12-20 13:18                           ` Fernando J. Pereda
2007-12-21  0:46                         ` Ciaran McCreesh
2007-12-21 13:31                           ` Richard Freeman
2007-12-21 18:52                             ` Petteri Räty
2007-12-22  0:59                           ` [gentoo-dev] " Steve Long
2007-12-22  7:25                             ` Ciaran McCreesh
2007-12-22  8:55                               ` Zhang Le
2007-12-22  9:07                                 ` Ciaran McCreesh
2007-12-22 10:01                                   ` Zhang Le
2007-12-22 11:44                                     ` Fernando J. Pereda
2007-12-22 15:12                                       ` Richard Freeman
2007-12-22 17:26                                         ` Zhang Le
2007-12-23  4:46                                         ` Ciaran McCreesh
2007-12-22 17:32                                       ` Zhang Le
2007-12-20  8:44                     ` [gentoo-dev] " Fernando J. Pereda
2007-12-20 18:27                   ` [gentoo-dev] " Zhang Le
2007-12-21  0:32                     ` Ciaran McCreesh
     [not found]                       ` <476B29A0.8090404@gentoo.org>
2007-12-21  3:04                         ` Ciaran McCreesh
2007-12-21  3:43                           ` Zhang Le
2007-12-20 18:45                   ` Zhang Le
2007-12-21  0:49                     ` Ciaran McCreesh
2007-12-21  2:14                       ` Luca Barbato
2007-12-21  2:23                         ` Ciaran McCreesh
     [not found]                           ` <476B2A54.8030606@gentoo.org>
2007-12-21  2:56                             ` Ciaran McCreesh
2007-12-21  3:51                               ` Zhang Le
2007-12-21  3:59                                 ` Ciaran McCreesh
2007-12-21  4:20                                   ` Zhang Le
2007-12-21  4:26                                     ` Ciaran McCreesh
2007-12-22  8:49                                       ` Zhang Le
2007-12-22  9:08                                         ` Ciaran McCreesh
2007-12-22 10:05                                           ` Zhang Le
2007-12-24  1:22                                           ` Luca Barbato
     [not found]                           ` <476B2884.1020700@gentoo.org>
2007-12-21  2:57                             ` Ciaran McCreesh
2007-12-21 13:29                       ` Richard Freeman
2007-12-21 13:41                         ` Ciaran McCreesh
2007-12-19 20:03                 ` Joe Peterson
2007-12-19 23:59                   ` Richard Freeman
2007-12-20  0:06                     ` Ciaran McCreesh
2007-12-20  1:28                       ` Richard Freeman
2007-12-20  3:54                         ` Ciaran McCreesh
2007-12-20  9:43                           ` [gentoo-dev] " Duncan
2007-12-20  9:57                             ` Ciaran McCreesh
2007-12-20 14:08                               ` Richard Freeman
2007-12-20 18:23                               ` Zhang Le
2007-12-20 13:56                           ` [gentoo-dev] Re: " Richard Freeman
2007-12-21  0:50                             ` Ciaran McCreesh
2007-12-18  7:17     ` [gentoo-dev] " Ulrich Mueller
2007-12-18  7:29       ` Ciaran McCreesh
2007-12-18 21:30         ` Thomas de Grenier de Latour
2007-12-18 13:57       ` Joe Peterson
2007-12-18 14:24         ` Fernando J. Pereda
2007-12-18 17:37           ` Ulrich Mueller
2007-12-18 17:53             ` Santiago M. Mola
2007-12-18 18:20               ` Joe Peterson
2007-12-18 19:41                 ` Wulf C. Krueger
2007-12-20  8:22                 ` Daniel Pielmeier
2007-12-18 17:56             ` Fernando J. Pereda
2007-12-18 19:45               ` [gentoo-dev] " Duncan
2007-12-18 19:59                 ` Fernando J. Pereda
2007-12-19 14:27                   ` Luca Barbato
2007-12-19 14:44                     ` Piotr Jaroszyński
2007-12-19 15:17                       ` Luca Barbato
2007-12-19 15:40                         ` Fernando J. Pereda
2007-12-19 16:03                           ` Jim Ramsay
2007-12-19 16:50                             ` Fernando J. Pereda
2007-12-20  9:05                               ` Duncan
2007-12-18 20:11                 ` Piotr Jaroszyński
2007-12-18 23:50                   ` Duncan
2007-12-19  0:06                     ` Ciaran McCreesh
2007-12-19  9:28                       ` Duncan
2007-12-18 18:26             ` [gentoo-dev] " Piotr Jaroszyński
2007-12-18 18:51               ` Ulrich Mueller
2007-12-18 20:08                 ` Piotr Jaroszyński
2007-12-18 20:27                   ` Fabian Groffen
2007-12-18  4:41 ` Jeroen Roovers
2007-12-18  4:46   ` Ciaran McCreesh
2007-12-18  5:27     ` Jeroen Roovers
2007-12-18  5:52       ` Jeroen Roovers
2007-12-18  9:53 ` [gentoo-dev] " Duncan
2007-12-18 10:18   ` Ciaran McCreesh
2007-12-18 15:45 ` [gentoo-dev] " Marius Mauch
2007-12-19  0:07   ` Ciaran McCreesh
2007-12-19 13:54     ` Marius Mauch
2007-12-19 14:37 ` Luca Barbato
2007-12-19 15:00   ` Piotr Jaroszyński
2007-12-19 15:15     ` Luca Barbato
2007-12-19 16:05   ` Jim Ramsay
2007-12-20 18:52     ` Zhang Le
2007-12-21  0:51       ` Ciaran McCreesh
2007-12-21  2:59         ` Zhang Le
2007-12-21  3:07           ` Ciaran McCreesh
2007-12-21  9:58             ` Thomas Pani
2007-12-21 10:01               ` Ciaran McCreesh
2007-12-21 13:29                 ` Rémi Cardona
2007-12-21 13:38                   ` Ciaran McCreesh
2007-12-24 11:19                     ` [gentoo-dev] " Steve Long
2007-12-24 12:39                       ` Ciaran McCreesh
2007-12-22  8:05               ` [gentoo-dev] " Zhang Le
2007-12-20  0:38 ` Donnie Berkholz
2007-12-20  2:31   ` EAPI definition Was: " Luca Barbato
2007-12-20  4:02     ` Donnie Berkholz
2007-12-20  6:52       ` Luca Barbato
2007-12-20  4:07     ` Ciaran McCreesh
2007-12-20  7:10       ` Luca Barbato
2007-12-27 19:16         ` Marius Mauch
2007-12-27 22:26           ` Luca Barbato
2007-12-27 22:40             ` Doug Klima
2007-12-28  6:57               ` Sven Vermeulen
2007-12-28 12:03             ` Ciaran McCreesh
2007-12-28 12:25               ` Santiago M. Mola
2007-12-28 12:28                 ` Ciaran McCreesh
2007-12-28 12:45                   ` Santiago M. Mola
2007-12-28 23:34                   ` [gentoo-dev] Re: EAPI definition Was: " Duncan
2007-12-31 14:48                     ` Marius Mauch
2007-12-31 14:46               ` EAPI definition Was: [gentoo-dev] " Marius Mauch
2007-12-31 15:09                 ` Ciaran McCreesh
2008-01-01  4:50                   ` Marius Mauch
2008-01-01 15:42                     ` Ciaran McCreesh
2007-12-20 10:37       ` Thomas Pani
2007-12-20 10:42         ` Ciaran McCreesh
2007-12-20 11:06           ` Thomas Pani
2007-12-20 11:12             ` Ciaran McCreesh
2007-12-20 13:54               ` Denis Dupeyron
2007-12-21  0:57                 ` Ciaran McCreesh
2007-12-21  2:46                   ` Luca Barbato
2007-12-21  3:05                     ` Ciaran McCreesh
2007-12-21  3:26                       ` Zhang Le
2007-12-21  3:32                         ` Ciaran McCreesh
2007-12-21  3:54                           ` Zhang Le
2007-12-21  3:09                   ` Zhang Le
2007-12-21  3:17                     ` Ciaran McCreesh
2007-12-21  3:38                       ` Zhang Le
2007-12-21  3:41                         ` Ciaran McCreesh
2007-12-21  3:56                           ` Zhang Le
2007-12-21  4:02                             ` Ciaran McCreesh
2007-12-21  4:25                               ` Zhang Le
2007-12-21 15:31                                 ` Bo Ørsted Andresen
2007-12-22  8:47                                   ` Zhang Le
2007-12-22  9:11                                     ` Ciaran McCreesh
2007-12-22  9:53                                       ` Simon Cooper
2007-12-22 10:02                                         ` Jan Kundrát
2007-12-22 12:45                                         ` Ciaran McCreesh
2007-12-22 15:23                                           ` Thomas de Grenier de Latour
2007-12-23  5:03                                             ` Ciaran McCreesh
2007-12-23 13:54                                               ` Thomas de Grenier de Latour
2007-12-24  5:58                                                 ` Ciaran McCreesh
2007-12-28  5:43                                                   ` [gentoo-dev] " Steve Long
2007-12-20 18:29               ` [gentoo-dev] " Zhang Le
2007-12-21 12:34                 ` Piotr Jaroszyński
2007-12-22  3:19                   ` Luca Barbato
2007-12-22  7:13                     ` Ciaran McCreesh
2007-12-22 11:03                       ` [gentoo-dev] " Duncan
2007-12-22 14:50                         ` Piotr Jaroszyński
2007-12-22 17:13                           ` Duncan
2007-12-24  1:39                       ` [gentoo-dev] " Luca Barbato
2007-12-22  7:00                   ` Jeroen Roovers
2007-12-22  8:09                   ` Zhang Le
2007-12-22  8:11                     ` Ciaran McCreesh
2007-12-22  8:58                       ` Zhang Le
2007-12-22 11:53                         ` Fernando J. Pereda
2007-12-22 17:14                           ` Zhang Le
2007-12-22 18:43                             ` Fernando J. Pereda
2007-12-22 19:47                               ` Zhang Le
2007-12-22 14:16                     ` Piotr Jaroszyński
2007-12-20 13:02             ` Wulf C. Krueger
2007-12-20 15:20               ` Luca Barbato
2007-12-20 16:08                 ` Rémi Cardona
2007-12-20 16:22                   ` Luca Barbato
2007-12-20 17:56                     ` Doug Klima
2007-12-21 14:53                     ` Michael Haubenwallner
2007-12-22  3:21                       ` Luca Barbato
2007-12-27 19:48                     ` Marius Mauch
2007-12-27 20:28                       ` Michael Haubenwallner
2007-12-27 20:36                         ` Ciaran McCreesh
2007-12-20 16:14               ` Thomas Pani
2007-12-20 21:33                 ` Joe Peterson
2007-12-21  0:54                   ` Ciaran McCreesh
2007-12-21  2:17                     ` Luca Barbato
2007-12-21  2:26                       ` Ciaran McCreesh
2007-12-21  2:41                         ` Luca Barbato
2007-12-21  2:53                           ` Ciaran McCreesh
2007-12-21 15:41                           ` Bo Ørsted Andresen
2007-12-22  1:19                             ` [gentoo-dev] " Steve Long
2007-12-22  3:24                             ` [gentoo-dev] " Luca Barbato
2007-12-22  7:14                               ` Ciaran McCreesh
2007-12-23  2:05                                 ` Luca Barbato
2007-12-22  9:01                               ` Zhang Le
2007-12-22  9:12                                 ` Ciaran McCreesh
2007-12-22  9:37                                   ` Zhang Le
2007-12-22 12:48                                     ` Ciaran McCreesh
2007-12-21  3:34                         ` Zhang Le
2007-12-21  3:36                           ` Ciaran McCreesh
2007-12-21  4:03                             ` Zhang Le
2007-12-21  4:06                               ` Ciaran McCreesh
2007-12-21  4:27                                 ` Zhang Le
2007-12-21  4:32                                   ` Ciaran McCreesh
2007-12-22 10:09                                     ` Zhang Le
2007-12-22 11:36                                       ` Zhang Le
2007-12-22 11:39                                         ` Jan Kundrát
2007-12-22 17:58                                           ` Zhang Le
2007-12-21  4:46                         ` Josh Saddler
2007-12-21  4:53                           ` Ciaran McCreesh
2007-12-21  6:24                             ` Luca Barbato
2007-12-21  6:34                               ` Ciaran McCreesh
2007-12-21 10:18                                 ` Luca Barbato
2007-12-21 10:27                                   ` Ciaran McCreesh
2007-12-21 15:45                           ` Bo Ørsted Andresen
2007-12-21 15:40                   ` Bo Ørsted Andresen
2007-12-21 16:37                     ` Joe Peterson
2007-12-22  7:15                       ` Ciaran McCreesh
2007-12-21 15:35                 ` Bo Ørsted Andresen
2007-12-20 19:01     ` EAPI definition Was: " Zhang Le
2007-12-20 19:30       ` Santiago M. Mola
2007-12-20 20:27         ` [gentoo-dev] Re: EAPI definition Was: " Markus Ullmann
2007-12-20 22:46           ` Wulf C. Krueger
2007-12-21  3:23         ` EAPI definition Was: [gentoo-dev] " Zhang Le
2007-12-21  3:28           ` Ciaran McCreesh
2007-12-21  4:15             ` Zhang Le
2007-12-21  4:19               ` Ciaran McCreesh
2007-12-22  0:23               ` [gentoo-dev] Re: EAPI definition Was: " Duncan
2007-12-21 15:47       ` EAPI definition Was: [gentoo-dev] " Bo Ørsted Andresen
2007-12-22  9:49         ` Zhang Le
2007-12-22 12:43           ` Ciaran McCreesh
2007-12-22 18:06             ` Zhang Le
2007-12-20  8:20   ` Denis Dupeyron
2007-12-20  8:29   ` Ciaran McCreesh
2007-12-20  9:19     ` Donnie Berkholz
2007-12-20  9:25       ` Petteri Räty
2007-12-20 19:21         ` Josh Saddler
2007-12-20  9:43       ` Jan Kundrát
2007-12-20 10:09         ` Donnie Berkholz
2007-12-20 10:26           ` Bo Ørsted Andresen
2007-12-20 20:06             ` Donnie Berkholz
2007-12-20 10:30           ` Jan Kundrát
2007-12-20 12:48           ` Wulf C. Krueger
2007-12-20  9:55       ` Ciaran McCreesh
2007-12-27 20:15         ` Marius Mauch
2007-12-20 13:36   ` Luca Barbato
2007-12-20 12:50 ` [gentoo-dev] [GLEP] Use EAPI inside ebuild filename (.EAPI-ebuild of different?) Peter Volkov
2007-12-31 14:38   ` Marius Mauch
2007-12-22  1:41 ` [gentoo-dev] [GLEP 55] EAPI subdirectories instead of file name suffixes Petteri Räty
2007-12-22  2:26   ` Piotr Jaroszyński
2007-12-22  6:46     ` [gentoo-dev] " Steve Long
2007-12-22  9:50     ` [gentoo-dev] " Jan Kundrát
2007-12-22 15:29       ` Piotr Jaroszyński
2007-12-22  7:09   ` Ciaran McCreesh
2007-12-22 11:59     ` Fernando J. Pereda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox