Bug#647481: [PATCH] please transaction gstreamer0.10 to multiarch

2011-12-09 Thread Steve Langasek
Package: gstreamer0.10
Version: 0.10.35-1
Followup-For: Bug #647481
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu precise ubuntu-patch

Hi guys,

In Ubuntu, the attached patch was applied to make gstreamer compatible with
multiarch, as described at
http://wiki.debian.org/Multiarch/Implementation.

gstreamer is one of the last major bits needed to have a multiarch-friendly
wine package in Ubuntu; I presume it will be useful to Debian for the same
reason.  Following this upload, I will be converting the various gstreamer
plugin packages over to use the multiarch path as well, with a hard-coded
versioned dependency on libgstreamer0.10-0 (= 0.10.35-1ubuntu1) to ensure
that these plugins are always installed against a version of libgst that
knows to look in that directory.  I don't see a good way to forcibly bump
the dependency for plugins without also bumping it for applications since
libgst is using shlibs (no symbols files), but I'm open to working with you
to find a more automated solution for dependency generation if you think
that's important here.

This adds a new patch to the upstream source to look in the multiarch
library path with a fallback to the legacy /usr/lib/gstreamer-0.10 path;
this way we don't have to declare breaks: against an arbitrary set of
packages using the legacy path.  I also have modified the ia32-libs hack
d dpatch to regard /usr/lib32 as only a fallback equivalent to /usr/lib - so
plugins in the multiarch directory will always take precedence, which I
believe is the optimal behavior.  I have tested that totem is able to load
plugins from both directories with this change applied.

The changelog for the Ubuntu upload is:

  * Build for multiarch. 
  * debian/patches/79_multiarch-backwards-compat.patch,
debian/patches/80_ia32-hack.patch: PLUGINDIR now always points to the
multiarch path, so look in /usr/lib/gstreamer-0.10 as a fallback (and
/usr/lib32/gstreamer-0.10, in case ia32-libs is still around).

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 Developerhttp://www.debian.org/
slanga...@ubuntu.com vor...@debian.org
=== modified file 'debian/compat'
--- debian/compat	2010-11-01 20:11:56 +
+++ debian/compat	2011-12-08 00:43:02 +
@@ -1 +1 @@
-7
+9

=== modified file 'debian/control'
--- debian/control	2011-05-14 11:41:04 +
+++ debian/control	2011-12-09 05:58:22 +
@@ -6,8 +6,8 @@
Sebastien Bacher seb...@debian.org,
Sebastian Dröge sl...@debian.org,
Sjoerd Simons sjo...@debian.org
-Build-Depends: debhelper (= 7),
-   cdbs (= 0.4.20),
+Build-Depends: debhelper (= 8.1.3~),
+   cdbs (= 0.4.93~),
gnome-pkg-tools (= 0.7),
autotools-dev,
dh-autoreconf,
@@ -44,7 +44,9 @@
 
 Package: libgstreamer0.10-0
 Architecture: any
+Multi-Arch: same
 Section: libs
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends},
  ${misc:Depends}
 Suggests: gstreamer0.10-tools,
@@ -64,6 +66,7 @@
 
 Package: libgstreamer0.10-0-dbg
 Architecture: any
+Multi-Arch: same
 Section: debug
 Priority: extra
 Depends: libgstreamer0.10-0 (= ${binary:Version}),
@@ -134,7 +137,7 @@
 Depends: ${shlibs:Depends},
  ${misc:Depends},
  pkg-config,
- libgstreamer0.10-0 (= 0.10.33)
+ libgstreamer0.10-0 (= 0.10.35)
 Suggests: gstreamer0.10-plugins-base
 Description: Tools for use with GStreamer
  GStreamer is a streaming media framework, based on graphs of filters

=== modified file 'debian/control.in'
--- debian/control.in	2011-04-27 14:04:36 +
+++ debian/control.in	2011-12-09 05:58:22 +
@@ -6,8 +6,8 @@
Sebastien Bacher seb...@debian.org,
Sebastian Dröge sl...@debian.org,
Sjoerd Simons sjo...@debian.org
-Build-Depends: debhelper (= 7),
-   cdbs (= 0.4.20),
+Build-Depends: debhelper (= 8.1.3~),
+   cdbs (= 0.4.93~),
gnome-pkg-tools (= 0.7),
autotools-dev,
dh-autoreconf,
@@ -44,7 +44,9 @@
 
 Package: @GST_LIB@
 Architecture: any
