From: Massimiliano Mirra Date: 2002-09-17T10:30:31+09:00 Subject: Re: Dependency "trees" - suggestions? On Tue, Sep 17, 2002 at 08:48:02AM +0900, Chris Morris wrote: > > 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. If there is a bar 1.4 around that is not backward compatible with bar 1.3, foo's maintainer should make it so that foo's entry requires strictly bar 1.3. Then, if foo is requested when bar 1.4 is installed, rpkg will either downgrade bar after prompting the user or refuse to install foo at all until bar hasn't been manually downgraded. > 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? (I assume you're talking about strict requires, i.e. `=', not `>='.) > 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? Yes. This would be a bug in the distribution at the database level. Either version of strom would not be in the database. Anyway, none of this is fixed in stone. Nine tenths of this package management stuff is about defining rules and policies, and I'm going to hear and welcome all the input that comes. Massimiliano