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

Attachment: signature.asc
Description: PGP signature

Reply via email to