Package: vlc Version: 2.1.4-1 since vlc plugins are spread across multiple packages the plugin cache generated at buildtime is almost always wrong which makes vlc load all plugins at runtime which in turn can result in runtime symbol clashes when it loads the qt4 gui in a qt5 libvlc application for example.
this was reported against ubuntu https://bugs.launchpad.net/ubuntu/+source/vlc/+bug/1328466 and videolan (who pointed out that this is mostly a distro issue) https://trac.videolan.org/vlc/ticket/9807 and numerous bug reports against KDE because it makes phonon-backend-vlc fall flat on the face when run against a bogus cache attached you should fine a patch which resolves this problem by a) not installing the buildtime cache b) fully implementing trigger capability by having postinst refresh the cache c) have prerm drop the runtime cache so the dirs can be cleaned up properly by dpkg
diff -Nru vlc-2.1.4/debian/changelog vlc-2.1.4/debian/changelog --- vlc-2.1.4/debian/changelog 2014-06-06 16:38:04.000000000 +0200 +++ vlc-2.1.4/debian/changelog 2014-07-18 12:36:53.000000000 +0200 @@ -1,3 +1,23 @@ +vlc (2.1.4-1ubuntu1) utopic; urgency=medium + + * Build the plugins cache at runtime. Since various plugins are spread + across different packages we need to use a trigger to rebuild the cache + whenever necessary. Otherwise VLC (and libvlc for that matter) will detect + the outdated cache and introspect the plugins at runtime which in turn can + cause symbol clashes when for example the qt4 gui plugin is loaded in a + qt5 libvlc application. This adds on top of the previously introduced + triggers file, which was added in an incomplete manner it appears. + + New vlc-nox.postinst *always* causing a cache generation. + This script always exists 0 when called as a trigger (not that it matters + as there is nothing but the cache gen in it right now). + + vlc-nox.prerm was adjusted to remove the runtime created cache file to + allow for clean directory removal + + vlc-nox.install.in was adjusted to not install the buildtime generated + plugin cache, as the cache is now always generated a runtime. + LP: #1328466 + + -- Harald Sitter <apachelog...@kubuntu.org> Fri, 18 Jul 2014 11:57:12 +0200 + vlc (2.1.4-1build1) utopic; urgency=medium * Rebuild against libgnutls-deb0-28. diff -Nru vlc-2.1.4/debian/vlc-nox.install.in vlc-2.1.4/debian/vlc-nox.install.in --- vlc-2.1.4/debian/vlc-nox.install.in 2014-02-15 16:22:05.000000000 +0100 +++ vlc-2.1.4/debian/vlc-nox.install.in 2014-07-18 12:36:38.000000000 +0200 @@ -123,7 +123,8 @@ usr/lib/vlc/plugins/mmx/libi422_yuy2_mmx_plugin.so usr/lib/vlc/plugins/mux usr/lib/vlc/plugins/packetizer -usr/lib/vlc/plugins/plugins.dat +# NOTE: Plugins.dat is generated at runtime, the postinst explains why. +#usr/lib/vlc/plugins/plugins.dat usr/lib/vlc/plugins/services_discovery/libbonjour_plugin.so usr/lib/vlc/plugins/services_discovery/libmediadirs_plugin.so usr/lib/vlc/plugins/services_discovery/libmtp_plugin.so diff -Nru vlc-2.1.4/debian/vlc-nox.postinst vlc-2.1.4/debian/vlc-nox.postinst --- vlc-2.1.4/debian/vlc-nox.postinst 1970-01-01 01:00:00.000000000 +0100 +++ vlc-2.1.4/debian/vlc-nox.postinst 2014-07-18 12:32:59.000000000 +0200 @@ -0,0 +1,18 @@ +#!/bin/sh + +set -e + +# Since we have part of the plugins in other packages we need to forcefully +# refresh the cache as otherwise VLC will try to load all plugins which can +# result in unintended symbol clashes for libvlc based applications. +# Also see https://trac.videolan.org/vlc/ticket/9807 +# https://bugs.launchpad.net/ubuntu/+source/vlc/+bug/1328466 +if ! /usr/lib/vlc/vlc-cache-gen -f /usr/lib/vlc/plugins/; then + echo "WARNING: Regenerating VLC plugin cache failed" +fi + +if [ "$1" = "triggered" ]; then + exit 0 +fi + +#DEBHELPER# diff -Nru vlc-2.1.4/debian/vlc-nox.prerm vlc-2.1.4/debian/vlc-nox.prerm --- vlc-2.1.4/debian/vlc-nox.prerm 2014-02-15 16:22:05.000000000 +0100 +++ vlc-2.1.4/debian/vlc-nox.prerm 2014-07-18 12:32:59.000000000 +0200 @@ -3,4 +3,7 @@ rm -f /usr/lib/vlc/plugins/plugins-* +# Drop the plugins cache generated by postinst +rm -f /usr/lib/vlc/plugins/plugins.dat + #DEBHELPER#
_______________________________________________ pkg-multimedia-maintainers mailing list pkg-multimedia-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers