Package: libcanberra
Version: 0.28-3
Severity: normal
Tags: patch
User: [email protected]
Usertags: origin-ubuntu precise ubuntu-patch

Hi guys,

Please find attached a patch to libmad to transition it to use of the
multiarch library paths as described at
<http://wiki.debian.org/Multiarch/Implementation>.  This patch has been
tested and included in Ubuntu Precise.

Note that since a Multi-Arch: same package cannot contain ELF binaries in
/usr/bin, I've moved canberra-gtk-play to gnome-session-canberra and made
this package Architecture: any since that seems to be the only place that
it's used.  This brings the package into compliance with section 8.2 of
Debian Policy.  If you think there's a better way to address this issue,
please let me know.

The changelog for the Ubuntu upload was:

  * Build for multiarch.
  * libcanberra-gtk-module and libcanberra-gtk3-module need hard-coded
    versioned dependencies on the minimum versions of gtk2/gtk3 that support
    lookups in the multiarch path.
  * Move canberra-gtk-play from libcanberra-gtk0 to gnome-session-canberra,
    since the latter is the only package which uses it; and make
    gnome-session-canberra Architecture: any.

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/
[email protected]                                     [email protected]
=== modified file 'debian/control'
--- debian/control	2011-10-18 10:39:46 +0000
+++ debian/control	2011-12-30 07:55:24 +0000
@@ -3,8 +3,8 @@
 Priority: optional
 Maintainer: Marc-Andre Lureau <[email protected]>
 Uploaders: Sjoerd Simons <[email protected]>, Sebastian Dröge <[email protected]>, Bart Martens <[email protected]>
-Build-Depends: debhelper (>= 5),
-               cdbs,
+Build-Depends: debhelper (>= 8.1.3~),
+               cdbs (>= 0.4.93~),
                m4,
                libltdl-dev | libltdl7-dev (>= 2.2.6),
                dpkg-dev (>= 1.14.13),
@@ -24,6 +24,8 @@
 
 Package: libcanberra0
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Suggests: libcanberra-gtk0, libcanberra-pulse
 Description: simple abstract interface for playing event sounds
@@ -37,6 +39,7 @@
 
 Package: libcanberra0-dbg
 Architecture: any
+Multi-Arch: same
 Priority: extra
 Section: debug
 Depends: ${misc:Depends}, libcanberra0 (= ${binary:Version})
@@ -49,6 +52,7 @@
 Package: libcanberra-dev
 Section: libdevel
 Architecture: any
+Multi-Arch: same
 Depends: ${shlibs:Depends},
 	 ${misc:Depends},
 	 libcanberra0 (= ${binary:Version})
@@ -61,6 +65,7 @@
 
 Package: libcanberra-pulse
 Architecture: any
+Multi-Arch: same
 Depends: ${shlibs:Depends},
   ${misc:Depends},
   libcanberra0 (= ${binary:Version}),
@@ -73,6 +78,7 @@
 
 Package: libcanberra-pulse-dbg
 Architecture: any
+Multi-Arch: same
 Priority: extra
 Section: debug
 Depends: ${shlibs:Depends},
@@ -86,6 +92,7 @@
 
 Package: libcanberra-gstreamer
 Architecture: any
+Multi-Arch: same
 Depends: ${shlibs:Depends},
   ${misc:Depends},
   libcanberra0 (= ${binary:Version})
@@ -97,6 +104,7 @@
 
 Package: libcanberra-gstreamer-dbg
 Architecture: any
+Multi-Arch: same
 Priority: extra
 Section: debug
 Depends: ${shlibs:Depends},
@@ -110,6 +118,8 @@
 
 Package: libcanberra-gtk0
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Recommends: libcanberra-gtk-module
 Description: GTK+ helper for playing widget event sounds with libcanberra
@@ -122,6 +132,7 @@
 
 Package: libcanberra-gtk0-dbg
 Architecture: any
+Multi-Arch: same
 Priority: extra
 Section: debug
 Depends: ${misc:Depends}, libcanberra-gtk0 (= ${binary:Version})
@@ -138,6 +149,7 @@
 Package: libcanberra-gtk-common-dev
 Section: libdevel
 Architecture: all
