Hi Andreas, Thanks for the bug report!
As far as I can tell, neither python-sqlite-dbg nor python-sqlite in neither wheezy nor jessie contain symlinks for (or in) /usr/share/doc and don't create any symlinks in preinstall/postinstall scripts. Therefore I don't understand what needs to be done, if anything. In particular, /usr/share/doc/python-sqlite-dbg/changelog.Debian.gz (python-sqlite-dbg) != /usr/share/doc/python-sqlite/changelog.Debian.gz (python-sqlite) /usr/share/doc/python-sqlite-dbg/copyright (python-sqlite-dbg) != /usr/share/doc/python-sqlite/copyright (python-sqlite) doesn't give me any ideas on what could be wrong. The fact that those files are not the same doesn't sound like an error to me - of course they should be different entities? I can't see anything about this in the piuparts FAQ. I have never used piuparts before, but I tried running "piuparts -a -d wheezy -d jessie python-sqlite-dbg" and that didn't seem to result in any errors. Please describe in further detail how to reproduce the problem. Thanks, -- Joel On 22 January 2014 03:50, Andreas Beckmann <a...@debian.org> wrote: > Package: python-sqlite-dbg > Version: 1.0.1-10 > Severity: serious > User: debian...@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 -> jessie > > 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 > > It is recommended to use the dpkg-maintscript-helper commands > 'dir_to_symlink' and 'symlink_to_dir' (available since dpkg 1.17.2) > to perform the conversion, ideally using d/$PACKAGE.mainstscript. > See dpkg-maintscript-helper(1) and dh_installdeb(1) for details. > > > >From the attached log (usually somewhere in the middle...): > > 0m40.3s ERROR: FAIL: silently overwrites files via directory symlinks: > /usr/share/doc/python-sqlite-dbg/changelog.Debian.gz (python-sqlite-dbg) > != /usr/share/doc/python-sqlite/changelog.Debian.gz (python-sqlite) > /usr/share/doc/python-sqlite-dbg/copyright (python-sqlite-dbg) != > /usr/share/doc/python-sqlite/copyright (python-sqlite) > > > cheers, > > Andreas >