+Multi-Arch: same
 Section: libs
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends},
  ${misc:Depends}
 Suggests: @GST_PKGNAME@-tools,
@@ -64,6 +66,7 @@
 
 Package: @GST_LIB@-dbg
 Architecture: any
+Multi-Arch: same
 Section: debug
 Priority: extra
 Depends: @GST_LIB@ (= ${binary:Version}),

=== modified file 'debian/gir1.2-gstreamer.install'
--- debian/gir1.2-gstreamer.install	2010-12-12 19:45:03 +
+++ debian/gir1.2-gstreamer.install	2011-12-08 01:08:26 +
@@ -1 +1 @@
-debian/tmp/usr/lib/girepository-*
+debian/tmp/usr/lib/*/girepository-1.0 usr/lib

=== modified file 'debian/libgstreamer-dev.install'
--- debian/libgstreamer-dev.install	2009-09-12 12:23:52 

Bug#647481: [PATCH] please transaction gstreamer0.10 to multiarch

2011-11-29 Thread Riku Voipio
Raof said:
 You say you've tested this on Ubuntu - to what extent have you tested?
 This looks like it will break everything depending on
 libgstreamer0.10-0 because it won't be able to find the plugins until
 they're updated to install in the multiarch paths.  If so, then (a)
 patches should be posted for the plugin packages (you may have already
 done this; I haven't checked), and (b) this package should declare a
 Breaks: on the plugin packages with versions less than the version in
 which they're multiarched.

The (a) part appears to be done:

#647485 [n|  |  ] [gst-plugins-base0.10] [PATCH] please transaction 
gst-plugins-base0.10 to multiarch
#647486 [n|  |  ] [gst-plugins-good0.10] [PATCH] please transaction 
gst-plugins-good0.10 to multiarch
#647487 [n|  |  ] [gst-plugins-bad0.10] [PATCH] please transaction 
gst-plugins-bad0.10 to multiarch
#647488 [n|  |  ] [gst-plugins-ugly0.10] [PATCH] please transaction 
gst-plugins-ugly0.10 to multiarch
#647490 [n|  |  ] [gstreamer0.10-ffmpeg] [PATCH] please transaction 
gstreamer0.10-ffmpeg to multiarch

Fixing (b) is trivial, I can provide an updated patch if you want. Since we are
moving the .la files anyways, perhaps it would be a good moment to remove them 
completly,
closing #633319 at the same time?

Riku




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#647481: [PATCH] please transaction gstreamer0.10 to multiarch

2011-11-03 Thread YunQiang Su
Package: gstreamer0.10
Version: 0.10.35-1

I multiarch it and test it on Ubuntu 11.10, it works well.
And another several package also multiarched.
And I will file bugs for them.

-- 
YunQiang Su
diff -ur debian/changelog gstreamer0.10-0.10.35/debian/changelog
--- debian/changelog	2011-06-23 14:50:08.0 +0800
+++ gstreamer0.10-0.10.35/debian/changelog	2011-11-02 12:39:57.441011417 +0800
@@ -1,3 +1,10 @@
+gstreamer0.10 (0.10.35-2~deepin9) oneiric; urgency=low
+
+  * Multiarch it.
+  * Modify search directory of dh_gstscancodecs.
+
+ -- YunQiang Su wzss...@gmail.com  Sat, 29 Oct 2011 17:08:39 +0800
+
 gstreamer0.10 (0.10.35-1) unstable; urgency=low
 
   * New upstream bugfix release, Nuclear Fission.
diff -ur debian/compat gstreamer0.10-0.10.35/debian/compat
--- debian/compat	2011-05-10 21:41:23.0 +0800
+++ gstreamer0.10-0.10.35/debian/compat	2011-10-29 17:14:28.597846316 +0800
@@ -1 +1 @@
-7
+9
diff -ur debian/control gstreamer0.10-0.10.35/debian/control
--- debian/control	2011-05-10 21:48:11.0 +0800
+++ gstreamer0.10-0.10.35/debian/control	2011-10-30 03:28:23.616501313 +0800
@@ -6,8 +6,8 @@
Sebastien Bacher seb...@debian.org,
Sebastian Dröge sl...@debian.org,
Sjoerd Simons sjo...@debian.org
-Build-Depends: debhelper (= 7),
-   cdbs (= 0.4.20),
+Build-Depends: debhelper (= 8.1.3),
+   cdbs (= 0.4.93),
gnome-pkg-tools (= 0.7),
autotools-dev,
dh-autoreconf,
@@ -39,7 +39,7 @@
  netpbm,
  libxml2-doc,
  libglib2.0-doc
-Standards-Version: 3.8.4
+Standards-Version: 3.9.2
 Homepage: http://gstreamer.freedesktop.org
 
 Package: libgstreamer0.10-0
@@ -47,6 +47,8 @@
 Section: libs
 Depends: ${shlibs:Depends},
  ${misc:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
 Suggests: gstreamer0.10-tools,
   gstreamer0.10-plugins-base
 Conflicts: libgstreamer-plugins-base0.10-0 ( 0.10.11cvs20070110-0ubuntu5),
@@ -134,7 +136,7 @@
 Depends: ${shlibs:Depends},
  ${misc:Depends},
  pkg-config,
- libgstreamer0.10-0 (= 0.10.33)
+ libgstreamer0.10-0 (= 0.10.35)
 Suggests: gstreamer0.10-plugins-base
 Description: Tools for use with GStreamer
  GStreamer is a streaming media framework, based on graphs of filters
diff -ur debian/control.in gstreamer0.10-0.10.35/debian/control.in
--- debian/control.in	2011-05-10 21:41:23.0 +0800
+++ gstreamer0.10-0.10.35/debian/control.in	2011-10-30 03:28:11.272440109 +0800
@@ -6,8 +6,8 @@
Sebastien Bacher seb...@debian.org,
Sebastian Dröge sl...@debian.org,
Sjoerd Simons sjo...@debian.org
-Build-Depends: debhelper (= 7),
-   cdbs (= 0.4.20),
+Build-Depends: debhelper (= 8.1.3),
+   cdbs (= 0.4.93),
gnome-pkg-tools (= 0.7),
autotools-dev,
dh-autoreconf,
@@ -39,7 +39,7 @@
  netpbm,
  libxml2-doc,
  libglib2.0-doc
-Standards-Version: 3.8.4
+Standards-Version: 3.9.2
 Homepage: http://gstreamer.freedesktop.org
 
 Package: @GST_LIB@
@@ -47,6 +47,8 @@
 Section: libs
 Depends: ${shlibs:Depends},
  ${misc:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
 Suggests: @GST_PKGNAME@-tools,
   @GST_PKGNAME@-plugins-base
 Conflicts: libgstreamer-plugins-base0.10-0 ( 0.10.11cvs20070110-0ubuntu5),
diff -ur debian/dh_gstscancodecs gstreamer0.10-0.10.35/debian/dh_gstscancodecs
--- debian/dh_gstscancodecs	2011-05-10 21:41:23.0 +0800
+++ gstreamer0.10-0.10.35/debian/dh_gstscancodecs	2011-11-02 12:39:34.512897721 +0800
@@ -21,7 +21,7 @@
 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/$deb_host_multiarch/gstreamer-0.10/*.so.
 
 The generated substitution variables are
 
@@ -68,7 +68,9 @@
 
 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-';
 
 foreach my $package (@{$dh{DOPACKAGES}}) {
   my $tmp = tmpdir($package);
diff -ur debian/gir1.2-gstreamer.install gstreamer0.10-0.10.35/debian/gir1.2-gstreamer.install
--- debian/gir1.2-gstreamer.install	2011-05-10 21:41:23.0 +0800
+++ gstreamer0.10-0.10.35/debian/gir1.2-gstreamer.install	2011-10-30 01:51:11.131579584 +0800
@@ -1 +1 @@
-debian/tmp/usr/lib/girepository-*
+debian/tmp/usr/lib/*/girepository-* usr/lib
diff -ur debian/libgstreamer-dev.install gstreamer0.10-0.10.35/debian/libgstreamer-dev.install
--- debian/libgstreamer-dev.install	2011-05-10 21:41:23.0 +0800
+++ gstreamer0.10-0.10.35/debian/libgstreamer-dev.install	2011-10-29 17:06:32.599485973 +0800
@@ -1,7 +1,7 @@
 debian/tmp/usr/include