+Multi-Arch: foreign
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Description: simple abstract interface for playing event sounds
  libcanberra-gtk provides a few functions that simplify
@@ -153,6 +165,7 @@
 Package: libcanberra-gtk-dev
 Section: libdevel
 Architecture: any
+Multi-Arch: same
 Depends: ${shlibs:Depends},
    ${misc:Depends},
    libcanberra-gtk0 (= ${binary:Version}),
@@ -172,13 +185,15 @@
 
 Package: libcanberra-gtk-module
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Depends: ${shlibs:Depends}, ${misc:Depends}, libgtk2.0-0 (>= 2.24.5-4)
 Description: translates GTK+ widgets signals to event sounds
  A GtkModule which will automatically hook into all kinds of events
  inside a GTK+ program and generate sound events from them.
 
 Package: libcanberra-gtk-module-dbg
 Architecture: any
+Multi-Arch: same
 Priority: extra
 Section: debug
 Depends: ${misc:Depends}, libcanberra-gtk-module (= ${binary:Version})
@@ -190,6 +205,8 @@
 
 Package: libcanberra-gtk3-0
 Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Recommends: libcanberra-gtk3-module
 Description: GTK+ 3.0 helper for playing widget event sounds with libcanberra
@@ -202,6 +219,7 @@
 
 Package: libcanberra-gtk3-0-dbg
 Architecture: any
+Multi-Arch: same
 Priority: extra
 Section: debug
 Depends: ${misc:Depends}, libcanberra-gtk3-0 (= ${binary:Version})
@@ -218,6 +236,7 @@
 Package: libcanberra-gtk3-dev
 Section: libdevel
 Architecture: any
+Multi-Arch: same
 Depends: ${shlibs:Depends},
  ${misc:Depends},
  libcanberra-gtk3-0 (= ${binary:Version}),
@@ -237,15 +256,18 @@
 
 Package: libcanberra-gtk3-module
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Depends: ${shlibs:Depends}, ${misc:Depends}, libgtk-3-0 (>= 3.2.2-3)
 Description: translates GTK3 widgets signals to event sounds
  A GtkModule which will automatically hook into all kinds of events
  inside a GTK+ 3.0 program and generate sound events from them.
 
 Package: gnome-session-canberra
-Architecture: all
+Architecture: any
 Section: gnome
 Depends: ${misc:Depends}, ${shlibs:Depends}, libcanberra-gtk0
+Breaks: libcanberra-gtk0 (<< 0.28-3ubuntu2)
+Replaces: libcanberra-gtk0 (<< 0.28-3ubuntu2)
 Description: GNOME session log in and log out sound events
  Produce sound events on GNOME session log in and log out.
  .
@@ -253,6 +275,7 @@
 
 Package: libcanberra-gtk3-module-dbg
 Architecture: any
+Multi-Arch: same
 Priority: extra
 Section: debug
 Depends: ${misc:Depends}, libcanberra-gtk3-module (= ${binary:Version})

=== modified file 'debian/gnome-session-canberra.install'
--- debian/gnome-session-canberra.install	2010-11-20 11:39:25 +0000
+++ debian/gnome-session-canberra.install	2011-12-30 07:54:43 +0000
@@ -1,3 +1,4 @@
 debian/tmp/usr/share/gnome/autostart/libcanberra-login-sound.desktop
 debian/tmp/usr/share/gnome/shutdown/libcanberra-logout-sound.sh
 debian/tmp/usr/share/gdm/autostart/LoginWindow/libcanberra-ready-sound.desktop
+debian/tmp/usr/bin/canberra-gtk-play

=== renamed file 'debian/libcanberra-gtk0.manpages' => 'debian/gnome-session-canberra.manpages'
=== modified file 'debian/libcanberra-dev.install'
--- debian/libcanberra-dev.install	2010-05-06 19:52:17 +0000
+++ debian/libcanberra-dev.install	2011-12-30 07:54:43 +0000
@@ -1,4 +1,4 @@
 debian/tmp/usr/include/canberra.h
-debian/tmp/usr/lib/libcanberra.so
-debian/tmp/usr/lib/pkgconfig/libcanberra.pc
+debian/tmp/usr/lib/*/libcanberra.so
+debian/tmp/usr/lib/*/pkgconfig/libcanberra.pc
 debian/tmp/usr/share/vala/vapi/libcanberra.vapi

