On Mon, 5 Aug 2013 12:51:48 -0400
Alexis Ballier <aball...@gentoo.org> wrote:
> > Not really. There's a tradeoff between dependencies that are
> > occasionally too strict, and dependencies that are horribly
> > complicated (see "subslot dictionaries").
> 
> having a way to express 'my subslot is the one of my provider' doesnt
> seem overly complicated

Unfortunately things that "don't seem" to be complicated sometimes are
complicated. We haven't established whether that's the case here. In
particular, we don't have any notion of "providers" currently, and it's
not clear such a concept makes sense as-is. We haven't worked out what
happens in a || ( a b !c ) case where a, b and c are all installed, for
example.

> > So all this fuss over "unnecessary compiles" is misplaced. Gentoo
> > simply isn't the right distribution to use if minimising compile
> > time is a goal.
> 
> two wrongs do not make one right... esp. when the 'wrong' at hand can
> be easily avoided...

We've not established that it's "easy".

> > > 'horrible breakage' is mitigated by preserve-libs and running
> > > @preserved-rebuild as soon as possible has the same end result
> > > avoiding useless rebuilds.
> > 
> > But preserve-libs introduces breakages and security holes. The point
> > of slot operator dependencies is to replace that with a reliable
> > feature that doesn't rely upon guesswork and voodoo.
> 
> not more than subslots, per pms:
>  The sub-slot is used to represent cases in which an upgrade to a new
>  version of a package with a different sub-slot may require dependent
>  packages to be rebuilt.
> 
> so, per spec, it isnt reliable either since the spec does not enforce
> rebuilds as soon as possible, heck, it doesnt even enforces
> rebuilds... (may vs must + when)

You are misreading that statement. The "may" is there because even in
cases where there is an ABI break, some dependent packages may not
require recompiling because they may not be using the full ABI. The
"may" means developers are not prohibited from changing subslots in the
case where there exists a package which will not break.

Also, "as soon as possible" doesn't come into it anywhere. It's not
even a well defined requirement.

Also also, the spec generally avoids wordings that prohibit the package
manager from breaking things (partly because Portage doesn't properly
enforce dependencies, partly because prohibiting the user from breaking
things if they really want to is not the Gentoo way). The spec prefers
to state things in terms of what can be relied upon to work.

-- 
Ciaran McCreesh

Attachment: signature.asc
Description: PGP signature

Reply via email to