public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Thomas de Grenier de Latour <tom.gl@free.fr>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] GLEP 55 updated
Date: Sun, 17 May 2009 20:40:37 +0200	[thread overview]
Message-ID: <20090517204037.3a7393c0@gromit> (raw)
In-Reply-To: <d77765540905170856wa882914ica3dc4698c03bc96@mail.gmail.com>

Hi,

On 2009/05/17, Piotr Jaroszyński <peper@gentoo.org> wrote:
> I have just updated GLEP 55 [1], hopefully making it a bit clearer.

In the GLEP, you raises the following argument against the "Easily 
fetchable EAPI inside the ebuild" class of solutions:

> Performance decrease comes from the fact that with version format 
> changes in the picture package managers need EAPI to parse the 
> ebuild's version.  That means that merely picking the best version
> of a package requires loading EAPI (from cache or the ebuild) for 
> each available ebuild.

This argument is wrong imho.  Future EAPIs can't be allowed to 
introduce backward-incompatible changes to the versions ordering 
rules, or they would make the PM behavior ill defined.  Or, more 
precisely, if a PM adopts an EAPI with such a change, it has to drop
support for the older incompatible ones. Let's take a very simple 
example:
  - eapi X says "_p is equal to _p0"
  - eapi Y says "_p is greater than any _pN"
  --> of "foo-1_p1 with EAPI=X" and "foo-1_p with EAPI=Y", what is
  the "best" version?

So, basically, we are, and will stay, in a situation such that there 
is a complete order relation beetween all the version strings 
supported by at least one of the EAPIs implemented by the PM, and all
the versionning rules of this EAPIs match this order relation.

As a consequence, the algorithm for picking best version of a package
can be as simple as the following:
 1- among all ebuilds filenames, filter out the ones with unrecognized
version string
 2- among the remaining ones, parse and sort versions (sure, would 
actually be done together with step 1, for performances reasons)
 3- get metadatas for the best one (generate or pick in cache), and 
check its EAPI that it is a supported one, and also that the version
string is allowed in this EAPI
 4- loop on step 3 if EAPI check failed

It is as fast as the algorithm GLEP55 promotes, but in the case you're
using an old package manager and there is really a lot of ebuild 
updates you skip because of unsupported EAPI (here you still fetch 
their metadata, but not with GLEP55).  But i don't see it as a nominal
case. 


Thanks,
--
TGL.



  parent reply	other threads:[~2009-05-17 18:40 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-17 15:56 [gentoo-dev] GLEP 55 updated Piotr Jaroszyński
2009-05-17 16:06 ` Peter Alfredsen
2009-05-17 17:24   ` Nirbheek Chauhan
2009-05-17 18:47     ` Peter Alfredsen
2009-05-17 16:20 ` Denis Dupeyron
2009-05-17 17:20   ` Ulrich Mueller
2009-05-17 17:39     ` Jorge Manuel B. S. Vicetto
2009-05-17 17:43       ` Markos Chandras
2009-05-17 17:44       ` Joe Peterson
2009-05-17 21:17       ` Ben de Groot
2009-05-17 21:20         ` Ciaran McCreesh
2009-05-17 22:04           ` Joe Peterson
2009-05-18 15:07             ` [gentoo-dev] " Steven J Long
2009-05-18 15:16               ` Ciaran McCreesh
2009-05-18 15:28                 ` versionator.eclass terminator, was " Jeroen Roovers
2009-05-18 15:33                   ` Ciaran McCreesh
2009-05-18 15:42                   ` Robert Buchholz
2009-05-18 15:45                     ` Ciaran McCreesh
2009-05-18 15:30                 ` Joe Peterson
2009-05-17 22:08           ` [gentoo-dev] " Ben de Groot
2009-05-17 22:11             ` Ciaran McCreesh
2009-05-17 22:54               ` Ulrich Mueller
2009-05-17 22:58                 ` Ciaran McCreesh
2009-05-17 23:11                   ` Ulrich Mueller
2009-05-17 23:16                     ` Ciaran McCreesh
2009-05-17 23:30                       ` Ulrich Mueller
2009-05-17 23:33                         ` Ciaran McCreesh
2009-05-17 23:43                           ` [gentoo-dev] GLEP 54 and hyphens in PV (was: GLEP 55 updated) Ulrich Mueller
2009-05-17 23:49                             ` Ciaran McCreesh
2009-05-18  4:59                               ` [gentoo-dev] GLEP 54 and hyphens in PV Ulrich Mueller
2009-05-18 14:13                                 ` Ciaran McCreesh
2009-05-19 17:01                                   ` Ulrich Mueller
2009-05-19 17:59                                     ` Joe Peterson
2009-05-19 19:01                                     ` Kent Fredric
2009-05-28  7:59                                     ` Tiziano Müller
2009-05-28 10:54                                       ` Ulrich Mueller
2009-05-28 11:10                                         ` Piotr Jaroszyński
2009-05-28 15:13                                           ` Marijn Schouten (hkBst)
2009-05-28 15:55                                             ` Piotr Jaroszyński
2009-05-17 22:15             ` [gentoo-dev] GLEP 55 updated David Leverton
2009-05-18 15:28               ` [gentoo-dev] " Steven J Long
2009-05-18 15:58                 ` David Leverton
2009-05-17 17:36   ` [gentoo-dev] " Joe Peterson
2009-05-17 18:15 ` [gentoo-dev] " Ryan Hill
2009-05-17 18:17   ` Piotr Jaroszyński
2009-05-17 18:18   ` Ciaran McCreesh
2009-05-17 18:59     ` Ryan Hill
2009-05-17 18:40 ` Thomas de Grenier de Latour [this message]
2009-05-17 18:47   ` [gentoo-dev] " Ciaran McCreesh
2009-05-17 19:57     ` Thomas de Grenier de Latour
2009-05-17 20:20       ` Ciaran McCreesh
2009-05-17 18:57 ` Robert Buchholz
2009-05-17 19:31   ` Arfrever Frehtes Taifersar Arahesis
2009-05-17 19:33   ` Piotr Jaroszyński
2009-05-17 19:25 ` [gentoo-dev] " Piotr Jaroszyński

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=20090517204037.3a7393c0@gromit \
    --to=tom.gl@free.fr \
    --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