> I'm struggling with building dependency "trees" for rpkg.  What
> happens (or should happen eventually) is that, given a record like:
>
> Package: foo
> Depends: bar (= 1.3), booz (> 2.0)
>
> ...installing foo will get the foo package, the matching bar package,
> the matching booz package, the packages bar depends on, the packages
> booz depends on...  you get the picture (if you've ever used Debian,
> you also get the movie).

Tangent to your post ...

I'm curious, how will you handle existing local versions? For example, I
request the latest foo, it requires 1.3 but I have 1.4 installed. If they
specify >1.3, then of course, you're okay.

Then what about foo requires bar 1.3 which requires ick 1.5 and blat 2.0.
Ick 1.5 requires strom 2.4, but blat 2.0 requires strom 1.5?

foo => bar 1.3 => ick 1.5 => strom 2.4
        \
         =======> blat 2.0 => strom 1.5

Just declare this an illegal package and not download it?

Chris
http://clabs.org