On Fri, 9 Nov 2007 22:40:08 +0000
Ciaran McCreesh <[EMAIL PROTECTED]> wrote:
> Is the following set sufficient? Is the following set the least
> restrictive correct solution?

... to explain the implications of these...

Say we have packages a, b and c, and none of them have any
dependencies. One valid solution to the build ordering is as follows:

* Install a
* Install b
* Install c

One of many solutions that is *not* valid is:

* Start doing a, b and c in parallel. Install them as they become
ready, doing only one merge at once.

Another that is not valid is:

* Start doing a, b and c in parallel, but don't merge them.
* Merge a.
* Merge b.
* Merge c.

One that is valid is:

* Build binary packages for a, b and c in parallel.
* Merge a's binary.
* Merge b's binary.
* Merge c's binary.

Another trickier situation. Say a-1 is installed, and a-2 and b are
targets, and b deps upon a (any version). By the rules given, this is
allowed:

* Build binary packages for a-2 and b in parallel.
* Merge a-2's binary (and clean a-1).
* Merge b's binary.

The situation becomes a whole lot more fun when, for example, we have
ten packages with interdependencies, and we only want to build at most
three things at once. That's why it pretty much has to be defined in
terms of invariancies and exclusivities rather than by listing a small
set of permitted algorithms.

-- 
Ciaran McCreesh

Attachment: signature.asc
Description: PGP signature

Reply via email to