Package: moodle
Version: 2.5.3-3
Severity: serious

Having libjs-yui-common and libjs-yui-common installed, an upgrade of
moodle from 2.5.3-2 to -3 results in loss of a large number of files
from these two packages.

What I think happens here is that dpkg first sets the symlink of
/usr/share/moodle/lib/yuilib/3.9.1/build to /usr/share/javascript/yui3,
and then goes on to remove all the files from
/u/s/m/lib/yuilib/3.9.1/build/ that are no longer contained in the new
version of moodle. It *will* follow the symlink and this results in
removal of these files from /usr/share/javascript/yui3 instead.

This is perfectly reproducable for me: install -2, then upgrade to -3.

  dpkg -L libjs-yui3-common | while read f; do [ -e "$f" ] || echo "$f"; done

will list a lot of missing files afterwards.

Apart from being a policy violation this bug also cripples the
functionality of moodle itself.

My suggestion would be:
1. elide the dir removal from preinst
2. don't include the symlink in the package contents
3. remove the dir and create the symlink in the postinst

When transplanting the dir removal code, remember that [ -d ... ] will
return true for a symlink to a directory.

br,
-- 
Robert Bihlmeyer


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to