Gentoo Archives: gentoo-pms

From: Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>
To: Ulrich Mueller <ulm@g.o>
Cc: gentoo-pms@l.g.o
Subject: Re: [gentoo-pms] [PATCH] pkg_setup() can rely on packages common to DEPEND & RDEPEND.
Date: Sat, 13 Aug 2011 10:28:00
In Reply to: Re: [gentoo-pms] [PATCH] pkg_setup() can rely on packages common to DEPEND & RDEPEND. by Ulrich Mueller
On Sat, 13 Aug 2011 12:10:45 +0200
Ulrich Mueller <ulm@g.o> wrote:
> >> Except that large parts of the tree rely on packages in RDEPEND > >> being available in pkg_*. > > > Then those packages are broken. > > Welcome to reality. ;-)
Reality is that RDEPEND cycle breaking happens, so those packages only work if by fluke they're not in an RDEPEND cycle. Now, we *could* weasel our way out of it by saying that it's illegal for any repository to include a package that would induce such a cycle between packages that rely upon the intersection of DEPEND and RDEPEND being available in pkg_*. But that's pretty horrible, so if we do that then we really need to fix things in future EAPIs.
> I'm not convinced. IDEPEND would cover a very specific usage case, and > IMHO it wouldn't be so different from an intersection of DEPEND and > RDEPEND.
The thing is, RDEPEND-RDEPEND cycles *have* to be breakable. There are enough genuine instances in the tree that we can't simply turn RDEPEND into "DEPEND for binaries".
> Not different enough to justify introduction of another variable.
Well... You say loads of packages in the tree rely upon it... So I'd say it's rather a common use case. And making it explicit makes things easy for developers, since it's fairly apparent that the subtleties of the different *DEPENDs are lost on most people. "If you use it in pkg_* it belongs in IDEPEND" is easy.
> Maybe package managers could introduce it as an internal variable > (containing packages common to DEPEND and RDEPEND)?
That's a little fiddly and ill-specified... If DEPEND has cat/pkg and RDEPEND has >=cat/pkg-1.23, are they common? What about foo? ( cat/pkg ) vs an unconditional cat/pkg?
> And in case that we should at some point switch to an Exherbo-style > syntax for dependencies, then it could be specified explicitly?
I'm pretty much operating on the assumption that we'll have at least SDEPEND in the next EAPI, and the embedded people have been after compiled-against-DEPEND for five years or more, so I suspect we a single var syntax of some kind or other... Whether it's just labels, just annotations, mixed labels and annotations Exherbo-style or something else, I don't know... -- Ciaran McCreesh


File name MIME type
signature.asc application/pgp-signature