On 2016-02-15 04:18:02, Andreas Beckmann wrote: > On 2016-02-14 11:35, Sebastian Ramacher wrote: > > On 2016-02-13 18:12:27, Andreas Beckmann wrote: > >> 1m58.5s ERROR: FAIL: silently overwrites files via directory symlinks: > >> /usr/share/bug/libvlccore-dev/control (libvlccore-dev) != > >> /usr/share/bug/libvlccore8/control (libvlccore8) > >> /usr/share/bug/libvlccore-dev -> libvlccore8 > >> /usr/share/bug/libvlccore-dev/presubj (libvlccore-dev) != > >> /usr/share/bug/libvlccore8/presubj (libvlccore8) > >> /usr/share/bug/libvlccore-dev -> libvlccore8 > >> /usr/share/doc/libvlccore-dev/NEWS.Debian.gz (libvlccore-dev) != > >> /usr/share/doc/libvlccore8/NEWS.Debian.gz (libvlccore8) > >> /usr/share/doc/libvlccore-dev -> libvlccore8 > >> /usr/share/doc/libvlccore-dev/changelog.Debian.amd64.gz (libvlccore-dev) > >> != /usr/share/doc/libvlccore8/changelog.Debian.amd64.gz (libvlccore8) > >> /usr/share/doc/libvlccore-dev -> libvlccore8 > >> /usr/share/doc/libvlccore-dev/changelog.Debian.gz (libvlccore-dev) != > >> /usr/share/doc/libvlccore8/changelog.Debian.gz (libvlccore8) > >> /usr/share/doc/libvlccore-dev -> libvlccore8 > >> /usr/share/doc/libvlccore-dev/changelog.gz (libvlccore-dev) != > >> /usr/share/doc/libvlccore8/changelog.gz (libvlccore8) > >> /usr/share/doc/libvlccore-dev -> libvlccore8 > >> /usr/share/doc/libvlccore-dev/copyright (libvlccore-dev) != > >> /usr/share/doc/libvlccore8/copyright (libvlccore8) > >> /usr/share/doc/libvlccore-dev -> libvlccore8 > > > > debian/libvlccore-dev.maintscript already has > > > > symlink_to_dir /usr/share/doc/libvlccore-dev /usr/share/doc/libvlccore8 > > 2.2.2-1~ > > > > So what went wrong here? > > > > The /usr/share/bug/libvlccore-dev part is fixed in git. > > > OK, let's rerun with some more debugging enabled (DPKG_DEBUG=1 and sed on > dpkg-maintscript-helper to have rm -v and mv -v) > > Preparing to unpack .../libvlccore-dev_2.2.2-3_amd64.deb ... > DEBUG: dpkg-maintscript-helper: Executing /usr/bin/dpkg-maintscript-helper > symlink_to_dir in preinst of libvlccore-dev > DEBUG: dpkg-maintscript-helper: SYMLINK=/usr/share/doc/libvlccore-dev -> > /usr/share/doc/libvlccore8 PACKAGE=libvlccore-dev:amd64 LASTVERSION=2.2.2-1~ > ACTION=upgrade PARAM=2.2.1-1~deb8u1 > DEBUG: dpkg-maintscript-helper: Executing /usr/bin/dpkg-maintscript-helper > symlink_to_dir in preinst of libvlccore-dev > DEBUG: dpkg-maintscript-helper: SYMLINK=/usr/share/bug/libvlccore-dev -> > /usr/share/doc/libvlccore8 PACKAGE=libvlccore-dev:amd64 LASTVERSION=2.2.2-2~ > ACTION=upgrade PARAM=2.2.1-1~deb8u1 > Unpacking libvlccore-dev (2.2.2-3) over (2.2.1-1~deb8u1) ... > Preparing to unpack .../libvlccore8_2.2.2-3_amd64.deb ... > DEBUG: dpkg-maintscript-helper: Executing /usr/bin/dpkg-maintscript-helper > symlink_to_dir in preinst of libvlccore8 > DEBUG: dpkg-maintscript-helper: SYMLINK=/usr/share/doc/libvlccore8 -> > /usr/share/doc/vlc-data PACKAGE=libvlccore8:amd64 LASTVERSION=2.2.2-1~ > ACTION=upgrade PARAM=2.2.1-1~deb8u1 > '/usr/share/doc/libvlccore8' -> '/usr/share/doc/libvlccore8.dpkg-backup' > Unpacking libvlccore8 (2.2.2-3) over (2.2.1-1~deb8u1) ... > > Setting up libvlccore8 (2.2.2-3) ... > DEBUG: dpkg-maintscript-helper: Executing /usr/bin/dpkg-maintscript-helper > symlink_to_dir in postinst of libvlccore8 > DEBUG: dpkg-maintscript-helper: SYMLINK=/usr/share/doc/libvlccore8 -> > /usr/share/doc/vlc-data PACKAGE=libvlccore8:amd64 LASTVERSION=2.2.2-1~ > ACTION=configure PARAM=2.2.1-1~deb8u1 > removed '/usr/share/doc/libvlccore8.dpkg-backup' > > Setting up libvlccore-dev (2.2.2-3) ... > DEBUG: dpkg-maintscript-helper: Executing /usr/bin/dpkg-maintscript-helper > symlink_to_dir in postinst of libvlccore-dev > DEBUG: dpkg-maintscript-helper: SYMLINK=/usr/share/doc/libvlccore-dev -> > /usr/share/doc/libvlccore8 PACKAGE=libvlccore-dev:amd64 LASTVERSION=2.2.2-1~ > ACTION=configure PARAM=2.2.1-1~deb8u1 > DEBUG: dpkg-maintscript-helper: Executing /usr/bin/dpkg-maintscript-helper > symlink_to_dir in postinst of libvlccore-dev > DEBUG: dpkg-maintscript-helper: SYMLINK=/usr/share/bug/libvlccore-dev -> > /usr/share/doc/libvlccore8 PACKAGE=libvlccore-dev:amd64 LASTVERSION=2.2.2-2~ > ACTION=configure PARAM=2.2.1-1~deb8u1 > > > Looks like we have to deal with chained symlinks here: > /usr/share/doc/libvlccore-dev -> libvlccore8 -> vlc-data > > This should work with dpkg-maintscript-helper if you use relative > instead of absolute symlinks. "relative" means the output of > readlink $SYMLINK > Absolute means the output from > readlink -f $SYMLINK > must match, which cannot work while switching chained symlinks > to directories. > > Don't forget to bump the version. > > So for libvlccore-dev.maintscript I'd suggest this (untested): > > symlink_to_dir /usr/share/doc/libvlccore-dev libvlccore8 2.2.2-4~ > symlink_to_dir /usr/share/bug/libvlccore-dev libvlccore8 2.2.2-4~ > > Relative symlinks require dpkg 1.17.14, but you already have this > in Pre-Depends (probably generated by debhelper).
Thanks for the analysis and for filling a bug report against dpkg-dev and asking for clarification. This will be fixed with the next upload. Cheers -- Sebastian Ramacher
signature.asc
Description: PGP signature