On Sun, 21 Oct 2001, Christoph Pfisterer wrote:
> While trying to set up a group of packages to be mutually-exclusive,
I've come across what I think is a bug in dpkg. First, some
background: I'm using dpkg 1.9.17 on Mac OS X (a.k.a. Darwin) in the
Fink project (http://fink.sourceforge.net). Fink has its own source
package format, but uses dpkg to install binary .deb packages (and
dpkg-deb to create them). I can provide the complete set of patches
used as well as example .deb packages if requested.
If you are distributing this resultant binary, and you have patched dpkg, you
MUST make the source changes available.
> [...]
dpkg: regarding .../test-b_1.0-1_darwin-powerpc.deb containing test-b:
test-a conflicts with test-c
test-b provides test-c and is to be installed.
dpkg: error processing
/sw/fink/dists/local/main/binary-darwin-powerpc/test-b_1.0-1_darwin-powerpc.deb
(--install):
conflicting packages - not installing test-b
[...]
So somehow dpkg doesn't evaluate the Replaces field correctly in this
case. Is this a bug? Or am I missing something important and it's
actually a feature? Could it be related to something obscure, such as
the ordering of the fields in the control file?
Replaces means a package replaces the files of another package. Virtual
packages can't own files, so you can't replace them. This is not a bug in
dpkg, but in what you are trying to do.