Package: gstreamer0.10
Version: 0.10.35.2-1
Severity: important
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu precise ubuntu-patch

Hi folks,

As mentioned in my followup to bug #647485, a further patch is needed to
gstreamer0.10 for multiarch, because dh_gstscancodecs currently fails to
output anything for a plugin package installing to the multiarch path.

Attached is a patch I've applied in Ubuntu for this.  The changelog for this
upload is:

  * Update dh_gstscancodecs to work for both the legacy and multiarch paths.
    Thanks to YunQiang Su <wzss...@gmail.com> for noticing this issue.


Thanks for considering the patch.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
=== modified file 'debian/dh_gstscancodecs'
--- debian/dh_gstscancodecs	2008-08-15 09:21:42 +0000
+++ debian/dh_gstscancodecs	2011-12-13 01:25:47 +0000
@@ -21,7 +21,8 @@
 gstreamer-based applications.
 
 dh_gstscancodecs generates substitution variable for debian/control,
-by scanning libraries /usr/lib/gstreamer-0.10/*.so.
+by scanning libraries /usr/lib/gstreamer-0.10/*.so and
+/usr/lib/$DEB_HOST_MULTIARCH/gstreamer-0.10/*.so.
 
 The generated substitution variables are
 
@@ -68,7 +69,10 @@
 
 init();
 
-$::pluginlibdirprefix = '/usr/lib/gstreamer-';
+my $deb_host_multiarch = `dpkg-architecture -qDEB_HOST_MULTIARCH`;
+chop $deb_host_multiarch;
+$::pluginlibdirprefix = '/usr/lib/'.$deb_host_multiarch.'/gstreamer-';
+$::pluginlibdirlegacy = '/usr/lib/gstreamer-';
 
 foreach my $package (@{$dh{DOPACKAGES}}) {
   my $tmp = tmpdir($package);
@@ -79,8 +83,10 @@
   delsubstvar($package, "gstreamer:Encoders");
   delsubstvar($package, "gstreamer:Decoders");
 
-  foreach my $sodir (glob "$tmp$::pluginlibdirprefix*") {
-    my $gstversion= substr($sodir, length("$tmp$::pluginlibdirprefix"));
+  foreach my $sodir (glob "$tmp$::pluginlibdirprefix* $tmp$::pluginlibdirlegacy*") {
+    my $gstversion = $sodir;
+    $gstversion =~ s/^$tmp$::pluginlibdirprefix//;
+    $gstversion =~ s/^$tmp$::pluginlibdirlegacy//;
     verbose_print("# gstreamer version $gstversion");
 
     my (undef, $tmpfile) = File::Temp::tempfile("/tmp/".basename($0).".XXXX", UNLINK => 1);

Reply via email to