From: Brian Harring <ferringb@gmail.com>
To: gentoo-dev@lists.gentoo.org
Cc: ciaran.mccreesh@googlemail.com
Subject: Re: [gentoo-dev] GLEP: gentoo sync based unified deps proposal
Date: Tue, 18 Sep 2012 16:28:59 -0700 [thread overview]
Message-ID: <20120918232859.GG5384@localhost> (raw)
In-Reply-To: <20120919005309.1265dc30@pomiocik.lan>
On Wed, Sep 19, 2012 at 12:53:09AM +0200, Micha?? G??rny wrote:
> On Tue, 18 Sep 2012 23:06:19 +0100
> Ciaran McCreesh <ciaran.mccreesh@googlemail.com> wrote:
>
> > On Wed, 19 Sep 2012 00:01:21 +0200
> > Micha?? G??rny <mgorny@gentoo.org> wrote:
> > > On Tue, 18 Sep 2012 22:37:19 +0100
> > > Ciaran McCreesh <ciaran.mccreesh@googlemail.com> wrote:
> > > > On Tue, 18 Sep 2012 23:34:29 +0200
> > > > Micha?? G??rny <mgorny@gentoo.org> wrote:
> > > > > On Tue, 18 Sep 2012 22:08:43 +0100
> > > > > Ciaran McCreesh <ciaran.mccreesh@googlemail.com> wrote:
> > > > > > On Tue, 18 Sep 2012 23:06:06 +0200
> > > > > > Micha?? G??rny <mgorny@gentoo.org> wrote:
> > > > > > > But didn't we already point out that we can't have them in
> > > > > > > RDEPEND since they introduce conflicts?
> > > > > >
> > > > > > You are missing a basic and important part of how dependency
> > > > > > resolution works: currently, cycles consisting purely of
> > > > > > RDEPENDs are ignorable.
> > > > >
> > > > > So, what do we lose? If PDEP comes 'ASAP' officially, I believe
> > > > > that we actually gain RDEPs which can be actually trusted.
> > > >
> > > > "ASAP" is a weaker guarantee that RDEPENDs currently have --
> > > > RDEPENDs currently have the weakest guarantee necessary to ensure
> > > > that they can be trusted. It's also a useless guarantee, since
> > > > "ASAP" can be arbitrarily late.
> > >
> > > And can't RDEPENDs be arbitrarily late if there is a cycle?
> >
> > No. RDEPENDs have to be available when a package is used to satisfy a
> > dependency. That's the difference between an RDEPEND and a PDEPEND.
>
> So, if a particular cycle prohibits RDEPENDs being fulfilled when
> RDEPEND is needed to satisfy a dependency, we have a failure now,
> correct?
Depends on the cycle, but yes.
Order of depdencies for this converation; depends is strongest,
rdepends is second, pdepend is weak. If a pkg both deps and rdeps on
something, for building (since that's the first op), dep obviously
trumps all other dep forms for that pkg.
pkg1 depends <-> pkg2 depends cycle, we're boned, unsolvable; use dep
toggling at best.
pkg1 rdepends -> pkg2, pkg2 depends on pkg1, strictly speaking, we're
boned; pkg1 isn't considered 'usable' until pkg2 is considered
'usable'. This is the common case where use pdepend instead of rdep.
pkg1 rdepends <-> pkg2 rdepends; this is a contained cycle, and is
mergable.
Now if for pkg1 rdep<->pkg2 rdep, pkg2 rdeps on pkg3 (which neds to
be built), which deps on pkg1 this too, is an unsolvable chain.
you can build pkg1 and pkg2, and even install them. But pkg3 cannot
be built until pkg1 is considered 'usable', which can't be be
considered usable till pkg2 is considered usable, which (take a guess
where I'm going with this) can't be considered usable until pkg3 is
considered usable.
> Do we have that guarantee somewhere in the PMS?
It's not too hard to check in the doc yourself, ya know. ;)
relevant latex chunk:
"""
\begin{compactitem}
\item Build dependencies (\t{DEPEND}). These must be installed and
usable before any of the ebuild \t{src\_*} phase functions is
executed. These may not be installed at all if a binary package is
being merged.
\item Runtime dependencies (\t{RDEPEND}). These must be installed and
usable befor the results of an ebuild merging are treated as usable.
\item Post dependencies (\t{PDEPEND}). These must be installed at some
point before the package manager finishes the batch of installs.
\end{compactitem}
"""
keyword there is 'usable'. Wording could be expanded, but the core
notion is there- it just skips going over graph theory/resolver
guts/cycles since they're not explicitly a property of dependecy
types.
Feel free to write a patch expanding the wording htere...
~harring
next prev parent reply other threads:[~2012-09-18 23:30 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-16 13:52 [gentoo-dev] GLEP: gentoo sync based unified deps proposal Brian Harring
2012-09-16 14:39 ` [gentoo-dev] Re: [gentoo-pms] " Ciaran McCreesh
2012-09-16 16:05 ` Brian Harring
2012-09-16 16:59 ` Ciaran McCreesh
2012-09-25 22:46 ` Brian Harring
2012-09-29 16:05 ` Ciaran McCreesh
2012-09-30 20:14 ` Brian Harring
2012-09-30 20:30 ` Ciaran McCreesh
2012-09-30 21:42 ` Brian Harring
2012-09-30 21:53 ` Ciaran McCreesh
2012-09-30 23:56 ` Brian Harring
2012-10-01 7:13 ` Ciaran McCreesh
2012-10-01 9:01 ` Brian Harring
2012-10-01 9:15 ` Ciaran McCreesh
2012-10-17 15:03 ` [gentoo-dev] " Steven J. Long
2012-10-02 17:51 ` [gentoo-dev] Re: [gentoo-pms] " Ian Stakenvicius
2012-10-02 17:56 ` Ciaran McCreesh
2012-10-02 18:08 ` Ian Stakenvicius
2012-10-02 18:16 ` Ciaran McCreesh
2012-10-02 20:40 ` Brian Harring
2012-10-02 20:46 ` Ciaran McCreesh
2012-10-14 16:45 ` [gentoo-dev] " Steven J. Long
2012-10-14 16:38 ` Ciaran McCreesh
2012-10-17 13:52 ` [gentoo-dev] " Steven J. Long
2012-09-18 13:27 ` [gentoo-dev] " Ian Stakenvicius
2012-09-16 16:32 ` [gentoo-dev] " Alex Alexander
2012-09-16 16:44 ` Ulrich Mueller
2012-09-17 3:08 ` Brian Harring
2012-09-17 5:31 ` Peter Stuge
2012-09-17 10:55 ` Alex Alexander
2012-09-17 11:49 ` Ben de Groot
2012-09-17 12:41 ` Ciaran McCreesh
2012-09-17 13:48 ` Ben de Groot
2012-09-17 13:58 ` Ciaran McCreesh
2012-09-17 14:11 ` Ben de Groot
2012-09-17 14:14 ` Ciaran McCreesh
2012-09-17 14:51 ` Ben de Groot
2012-09-17 14:22 ` Michael Mol
2012-09-18 12:25 ` Ian Stakenvicius
2012-09-17 5:56 ` Brian Dolbec
2012-09-18 4:04 ` Arfrever Frehtes Taifersar Arahesis
2012-09-18 9:58 ` Brian Harring
2012-09-18 6:48 ` hasufell
2012-09-18 9:41 ` Brian Harring
2012-09-18 8:25 ` Michał Górny
2012-09-18 9:24 ` Brian Harring
2012-09-18 9:38 ` Ulrich Mueller
2012-09-18 9:56 ` vivo75
2012-09-18 10:35 ` Ulrich Mueller
2012-09-18 19:25 ` Zac Medico
2012-09-18 19:29 ` Ciaran McCreesh
2012-09-18 19:40 ` Zac Medico
2012-09-18 19:44 ` Ciaran McCreesh
2012-09-18 19:58 ` Zac Medico
2012-09-18 20:10 ` Ciaran McCreesh
2012-09-18 20:21 ` Zac Medico
2012-09-18 20:51 ` Michał Górny
2012-09-18 20:53 ` Ciaran McCreesh
2012-09-18 21:06 ` Michał Górny
2012-09-18 21:08 ` Ciaran McCreesh
2012-09-18 21:34 ` Michał Górny
2012-09-18 21:37 ` Ciaran McCreesh
2012-09-18 22:01 ` Michał Górny
2012-09-18 22:06 ` Ciaran McCreesh
2012-09-18 22:53 ` Michał Górny
2012-09-18 23:28 ` Brian Harring [this message]
2012-09-19 10:48 ` Michał Górny
2012-09-19 11:36 ` Ciaran McCreesh
2012-09-18 11:06 ` Brian Harring
2012-09-18 12:11 ` Ulrich Mueller
2012-09-18 19:18 ` Alec Warner
2012-09-18 20:06 ` Michał Górny
2012-09-18 20:11 ` Ciaran McCreesh
2012-09-18 20:22 ` Michał Górny
2012-09-18 20:27 ` Ciaran McCreesh
2012-09-18 20:40 ` Michał Górny
2012-09-19 4:09 ` Ben de Groot
2012-09-18 20:39 ` Ian Stakenvicius
2012-09-19 4:07 ` Ben de Groot
2012-09-19 6:01 ` Matt Turner
2012-09-19 6:36 ` Ulrich Mueller
2012-09-19 6:55 ` Matt Turner
2012-09-19 7:12 ` Ben de Groot
2012-09-19 14:19 ` Jeroen Roovers
2012-09-19 16:11 ` Matt Turner
2012-09-18 9:47 ` Michał Górny
2012-09-18 10:45 ` [gentoo-dev] GLEP: gentoo sync based unified deps proposas Brian Harring
2012-09-18 17:07 ` [gentoo-dev] GLEP: gentoo sync based unified deps proposal Hans de Graaff
2012-09-18 17:18 ` Michael Mol
2012-09-18 17:21 ` "Paweł Hajdan, Jr."
2012-09-18 20:37 ` [gentoo-dev] " Ryan Hill
2012-09-26 6:58 ` [gentoo-dev] " Michał Górny
2012-09-26 10:33 ` Brian Harring
2012-09-28 12:17 ` Brian Harring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120918232859.GG5384@localhost \
--to=ferringb@gmail.com \
--cc=ciaran.mccreesh@googlemail.com \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox