Summary and Status

Implement the full semantics of the Replaces dependency field.


Formerly half of PackageDependencyFixes which has been split into this spec and PackageDependencyFieldBreaks.


Correct behaviour in the presence of Replaces will allow us to get rid of all `transitional packages'. These are effort to create and maintain and of course cause confusion and cruft.

Use cases

Breezy i386 contains around 18-29 transitional packages which could be simply abolished. With proper behaviour on Replaces, transitional packages will no longer be required when package names change.


dselect, apt, and smartpm if applicable, need to be taught about the full meaning of Replaces.


Replaces: when A is selected by the user for installation, and a newly-available package B appears such that (the new version of) B Replaces (the current version of) A, then B should automatically be marked as selected for installation. This is in addition to the other behaviours of Replaces. See, (closed in error). This has been a planned intended behaviour of Replaces for some time, as old versions of the Debian Packaging manual show.


  1. apt will have to be taught about the full meaning of Replaces.
  2. dselect will have to be taught about the full meaning of Replaces.
  3. If we switch to smartpm we will have to educate that too.

Compatibility and upgrade process

Q and A

Outstanding issues

BoF agenda and discussion


ReplacementPackageAutoInstallation (last edited 2008-08-06 16:27:46 by localhost)