=== modified file 'debian/libcanberra-gstreamer.install'
--- debian/libcanberra-gstreamer.install	2009-09-12 01:24:03 +0000
+++ debian/libcanberra-gstreamer.install	2011-12-30 07:54:43 +0000
@@ -1 +1 @@
-debian/tmp/usr/lib/libcanberra-*/libcanberra-gstreamer.so
+debian/tmp/usr/lib/*/libcanberra-*/libcanberra-gstreamer.so

=== modified file 'debian/libcanberra-gtk-dev.install'
--- debian/libcanberra-gtk-dev.install	2010-11-20 11:39:25 +0000
+++ debian/libcanberra-gtk-dev.install	2011-12-30 07:54:43 +0000
@@ -1,2 +1,2 @@
-debian/tmp/usr/lib/libcanberra-gtk.so
-debian/tmp/usr/lib/pkgconfig/libcanberra-gtk.pc
+debian/tmp/usr/lib/*/libcanberra-gtk.so
+debian/tmp/usr/lib/*/pkgconfig/libcanberra-gtk.pc

=== modified file 'debian/libcanberra-gtk-module.install'
--- debian/libcanberra-gtk-module.install	2011-10-18 10:39:46 +0000
+++ debian/libcanberra-gtk-module.install	2011-12-30 07:54:43 +0000
@@ -1,3 +1,3 @@
-debian/tmp/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
+debian/tmp/usr/lib/*/gtk-2.0/modules/libcanberra-gtk-module.so
 debian/tmp/etc/gconf/schemas/libcanberra.schemas
-debian/tmp/usr/lib/gnome-settings-daemon-3.0/gtk-modules/canberra-gtk-module.desktop
+debian/tmp/usr/lib/*/gnome-settings-daemon-3.0/gtk-modules/canberra-gtk-module.desktop usr/lib/gnome-settings-daemon-3.0/gtk-modules

=== modified file 'debian/libcanberra-gtk0.install'
--- debian/libcanberra-gtk0.install	2009-04-11 14:16:05 +0000
+++ debian/libcanberra-gtk0.install	2011-12-30 07:54:43 +0000
@@ -1,2 +1 @@
-debian/tmp/usr/lib/libcanberra-gtk.so.*
-debian/tmp/usr/bin/canberra-gtk-play
+debian/tmp/usr/lib/*/libcanberra-gtk.so.*

=== modified file 'debian/libcanberra-gtk3-0.install'
--- debian/libcanberra-gtk3-0.install	2010-11-20 11:39:25 +0000
+++ debian/libcanberra-gtk3-0.install	2011-12-30 07:54:43 +0000
@@ -1 +1 @@
-debian/tmp/usr/lib/libcanberra-gtk3.so.*
+debian/tmp/usr/lib/*/libcanberra-gtk3.so.*

=== modified file 'debian/libcanberra-gtk3-dev.install'
--- debian/libcanberra-gtk3-dev.install	2010-11-20 11:39:25 +0000
+++ debian/libcanberra-gtk3-dev.install	2011-12-30 07:54:43 +0000
@@ -1,2 +1,2 @@
-debian/tmp/usr/lib/libcanberra-gtk3.so
-debian/tmp/usr/lib/pkgconfig/libcanberra-gtk3.pc
+debian/tmp/usr/lib/*/libcanberra-gtk3.so
+debian/tmp/usr/lib/*/pkgconfig/libcanberra-gtk3.pc

=== modified file 'debian/libcanberra-gtk3-module.install'
--- debian/libcanberra-gtk3-module.install	2011-10-18 10:39:46 +0000
+++ debian/libcanberra-gtk3-module.install	2011-12-30 07:54:43 +0000
@@ -1,4 +1,4 @@
-debian/tmp/usr/lib/gtk-3.0/modules/libcanberra-gtk-module.so
-debian/tmp/usr/lib/gtk-3.0/modules/libcanberra-gtk3-module.so
+debian/tmp/usr/lib/*/gtk-3.0/modules/libcanberra-gtk-module.so
+debian/tmp/usr/lib/*/gtk-3.0/modules/libcanberra-gtk3-module.so
 debian/tmp/etc/gconf/schemas/libcanberra3.schemas
