Hi, I don't understand, I used symlink_to_dir and tested it locally without issue.
What is wrong? Cheers! Sylvain On Tue, Apr 11, 2017 at 05:17:21PM +0200, Andreas Beckmann wrote: > Package: freedink-engine-dbg > Version: 108.4+dfsg-2 > 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: > > stretch -> 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: > https://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 > https://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.14) > to perform the conversion, ideally using d/$PACKAGE.maintscript. > Do not forget to add 'Pre-Depends: ${misc:Pre-Depends}' in d/control. > See dpkg-maintscript-helper(1) and dh_installdeb(1) for details. > > > >From the attached log (usually somewhere in the middle...): > > 0m35.7s ERROR: FAIL: silently overwrites files via directory symlinks: > /usr/share/doc/freedink-engine-dbg/changelog.Debian.gz > (freedink-engine-dbg) != /usr/share/doc/freedink-engine/changelog.Debian.gz > (freedink-engine) > /usr/share/doc/freedink-engine-dbg -> freedink-engine > /usr/share/doc/freedink-engine-dbg/changelog.gz (freedink-engine-dbg) != > /usr/share/doc/freedink-engine/changelog.gz (freedink-engine) > /usr/share/doc/freedink-engine-dbg -> freedink-engine > /usr/share/doc/freedink-engine-dbg/copyright (freedink-engine-dbg) != > /usr/share/doc/freedink-engine/copyright (freedink-engine) > /usr/share/doc/freedink-engine-dbg -> freedink-engine > > > cheers, > > Andreas