Thoughts on Replaces field (was Re: binary-alpha and binary-sparc directories)
'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
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
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
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@example.com (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