Gentoo Logo
Gentoo Spaceship

Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-pms
Lists: gentoo-pms: < Prev By Thread Next > < Prev By Date Next >
To: gentoo-pms@g.o
From: Maciej Mrozowski <reavertm@...>
Subject: Re: Clarify wording on self-blockers
Date: Wed, 27 Apr 2011 23:34:00 +0200
On Wednesday 27 of April 2011 21:24:51 Ciaran McCreesh wrote:

> > > Uh, no, that's the entire point of EAPIs.
> > 
> > This is a common misconception.
> Uh, no. You are completely and horribly wrong.

> EAPIs were introduced to avoid the problems that we used to have where
> different versions of Portage did different things with the same input
> (including, but not limited to, difficulties in adding new features).
> > From ebuild developer point of view - EAPI specification should
> > provide all knowledge required to create ebuilds along with detailed
> > and unambiguous description of what to expect from package manager
> > that is compliant with said EAPI.
> Oh heck no. That really isn't the point at all.

But it is. Discussion about blocks is precisely about what is expected package 
manager behaviour for self-mutual blocks (in EAPI>=2) in such case. And what 
you propose is 'behaviour is undefined for self-mutual blocks' - if so, why 
are they permitted by specification and not banned instead? The way you 
understand the word 'specification' doesn't really allow any specs bugfixes 
since they would "magically" invalidate any existing implementations, unless 
there is just one (and actually there *is* just one *supported*) so that 
specification could be kept in sync with it.

How does Paludis handle normal and/or strong self-blocks? And how PkgCore 
does? Is blocks situation ever going to be clarified/improved in package 
manager level? What with other PMS issues?
No, specification will be out of sync because every single random package 
manager developer will implement it his/her way, and then claim said package 
manager is compliant and specification cannot be fixed since it changes 
behaviour. No, it doesn't change behaviour of any implementation - it will 
make it possible to determine that some particular implementation is not 
compliant. It is to mean that some ancient portage is not compliant with 
hopefully-soon-to-be-updated specification? Yes indeed, that's the result of 
updating *specification*. Maybe also the point.

> From an ebuild developer's point of view, PMS describes (or at least
> tries to describe -- the case under discussion here is one where PMS
> probably needs fixing) what can and cannot be relied upon from the
> package manager. The EAPI feature is used to restrict your ebuild's
> availability to *all* package manager versions supporting a particular
> set of features. Not "the most recent Portage version". *ALL* versions
> of Portage that claim support for the EAPI in question.

(I'm tempted to quote some random definition for fun)

Ebuild developer looks at PMS through a view called EAPI so ebuild developer 
is interested in package manager behaviour in said EAPI that's why I said EAPI 
not PMS.
And Portage is frankly the only supported package manager in Gentoo.

If one wanted PMS to document behaviour of all known portage/paludis/pkgcore 
versions in PMS, one would need to be much more specific: what behaviour 
applies to what versions of particular package manager so that one really 
knows what can and what cannot be relied upon.

But I suppose it's not the point.

I thought PMS is specification and not a documentation - hence it should 
specify (to document would be poor choice of words.. ) intended, widely agreed 
behaviour and *defined* behaviour so that ebuild developer knows how to write 
ebuilds that work against PM *compliant* with specification and package 
manager developer knows how to write *compliant* PM. And because there are 
many places where PMS is too vague, it misses those goals.

> > Old package managers and their expected behaviour is irrelevant as
> > soon as migration path to recent version exists for them.
> Again, you are deeply confused. It is required that an upgrade path for
> old package managers is kept around for as long as possible by not
> using newer EAPIs for certain key system packages. This is entirely
> different to what you're saying -- it means that certain packages
> should be kept at low EAPIs for as long as possible, not that EAPIs are
> whatever the latest Portage version does.

No, you're making it up here.

> > Since intended behaviour for normal vs strong blocks is like Ulrich
> > specified, and migration path to the most recent from first portage
> > supporting EAPI-2 exists - argument to block specification update is
> > invalid.
> That doesn't follow at all. What happens if someone has an old Portage
> installed and the migration path includes things that rely upon a
> changed behaviour?

It wouldn't be a migration path, would it?

> Since you're trying to retroactively define a
> particular behaviour for all EAPIs that doesn't match what some old
> Portage versions do, your upgrade path is screwed.

No, I'm supporting *defining* behaviour as it's intended so that package 
managers are able to know whether they are correct. You're making all of them 
correct by explicitly allowing them to do anything here and there - it's not 

> This sort of thing really should be in the developer quiz. It's too
> basic and fundamental for people to be getting wrong.

Comprehensive reading is that sort of thing as well.

Ulrich: maybe we should consider renaming PMS to PMD? :P

(btw, I'm subscribed to this list)

signature.asc (This is a digitally signed message part.)
Re: Clarify wording on self-blockers
-- Brian Harring
Clarify wording on self-blockers
-- Ulrich Mueller
Re: Clarify wording on self-blockers
-- Maciej Mrozowski
Re: Clarify wording on self-blockers
-- Ciaran McCreesh
Lists: gentoo-pms: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
Re: Clarify wording on self-blockers
Next by thread:
Re: Clarify wording on self-blockers
Previous by date:
Re: Clarify wording on self-blockers
Next by date:
Re: Clarify wording on self-blockers

Updated Jul 18, 2012

Summary: Archive of the gentoo-pms mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.