Package: www.debian.org
Severity: wishlist
The following explanation from Manoj Srivastava about when to use
Conflicts/Replaces/Provides versus a dummy package is the best I have
seen. It would make an excellent addition to Chapter 7 of the Debian
Policy Manual.
I hope this is the right pseudo-package; I couldn't find a
pseudo-package for "official Debian documents"; perhaps a wishlist bug
against bugs.debian.org requesting a new pseudo-package is in order. :-)
...Marvin
- Forwarded message from Manoj Srivastava <[EMAIL PROTECTED]> -
From: Manoj Srivastava <[EMAIL PROTECTED]>
Date: Thu, 23 Jun 2005 11:25:03 -0500
Subject: Re: dummy packages and "Replaces:" field
Message-ID: <[EMAIL PROTECTED]>
OK. Heres trhe thing. Suppose there is a package foo, now not
being developed. There is a package baz that depends on it. There is
a new package foo, that in some sense provides a replacement. Let us
^^^ bar
consider a couple of scenarios:
a) bar is a drop in replacement -- it uses the same config, for
example, it hs the same functionality, and is better than foo,
has support, security fixes, what have you -- and in all cases
should be installed on any machine on which foo was
installed. This is currently done using "dummy" packages, and it
allows for depending packages a window of time to upgrade
dependencies.
With a dummy package foo; baz can continue to depend on foo
during the transition, while the user is actually using bar, the
transition is not stalled. Even if baz has a versioned dependency
on foo. This window for transition is critical.
b) bar is _not_ a drop in replacement -- perhaps it has different
config files, subtly different behaviour, and you do not want the
system to automatically replace foo without a human decision to
do so. (say, kinda like the MTA's in debvian, that all conflict,
replace, and provide the virtual mail-transport-agent package).
In this case, one does _not_ use a dummy package, one uses
conflict, replace, and provide (and perhaps a NEWS.Debian in a
new version of foo), and works with dependent packages to depend
on foo | bar, if at all possible (which it may not be, given bar
is not a drop in replacement for foo). It would be better if bar
could have a versioned provides, but hey, one works with what one
has.
In no way should support for option (b) be dropped, you
certainly should not change the semantics of option (b) to work the
same as option (a). And any replacement for option (a) should
continue to provide the window for the transition (a flag day
changeover usually does not work).
manoj
- End forwarded message -
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]