FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 09-07-2012, 06:17 PM
Fabian Groffen
 
Default sub-slots (for EAPI 5)

On 07-09-2012 13:51:24 -0400, Ian Stakenvicius wrote:
> On 07/09/12 01:13 PM, Fabian Groffen wrote:
> > On 06-09-2012 09:25:53 -0400, Ian Stakenvicius wrote:
> >> #1 - there is both a specification, and an initial
> >> implementation, AND a fork of the tree that is kept
> >> semi-up-to-date on my dev overlay.
> >
> > I was interested in a (formal) specification, not a proof of
> > concept.
> >
>
> Ahh.. sorry, i figured the modified slot-operator spec that Ciaran
> and Zac did was considered formal. Are you looking for a GLEP, then?
> or...

No, not a GLEP, per se. I'm trying to understand what sub-slot does and
is. I think I'm starting to understand now. However, for this feature
to be added to an EAPI, IMO it would be nice if there are resources that
make it for most developers very clear how this feature should be used
(and how not), and what kind of problems it can solve.

I guess real-life examples, more extensively described than you did
before, with exactly where it goes wrong, and how the situation is
improved would help.

> if you s/slot-deps/slot-operators/ , then yes i'm aware. to me,
> "slot-deps" is something we got in (iirc) EAPI=2.

The wiki calls it "Slot operator dependencies", which I abbreviate dto
slot-deps. Sorry for the confusion.

> >> [1] No advantage as sub-slots wouldn't relate to this, UNLESS
> >> the masking would then remove -all- SLOT="0/5" versions from the
> >> tree. In that case, the old SLOT="0/3" provider would be the
> >> 'upgrade' path and so 'foo' and 'bar' would be triggered for
> >> rebuild (since the lib they were linked to would be disappearing
> >> during emerge -uDN)
> >
> > So your example SLOTs are wrong, and should have included the
> > minor (always!?!) since downgrading a lib that goes back to an
> > older minor means functions no longer exist, thus a consumer can
> > potentially break.
>
> If those (missing) functions are necessary then the either the full
> slot, or the particular minimum package version, of libfnord would
> need to be specified in the consumer. This isn't any different from
> how things work now.

Eh, no. Now it just always breaks when you perform a downgrade, and
revdev-rebuild or @preserved-libs won't help you. I prefer that you
give best practices how to use sub-slots to make Portage also able to do
a recompile of bar when libfnord in the same SLOT gets downgraded.
(Because minors are used for compatible changes -- additions -- to the
ABI.)
(And the recompile is preferably done against the headers of the
downgraded version, but with the newer version's lib still around, such
that if this is a vital binary such as Python, it will not break down --
however, this is most likely too much to ask.)

> This is why, for the rebuild of bar-2.4 to be triggered on upgrade to
> libfnord-3.5 the SLOT= var within libfnord-3.5.ebuild would need to
> have something other than SLOT="0/5", ie, SLOT="0/5.12"

Yeah, but can I also avoid bar-2.4 being recompiled when I install
libfnord-3.5? It's not necessary, because the 5-ABI of libfnord is
supposed to be backwards compatible. (At least that's the idea.)
Like mentioned before, I DO want bar-2.4 to be recompiled if I have to
downgrade libfnord to a version before the one I had installed when I
compiled bar-2.4, though.

> > Do you allow sub-slot to depend on e.g. USE-flags in use? Suppose
> > libfnord has a USE-flag cow that adds special cow interfaces to
> > the ABI/API. Would SLOT="X/${PV}$(use cow && echo -- -cow)" work?
> > (I think SLOT is supposed to be metadata-static, but does the
> > sub-slot part count to that?)
>
> No, afaik slots (including sub-slots) can't be dynamic. Plus we
> already have comprehensive use deps solutions so why would we need that?

Because the ABI changes. But I guess you're right that we can safely
ignore packages that screw it up badly enough here.

Thanks

--
Fabian Groffen
Gentoo on a different level
 

Thread Tools




All times are GMT. The time now is 07:15 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org