Bug#814646: vlc: unhandled symlink to directory conversion: /usr/share/doc/PACKAGE, /usr/share/bug/PACKAGE
Sebastian Ramacher
sramacher at debian.org
Mon Feb 15 21:56:56 UTC 2016
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20160215/bac01103/attachment.sig>
More information about the pkg-multimedia-maintainers
mailing list