Bug#688861: freeze exception: libxvmc/1.0.7-1.1 - adding a libxvmc1-i386:i386 package
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please approve the following changes for package libxvmc
As we are not going to get libxvmc turned to multi-arch for wheezy (see
#640499) I'm now trying another approach with minimal changes to the
libxvmc package:
Can we add a new package
Package: libxvmc1-i386
Section: libs
Priority: extra
Architecture: i386
Multi-arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}, x11-common
Description: X11 Video extension library (alternate i386 package)
that ships another copy of the libraries in /usr/lib/i386-linux-gnu/
To avoid installing libxvmc1-i386:i386 and libxvmc1:i386 at the same
time and have two copies of the same library available, I'm adding
Package: libxvmc1
Conflicts: libxvmc1-i386 [i386]
and to avoid picking up a dependency on libxvmc1-i386 by accident, its
shlibs file points to libxvmc1.
I added a lintian-overrides file, but that is not being installed as I
wanted to avoid changing anything in debian/rules.
Note that this new package does not ship the conffile as it is expected
to be only installed along libxvmc1:amd64 which comes with the conffile.
(This dependency can't be expressed by package relationships.)
This will keep the existing non-multiarch libxvmc1 unchanged, the build
system is untouched, nothing will start to use the alternate copy
package accidently. For libgl1-nvidia-glx:i386 to actually pick up this
alternate library, we need to add a shlibs.local file (in
nvidia-graphics-drivers) with
libXvMC 1 libxvmc1 | libxvmc1-i386 [i386]
I chose to add the extra package to the libxvmc source package as that
will avoid forking (and therefore code duplication) and getting libxvmc1
and libxvmc1-i386 out of sync. Even with a second copy in the a binary
package in the archive, there is no overhead in case a security update
for libxvmc should be neccessary.
Judging by the number of bug reports, it is really important for our
users to restore the ability to run 32-bit OpenGL applications on a
amd64 system and get accelleration by the non-free nvidia driver.
That was working in squeeze and will be considered as a serious
regression if this is not getting fixed in some way for wheezy.
See e.g. #685054, #686033, #676723, #688714
I'll be happy to assist getting a proper multi-arch libxvmc into jessie
and to clean up this temporary package that we need for wheezy.
Andreas
diffstat for libxvmc_1.0.7-1 libxvmc_1.0.7-1.1
debian/libxvmc1-i386.install | 2 ++
debian/libxvmc1-i386.lintian-overrides | 4 ++++
debian/libxvmc1-i386.shlibs | 2 ++
libxvmc-1.0.7/debian/changelog | 12 ++++++++++++
libxvmc-1.0.7/debian/control | 26 ++++++++++++++++++++++++++
5 files changed, 46 insertions(+)
diff -u libxvmc-1.0.7/debian/control libxvmc-1.0.7/debian/control
--- libxvmc-1.0.7/debian/control
+++ libxvmc-1.0.7/debian/control
@@ -22,6 +22,7 @@
Section: libs
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, x11-common
+Conflicts: libxvmc1-i386 [i386]
Description: X11 Video extension library
libXvMC provides an X Window System client interface to the
XVideo-MotionCompensation extension to the X protocol.
@@ -37,6 +38,31 @@
This module can be found at
git://anongit.freedesktop.org/git/xorg/lib/libXvMC
+Package: libxvmc1-i386
+Section: libs
+Priority: extra
+Architecture: i386
+Multi-arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}, x11-common
+Description: X11 Video extension library (alternate i386 package)
+ libXvMC provides an X Window System client interface to the
+ XVideo-MotionCompensation extension to the X protocol.
+ .
+ The XVideo-MotionCompensation extension allows for further accelerated drawing
+ of videos. Video data may be sent at earlier stages of the decoding pipeline
+ than raw YUV data. At the moment, driver support for XvMC is poor to
+ non-existent.
+ .
+ More information about X.Org can be found at:
+ <URL:http://www.X.org>
+ .
+ This module can be found at
+ git://anongit.freedesktop.org/git/xorg/lib/libXvMC
+ .
+ This is a multiarchified package intended to be co-installable with
+ libxvmc1:amd64.
+
Package: libxvmc1-dbg
Section: debug
Architecture: any
diff -u libxvmc-1.0.7/debian/changelog libxvmc-1.0.7/debian/changelog
--- libxvmc-1.0.7/debian/changelog
+++ libxvmc-1.0.7/debian/changelog
@@ -1,3 +1,15 @@
+libxvmc (2:1.0.7-1.1) UNRELEASED; urgency=low
+
+ * Non-maintainer upload.
+ * Add libxvmc1-i386 package, a partially multiarchified package that is
+ co-installable with libxvmc1:amd64. Works around missing multiarch
+ support, see #640499. Let libxvmc1:i386 conflict with this new package.
+ The .shlibs points to libxvmc1 instead of libxvmc1-i386 to avoid
+ accidentally adding a dependency on this package.
+ (Closes: #685054, #686033, #676723, #687373, #688714)
+
+ -- Andreas Beckmann <debian@abeckmann.de> Wed, 26 Sep 2012 10:52:13 +0200
+
libxvmc (2:1.0.7-1) unstable; urgency=low
[ Robert Hooker ]
only in patch2:
unchanged:
--- libxvmc-1.0.7.orig/debian/libxvmc1-i386.lintian-overrides
+++ libxvmc-1.0.7/debian/libxvmc1-i386.lintian-overrides
@@ -0,0 +1,4 @@
+# the libxvmc1-i386 package is an intentional clone of libxvmc1:i386
+# that adds partial multiarch support (see #640499)
+package-name-doesnt-match-sonames libXvMC1 libXvMCW1
+shlibs-declares-dependency-on-other-package libxvmc1
only in patch2:
unchanged:
--- libxvmc-1.0.7.orig/debian/libxvmc1-i386.shlibs
+++ libxvmc-1.0.7/debian/libxvmc1-i386.shlibs
@@ -0,0 +1,2 @@
+libXvMC 1 libxvmc1
+libXvMCW 1 libxvmc1
only in patch2:
unchanged:
--- libxvmc-1.0.7.orig/debian/libxvmc1-i386.install
+++ libxvmc-1.0.7/debian/libxvmc1-i386.install
@@ -0,0 +1,2 @@
+usr/lib/libXvMC.so.1* usr/lib/i386-linux-gnu/
+usr/lib/libXvMCW.so.1* usr/lib/i386-linux-gnu/
Reply to: