From: Pieter Van den Abeele <pvdabeel@gentoo.org>
To: gentoo-portage-dev@lists.gentoo.org
Cc: Pieter Van den Abeele <pvdabeel@gentoo.org>
Subject: Re: [gentoo-portage-dev] building dependency tree
Date: Wed, 12 May 2004 07:14:29 +0200 [thread overview]
Message-ID: <3F00C422-A3D3-11D8-9EB9-0003938E7E46@gentoo.org> (raw)
In-Reply-To: <40A193B5.9080206@skylineaero.com>
On 12 May 2004, at 05:02, Andrew Gaffney wrote:
> and then the list of packages to emerge
A topological ordering on the relevant digraph.
The relevant digraph as computed by portage is a 'tree' (note: cycles
filtered) which is created by performing a (series of) walk(s) in the
graph (portage "tree"). Dependencies = edges, for each ebuild there are
2^n (where n = number of USE flags in the ebuilds IUSE) choice nodes in
the graph.
I believe a DFS and BFS strategy have been suggested for the walk on
this list, each having their own advantages and disadvantages. The main
issue with the search strategy used by portage is that the runtime
complexity explodes when you try to implement stuff like 'package foo
conflicts with package bar' (the best we can do is without causing the
explosion is: package foo version X conflicts with package foo version
Y (same package - different version - 'slot' functionality). Of course
there are solutions to this problem, but those fall outside the scope
of your question :-)
Best regards,
Pieter Van den Abeele
--
gentoo-portage-dev@gentoo.org mailing list
next prev parent reply other threads:[~2004-05-12 5:14 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-12 3:02 [gentoo-portage-dev] building dependency tree Andrew Gaffney
2004-05-12 5:14 ` Pieter Van den Abeele [this message]
2004-05-12 6:42 ` Andrew Gaffney
2004-05-12 7:59 ` Pieter Van den Abeele
2004-05-12 14:43 ` Andrew Gaffney
2004-05-12 15:02 ` Pieter Van den Abeele
2004-05-12 15:14 ` [gentoo-portage-dev] /etc/make.profile/use.defaults (was: building dependency tree) Andrew Gaffney
2004-05-12 15:19 ` [gentoo-portage-dev] /etc/make.profile/use.defaults Andrew Gaffney
2004-05-12 15:43 ` Pieter Van den Abeele
2004-05-12 15:44 ` Andrew Gaffney
2004-05-12 16:03 ` Pieter Van den Abeele
2004-05-12 16:08 ` Andrew Gaffney
2004-05-12 16:33 ` Jason Stubbs
2004-05-12 16:39 ` Andrew Gaffney
2004-05-12 17:28 ` Jason Stubbs
2004-05-12 16:25 ` [gentoo-portage-dev] building dependency tree Jason Stubbs
2004-05-15 4:12 ` Andrew Gaffney
2004-05-15 6:14 ` Jason Stubbs
2004-05-15 6:50 ` Andrew Gaffney
2004-05-15 7:06 ` Jason Stubbs
2004-05-15 15:31 ` Andrew Gaffney
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=3F00C422-A3D3-11D8-9EB9-0003938E7E46@gentoo.org \
--to=pvdabeel@gentoo.org \
--cc=gentoo-portage-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