Bug#2828: PATCH] check dev/inode before removing old files on upgrade
> Previously Ben Collins wrote:
> > Then making the /usr/doc become a symlink to /usr/share/doc (and all the
> > moving invloved with it) should be in a base package that depends on
> > _that_ version of dpkg (most likely basefiles itself).
> However packages are already using this solution and it is (almost) policy.
> I would rather continue using that solution and not adding a dependency
> to a specific dpkg or base-files version to every package..
..actually, if I read correctly what Ben is saying,
> > Then the worst scenario is using newer packages without the newer
> > basefiles/dpkg, which would simply have some docs in /usr/doc and some in
> > /usr/share/doc. All of this being fixed by the upgrade to the
> > dpkg/basefiles that support this change.
then we need to do very little. The _only_ dependency that would be
required is for the base package that creates the /usr/doc->/usr/share/doc
symlink to depend on the patched version of dpkg.
All other packages could remain happily oblivious to the change.
Even ones that are already using the new symlink policy.
Old packages still put files in /usr/doc, new ones in /usr/share/doc
and anyone who is concerned about having docs in two locations only
needs to install the new base package to put things as they would like.
And packages not yet updated only need to move their doc location
at the next upload and don't need to bother about adding the
proposed maintainer scripts.
To paraphrase Asimov, we'd have a class A outcome from a class F
..and full FHS compliance (for /usr/share/doc anyway) for potato
handled by essentially a single package upgrade.