Control: tags -1 + moreinfo On 2016-02-13 18:12:27, Andreas Beckmann wrote: > Source: vlc > Version: 2.2.2-3 > Severity: serious > User: debian...@lists.debian.org > Usertags: piuparts > Control: affects -1 + libvlccore-dev vlc-plugin-fluidsynth vlc-plugin-jack > vlc-plugin-notify vlc-plugin-samba vlc-plugin-sdl vlc-plugin-svg > vlc-plugin-zvbi libvlc5 kde-runtime kde-runtime-dbg > > 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: > > jessie -> sid > jessie -> stretch > > 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...): > > 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. > > 3m6.6s ERROR: FAIL: silently overwrites files via directory symlinks: > /usr/share/bug/vlc-plugin-fluidsynth/control (vlc-plugin-fluidsynth) != > /usr/share/bug/vlc-nox/control (vlc-nox) > /usr/share/bug/vlc-plugin-fluidsynth -> vlc-nox > /usr/share/bug/vlc-plugin-fluidsynth/presubj (vlc-plugin-fluidsynth) != > /usr/share/bug/vlc-nox/presubj (vlc-nox) > /usr/share/bug/vlc-plugin-fluidsynth -> vlc-nox vlc-plugin-fluidsynth and all other plugins already have symlink_to_dir /usr/share/bug/vlc-plugin-fluidsynth /usr/share/bug/vlc-nox 2.2.2-3~ > (similarily for all the other vlc-plugin-* packages) > > 2m9.5s ERROR: FAIL: silently overwrites files via directory symlinks: > /usr/share/doc/libvlc5/NEWS.Debian.gz (libvlc5) != > /usr/share/doc/libvlccore8/NEWS.Debian.gz (libvlccore8) > /usr/share/doc/libvlc5 -> libvlccore8 > /usr/share/doc/libvlc5/changelog.Debian.gz (libvlc5) != > /usr/share/doc/libvlccore8/changelog.Debian.gz (libvlccore8) > /usr/share/doc/libvlc5 -> libvlccore8 > /usr/share/doc/libvlc5/changelog.gz (libvlc5) != > /usr/share/doc/libvlccore8/changelog.gz (libvlccore8) > /usr/share/doc/libvlc5 -> libvlccore8 > /usr/share/doc/libvlc5/copyright (libvlc5) != > /usr/share/doc/libvlccore8/copyright (libvlccore8) > /usr/share/doc/libvlc5 -> libvlccore8 debian/libvlc5.maintscript already has symlink_to_dir /usr/share/doc/libvlc5 /usr/share/doc/libvlccore8 2.2.2-3~ Cheers -- Sebastian Ramacher
signature.asc
Description: PGP signature