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

Re: mass RC bug filing: data splitting



On Fri, Mar 12, 2004 at 12:10:56AM +0100, Adrian Bunk wrote:
> Hi Steve,
> 
> just a note that the "Inefficient packaging of arch independent data in 
> package" bugs you have sent have caused many RC bugs:
> 
> When moving files from one package to another, the package that gets the 
> files needs Replaces _and_ Conflicts with older versions of the other 
> package.

No, they should *not*. Please don't advocate this.

The fact that Replaces doesn't work properly when you try to reinstall
the package with replaced files is a bug in dpkg, which should simply be
fixed. Replaces and Conflicts is already explicitly reserved by Debian
policy to mean something different, namely the total replacement of the
other package, and is already used by dpkg for this purpose: it's on the
code path that prints "dpkg: considering removing %s in favour of %s" if
you want to look for it yourself.

Excessive use of Conflicts also makes upgrade ordering more difficult
for the packaging tools, and leads to subtle upgrade problems that few
people anticipate. Been there, debugged that.

> Most packages contain the Replaces since otherwise upgrades break, but 
> they lack the Conflicts leading to the following problem:
> The package dependencies allow installing the new -data package and 
> later an older (pre-split) version of the main package resulting in a 
> file overwrite error by dpkg [1].
> 
> This mail is also sent to debian-devel since I expect that I'll have to 
> send 20-40 RC bugs for this issue over the weekend.

I object, and if you do this I will downgrade the bugs as being clearly
not release-critical as soon as I notice them. (Not everything that
breaks in some strange situations is release-critical.) The only case
where there's much of a justification for a bug at all is if the package
with replaced files hasn't yet had a new version uploaded with the
replaced files removed.

I would consider excessive use of Replaces/Conflicts to be a bug in
itself. Installing older versions of packages is not anywhere near as
important as the current versions working properly, and it may well
already require you to go through a few extra manual steps for various
reasons. By contrast, excessive Replaces/Conflicts is a hacky workaround
that'll take us ages to remove again when the bug is finally fixed in
the right place.

Cheers,

-- 
Colin Watson                                  [cjwatson@flatline.org.uk]



Reply to: