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
>

Reply via email to