-debian/tmp/usr/lib/gnome-settings-daemon-3.0/gtk-modules/canberra-gtk3-module.desktop
+debian/tmp/usr/lib/*/gnome-settings-daemon-3.0/gtk-modules/canberra-gtk3-module.desktop usr/lib/gnome-settings-daemon-3.0/gtk-modules

=== modified file 'debian/libcanberra-pulse.install'
--- debian/libcanberra-pulse.install	2009-05-24 18:22:29 +0000
+++ debian/libcanberra-pulse.install	2011-12-30 07:54:43 +0000
@@ -1 +1 @@
-debian/tmp/usr/lib/libcanberra-*/libcanberra-pulse.so
+debian/tmp/usr/lib/*/libcanberra-*/libcanberra-pulse.so

=== modified file 'debian/libcanberra0.install'
--- debian/libcanberra0.install	2009-10-25 15:57:25 +0000
+++ debian/libcanberra0.install	2011-12-30 07:54:43 +0000
@@ -1,3 +1,3 @@
-debian/tmp/usr/lib/libcanberra.so.*
+debian/tmp/usr/lib/*/libcanberra.so.*
 # install alsa or oss modules
-debian/tmp/usr/lib/libcanberra-*/libcanberra-[ao][ls][s]*.so
+debian/tmp/usr/lib/*/libcanberra-*/libcanberra-[ao][ls][s]*.so

=== modified file 'debian/libcanberra0.lintian-overrides'
--- debian/libcanberra0.lintian-overrides	2011-06-06 20:57:14 +0000
+++ debian/libcanberra0.lintian-overrides	2011-12-30 07:54:43 +0000
@@ -1 +1 @@
-embedded-library usr/lib/libcanberra.so.0.2.5: ltdl
+embedded-library usr/lib/*/libcanberra.so.0.2.5: ltdl

=== modified file 'debian/rules'
--- debian/rules	2011-10-18 10:39:46 +0000
+++ debian/rules	2011-12-30 07:54:43 +0000
@@ -19,6 +19,7 @@
 	git add $(CURDIR)/debian/patches
 
 DEB_CONFIGURE_EXTRA_FLAGS = 			\
+	--libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
 	--enable-pulse				\
 	--enable-gstreamer			\
 	--enable-gtk				\
@@ -33,14 +34,14 @@
 DEB_CONFIGURE_EXTRA_FLAGS += --disable-alsa --enable-oss
 endif
 
-DEB_DH_MAKESHLIBS_ARGS_ALL += --exclude=usr/lib/gtk-2.0/modules
-DEB_DH_MAKESHLIBS_ARGS_ALL += --exclude=usr/lib/gtk-3.0/modules
-DEB_DH_MAKESHLIBS_ARGS_ALL += --exclude=usr/lib/libcanberra-0.28
+DEB_DH_MAKESHLIBS_ARGS_ALL += --exclude=usr/lib/$(DEB_HOST_MULTIARCH)/gtk-2.0/modules
+DEB_DH_MAKESHLIBS_ARGS_ALL += --exclude=usr/lib/$(DEB_HOST_MULTIARCH)/gtk-3.0/modules
+DEB_DH_MAKESHLIBS_ARGS_ALL += --exclude=usr/lib/$(DEB_HOST_MULTIARCH)/libcanberra-0.28
 DEB_DH_MAKESHLIBS_ARGS_libcanberra0 += -- -c4
 DEB_DH_MAKESHLIBS_ARGS_libcanberra-gtk0 += -- -c4
 DEB_DH_MAKESHLIBS_ARGS_libcanberra-gtk3-0 += -- -c4
 
 install/libcanberra-gtk3-module::
 	cp -a src/canberra-gtk-module.desktop \
-	      debian/tmp/usr/lib/gnome-settings-daemon-3.0/gtk-modules/canberra-gtk3-module.desktop
+	      debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/gnome-settings-daemon-3.0/gtk-modules/canberra-gtk3-module.desktop
 	cp -a libcanberra.schemas debian/tmp/etc/gconf/schemas/libcanberra3.schemas

Reply via email to