'Ian Jackson wrote:' > >I think I'll have to support `Replaces' or something, so that old >packages can have all their files `taken away' and disappear >eventually.
Here's the scenario that I hope a Replaces fiels might resolve. I'm working on the S-lang library. Both most and Midnight Commander depend on S-lang, so building a shared library makes sense (and with ELF it's easy to do!). But S-lang is under development and shared libraries aren't compatible from month-to-month (unless I don't understand some subtlety in ELF - very likely, actually). I released most-4.5.0-1 and slang-lib-0.99.23-1. But now I want to release slang-lib-0.99.24-1, but it's incompatible with slang-lib-0.99.23-1 which it should replace. Of course, most depends on slang-lib (version 0.99.23-1 ONLY). most-4.5.0-1 breaks with slang-lib-0.99.24-1. So I need to build another most with slang-lib-0.99.24-1 support. So I envision this specification for the Replaces: field: GIVEN: A, B, and C all depend on package D AND Package E replaces package D. Then When E is installed, it leaves D alone (since things still depend on D). When A, B, or C are upgraded (to versions compatible with E) they are removed from D's dependancy list. Once D's dependency list is empty, D is removed (making sure that E is intact). I think this would give the flexiblity that the S-lang example needs and that isn't presently present. If I remember correctly Ian didn't like encoding the shared library version in the package name (I'm starting to agree). But right now that is the only proposed solution to the problem that I've seen. OK, now I'm waiting for you all to tell me what details I've omitted ... BTW, I think dpkg blazes - performance-wise (especially compared to rpm which is a dog)! Well done. -- Christopher J. Fearnley | UNIX SIG Leader at PACS [EMAIL PROTECTED] (finger me!) | (Philadelphia Area Computer Society) http://www.netaxs.com/~cjf | Design Science Revolutionary ftp://ftp.netaxs.com/people/cjf | Explorer in Universe "Dare to be Naive" -- Bucky Fuller | Linux Advocate