As we have seen with the perl-5.6-base fiasco, update-alternatives and dpkg
don't get along as well as they should. If you read bug #(awaiting number),
I think that bug report illistrates at least two problems with dpkg and
update-alternatives:
1. If /usr/bin/foo is managed by update-alternatives, any package may
include a /usr/bin/foo and dpkg will not notice it is an alternative,
and will just overwrite the /usr/bin/foo symlink. Dpkg should, IMHO,
add all alternatives to the file list (the one in builds in memory), and
refuse to install the package containing /usr/bin/foo unless
--force-overwrite is on. This would prevent people accidentially
stabbing themselves in their backs as the perl maintainer did.
2. update-alternatives should not clobber /usr/bin/foo if /usr/bin/foo is
not a symlink. That is pretty bad behavior in a number of ways I think.