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

Swapping a directory and symlink during package upgrade



Dear all,

In the old mozart-doc package the documentation lives at

  /usr/share/doc/mozart-doc/html/....

and there is a symlink from /usr/share/mozart/doc:

  lrwxr-xr-x  1 root root 22 Aug  5 10:39 /usr/share/mozart/doc -> ../doc/mozart-doc/html

In my new package I want to swap this, so all documentation exists
beneath /usr/share/mozart/doc and there is a symlink from
/usr/share/mozart-doc/html, but then I get warnings when upgrading:

   @quaver:mozart-1.3.1.20040616 4Q> sudo dpkg -i debian/mozart-doc.deb
   (Reading database ... 181040 files and directories currently installed.)
   Preparing to replace mozart-doc 1.2.5.20030212-3 (using debian/mozart-doc.deb) ...
   Unpacking replacement mozart-doc ...
   dpkg: warning - unable to delete old file `/usr/share/doc/mozart-doc/html/releasing': Directory not empty
   dpkg: warning - unable to delete old file `/usr/share/doc/mozart-doc/html/ds_white_paper': Directory not empty
   dpkg: warning - unable to delete old file `/usr/share/doc/mozart-doc/html/dpanel': Directory not empty
   dpkg: warning - unable to delete old file `/usr/share/doc/mozart-doc/html/loop': Directory not empty
   etc.

and the old html and symlink still exist (this is documented - dpkg
won't overwite a symlink with a directory or vice-versa).

If I remove /usr/share/doc/mozart-doc/html in the new package's
preinst script then I get the layout I wanted :-), but I still
get the warnings:


   @quaver:mozart-1.3.1.20040616 4Q> sudo dpkg -i debian/mozart-doc.deb
   (Reading database ... 181040 files and directories currently installed.)
   Preparing to replace mozart-doc 1.2.5.20030212-3 (using debian/mozart-doc.deb) ...
   + set -e
   + case "$1" in
   + for a in doc examples html
   + '[' -d /usr/share/doc/mozart-doc/doc ']'
   + for a in doc examples html
   + '[' -d /usr/share/doc/mozart-doc/examples ']'
   + rm -rf /usr/share/mozart/examples
   + rm -rf /usr/share/doc/mozart-doc/examples
   + for a in doc examples html
   + '[' -d /usr/share/doc/mozart-doc/html ']'
   + rm -rf /usr/share/mozart/html
   + rm -rf /usr/share/doc/mozart-doc/html
   + exit 0
   Unpacking replacement mozart-doc ...
   dpkg: warning - unable to delete old file `/usr/share/doc/mozart-doc/html/releasing': Directory not empty
   dpkg: warning - unable to delete old file `/usr/share/doc/mozart-doc/html/ds_white_paper': Directory not empty
   dpkg: warning - unable to delete old file `/usr/share/doc/mozart-doc/html/dpanel': Directory not empty
etc.

Any explanations, suggestions gratefully received.  Is it acceptable
to upload a package which gives these warnings on the upgrade?

thanks
Kevin


-- 
------------- you're invited to: -------------------------
The Second International Mozart/Oz Conference (MOZ 2004)
Charleroi, Belgium, Oct. 7-8, 2004
http://www.cetic.be/moz2004
----------------------------------------------------------



Reply to: