[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Improving in-place upgrades of Ada packages from Lenny to Squeeze



(debian-devel trimmed until we get our own position clear)

Ludovic Brenta <ludovic@ludovic-brenta.org> writes:

> David Kalnischkies <kalnischkies+debian@gmail.com> writes:
>> No. Replaces is used to say to dpkg: It is okay that this package
>> overrides files of the other package - otherwise dpkg would complain
>> loudly for good reasons. It doesn't say something about the
>> upgrade path.
>
> I disagree with this particular part of your analysis.  What you say is
> true of Conflicts, not of Replaces.  IMHO, Replaces really, clearly
> suggests an upgrade path.  Why else would the package renaming procedure
> require both Conflicts and Replaces?

I agree that the Debian Policy is not clear on this. But since the
Debian Wiki gives a renaming procedure that uses Provides, it would
seem that Conflicts and Replaces is _not_ intended to be enough to
define the upgrade path.

> Let me emphasize again that, for Ada, a new version of a -dev package
> (i.e. libX2-dev) is *not* a complete replacement for libX1-dev,
> therefore we must use neither a dummy transitional package nor a
> Provides relationship.

I don't follow this.

We don't allow libX2-dev an libX1-dev to be installed at the same time,
and we do intend that people upgrade from libX1-dev to libX2-dev, but
have the option of downgrading to libX1-dev if they need to. 

We could use a virtual package libPACKAGE-dev; all aliversions would
provide that package. This is similar to all soversions providing a
symlink libpackage.so -> libpackage.so.soversion.

I'll add a section in Debian policy for Ada that discusses this; we need
to explain the actual behavior of dpkg, not just what we think the
Debian Policy says :).

-- 
-- Stephe


Reply to: