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). Andreas