[Pkg-roundcube-maintainers] Bug#731499: roundcube-core: unhandled symlink to directory conversion: /usr/share/roundcube/plugins/jqueryui/...

Andreas Beckmann anbe at debian.org
Fri Dec 6 02:48:02 UTC 2013


Package: roundcube-core
Version: 0.9.5-2
Severity: serious
User: debian-qa at lists.debian.org
Usertags: piuparts

Hi,

an upgrade test with piuparts revealed that your package installs files
over existing symlinks and possibly overwrites files owned by other
packages. This usually means an old version of the package shipped a
symlink but that was later replaced by a real (and non-empty)
directory. This kind of overwriting another package's files cannot be
detected by dpkg.

This was observed on the following upgrade paths:

  wheezy -> sid

For /usr/share/doc/PACKAGE this may not be problematic as long as both
packages are installed, ship byte-for-byte identical files and are
upgraded in lockstep. But once one of the involved packages gets
removed, the other one will lose its documentation files, too,
including the copyright file, which is a violation of Policy 12.5:
http://www.debian.org/doc/debian-policy/ch-docs.html#s-copyrightfile

For other overwritten locations anything interesting may happen.

Note that dpkg intentionally does not replace directories with symlinks
and vice versa, you need the maintainer scripts to do this.
See in particular the end of point 4 in
http://www.debian.org/doc/debian-policy/ch-maintainerscripts.html#s-unpackphase

For switching from a symlink to a directory, the *preinst* script
should do something like this:

        DOCDIR=/usr/share/doc/@@PACKAGE@@

        if [ -L $DOCDIR ]; then
                rm $DOCDIR
        fi

But dpkg 1.17.2 has a new dpkg-maintscript-helper subcommand for this job,
maybe you should try this instead.

>From the attached log (usually somewhere in the middle...):

1m31.9s ERROR: FAIL: silently overwrites files via directory symlinks:
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery-ui-i18n.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery-ui-i18n.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-af.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-af.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ar-DZ.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-ar-DZ.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ar.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-ar.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-az.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-az.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-bg.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-bg.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-bs.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-bs.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ca.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-ca.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-cs.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-cs.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-cy-GB.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-cy-GB.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-da.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-da.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-de-CH.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-de-CH.js (?)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-de.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-de.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-el.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-el.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-en-AU.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-en-AU.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-en-GB.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-en-GB.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-en-NZ.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-en-NZ.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-eo.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-eo.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-es.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-es.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-et.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-et.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-eu.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-eu.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-fa.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-fa.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-fi.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-fi.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-fo.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-fo.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-fr-CH.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-fr-CH.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-fr.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-fr.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-gl.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-gl.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-he.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-he.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-hi.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-hi.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-hr.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-hr.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-hu.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-hu.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-hy.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-hy.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-id.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-id.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-is.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-is.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-it.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-it.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ja.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-ja.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ka.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-ka.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-kk.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-kk.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-km.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-km.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ko.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-ko.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-kz.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-kz.js (?)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-lb.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-lb.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-lt.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-lt.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-lv.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-lv.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-mk.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-mk.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ml.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-ml.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ms.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-ms.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-nl-BE.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-nl-BE.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-nl.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-nl.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-no.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-no.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-pl.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-pl.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-pt-BR.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-pt-BR.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-pt.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-pt.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-rm.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-rm.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ro.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-ro.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ru.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-ru.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-sk.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-sk.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-sl.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-sl.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-sq.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-sq.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-sr-SR.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-sr-SR.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-sr.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-sr.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-sv.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-sv.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ta.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-ta.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-th.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-th.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-tj.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-tj.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-tr.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-tr.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-uk.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-uk.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-vi.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-vi.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-zh-CN.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-zh-CN.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-zh-HK.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-zh-HK.js (libjs-jquery-ui)
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-zh-TW.js (roundcube-core) != /usr/share/javascript/jquery-ui/ui/i18n/jquery.ui.datepicker-zh-TW.js (libjs-jquery-ui)
1m32.0s DEBUG: Starting command: ['debsums', '--root', '/tmp/piupartss/tmpSF_jtA', '-ac']
1m37.0s DUMP: 
  /tmp/piupartss/tmpSF_jtA/usr/share/roundcube/plugins/jqueryui/js/i18n/jquery-ui-i18n.js
  /tmp/piupartss/tmpSF_jtA/usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-fo.js
  /tmp/piupartss/tmpSF_jtA/usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-sk.js
1m37.0s DEBUG: Command failed (status=2), but ignoring error: ['debsums', '--root', '/tmp/piupartss/tmpSF_jtA', '-ac']
1m37.0s ERROR: FAIL: debsums reports modifications inside the chroot:
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery-ui-i18n.js
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-fo.js
  /usr/share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-sk.js
  


cheers,

Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: roundcube-core_0.9.5-2.log.gz
Type: application/x-gzip
Size: 38139 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-roundcube-maintainers/attachments/20131206/c8705ab1/attachment-0001.bin>


More information about the Pkg-roundcube-maintainers mailing list