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

Re: /usr/share/doc (was Re: weekly policy summary)



On Fri, 30 Jul 1999, Anthony Towns wrote:

> FWIW, I don't think forcing all packages to have postinst's and prerm's
> for the rest of eternity to be a particularly good solution either. Are
> there any fundamental problems with using a cronjob instead?

This was just discussed on irc a bit.. Ah, basically any attempt to
provide 'legacy' symlinks that make /usr/doc/foo == /usr/share/doc/foo
will either break upgrading, downgrading or both.

dpkg has no ability to resolve multiple paths to the same files in it's
database, so it sees /usr/share/doc/pkg/bar and /usr/doc/pkg/bar as
-different non overwriting- files and will end up doing the wrong thing
when it comes time to erase the old versions files. Basically it will do:
   create /usr/share/doc/pkg/bar
   rm /usr/doc/pkg/bar
Which is perfectly sensible -IF- they did not happen to be the same
directory!!

The only two options are;
  1) Do nothing, painfully migrate every package
  2) Add post-inst/pre-rm code to ever package to manage symlinks - this
     only works for backwards compatibilty and not forwards.

A cronjob is a bad idea because the links will persist for dpkg operations
and basically cause upgrades/downgrades to fail.

There is no elegant way to piece wise move a directory spanning multiple
packages with dpkg.

Jason


Reply to: