Gentoo Archives: gentoo-pms

From: Zac Medico <zmedico@g.o>
To: "Michał Górny" <mgorny@g.o>
Cc: gentoo-pms@l.g.o, Ulrich Mueller <ulm@g.o>, Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>
Subject: Re: [gentoo-pms] Rephrasing *DEPEND
Date: Sun, 12 Jun 2011 18:03:38
In Reply to: Re: [gentoo-pms] Rephrasing *DEPEND by "Michał Górny"
On 06/12/2011 06:16 AM, Michał Górny wrote:
> On Sun, 12 Jun 2011 02:13:35 -0700 > Zac Medico <zmedico@g.o> wrote: > >> On 06/12/2011 01:18 AM, Ulrich Mueller wrote: >>>>>>>> On Sun, 12 Jun 2011, Michał Górny wrote: >>> >>>> True. How about pkg_setup()? Shall we assume RDEPEND are there or >>>> rely on @system only? >>> >>> IIUC, with Portage's breaking of dependency cycles there's no >>> absolute guarantee that packages in RDEPEND will be available in >>> pkg_*. >> >> It would be more accurate to say that it's guaranteed except for cases >> in which circular dependencies make it impossible to guarantee. > > This or other words, this makes this an unreliable feature. So, right > now, users can't assume anything specific about dependencies being > installed in pkg_*?
In practice it's very reliable, although the specific behavior varies depending on whether or not there are circular dependencies. So, it would probably make sense to specify it like this: (A) If there are no circular RDEPEND dependencies, then RDEPEND is guaranteed to be satisfied. (B) If there are circular RDEPEND dependencies, then RDEPEND is not guaranteed to be satisfied.
> Doesn't this make it actually impossible to call > the installed application in pkg_postinst()?
Only when case (B) applies. It may be possible to improve a situation like this by making the circular dependency PDEPEND in one direction and RDEPEND in the other: first RDEPENDs on second second PDEPENDs on first This make it possible to guarantee case (A) for the first package, while there is no such guarantee for the second package. -- Thanks, Zac


Subject Author
Re: [gentoo-pms] Rephrasing *DEPEND Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>