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: