Bug#578854: debian-policy: Wording about Conflicts needs to be clarified
I stumbled upon policy 7.4:
> A Conflicts entry should almost never have an "earlier than" version clause.
> This would prevent dpkg from upgrading or installing the package which declared
> such a conflict until the upgrade or removal of the conflicted-with package had
> been completed. Instead, Breaks may be used.
Looking at this sentence it comes mostly unchanged from the original packaging
manual (commit ff1bec10):
- A <tt>Conflicts</tt> entry should almost never have an
- `earlier than' version clause. This would prevent
- <prgn>dpkg</prgn> from upgrading or installing the package
- which declared such a conflict until the upgrade or removal
- of the conflicted-with package had been completed. This
- aspect of installation ordering is not handled by
- <prgn>dselect</prgn>, so that the use <tt>Conflicts</tt> in
- this way is likely to cause problems for `bulk run' upgrades
- and installations.
I think using an earlier than clause is perfectly ok nowadays and it's possibly
the right thing to do when moving files around between packages. That dselect
limitation might have been the reason for this statement but I think it's entirely
Up to now, I always used "Conflicts" for explicit file conflicts and used
Breaks for other subtle breakages (interface/API change). So when moving files
from one package to the other I used "Conflicts: previous (<< last-version)"
and "Replaces: previous (<< last-version)" on the package where the files are.
We need to:
1/ fix that statement IMO
2/ document clearly whether versioned Breaks+Replaces or versioned
Conflicts+Replaces ought to be used when moving files around.
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (150, 'experimental')
Architecture: i386 (x86_64)
Kernel: Linux 2.6.32-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
debian-policy depends on no packages.
debian-policy recommends no packages.
Versions of packages debian-policy suggests:
ii doc-base 0.9.5 utilities to manage online documen
-- no debconf information