Bug#677778: libbonobo: Please add multiarch support

Goswin von Brederlow goswin-v-b at web.de
Sat Jun 16 22:25:08 UTC 2012


Michael Biebl <biebl at debian.org> writes:

> On 16.06.2012 22:19, Goswin von Brederlow wrote:
>> Michael Biebl <biebl at debian.org> writes:
>> 
>>> On 16.06.2012 20:42, Goswin von Brederlow wrote:
>>>> Package: libbonobo
>>>> Version: 2.24.3-1
>>>> Severity: normal
>>>>
>>>> Hello:
>>>>
>>>> Please make this package compatible with multiarch, as described at
>>>> <http://wiki.debian.org/Multiarch/Implementation>.
>>>
>>> I'd rather see us get rid of this package then invest time converting it
>>> to ma
>> 
>> # apt-cache rdepends libbonobo2-0 | wc -l
>> 91
>> 
>> That looks like a bigger change.
>
> Sure, there are still a few rdeps left.
> But, to get rid of ia32-libs, we don't need to convert libbonobo to ma,
> right? Or is there another pressing need to convert libbonobo?

We do need libbonobo:i386 for ia32-libs to keep 32bit software,
esspecially 3rd party 32bit apps, working. That means at least setting
the architecture all packages to Multi-Arch: foreign.

And as long as there are reverse depends in debian we will also need
libbonobo:amd64, which means it needs to be fully multiarch.


Converting to multiarch is usualy quite simple:
http://wiki.debian.org/Multiarch/Implementation#cdbs_with_autotools_and_debhelper

I took a first shot at it (patch below).

1) I had to move the *.server files
(debian/tmp/usr/lib/*/bonobo/servers/*.server) into the libbonobo2-0
package as they are architecture specific. But now they violate policy
8.2. If they are in the library package then they have to be unique to
the SOVERSION. They could go into
debian/tmp/usr/lib/*/bonobo-2.0/servers/*.server, which would mean
changing SERVERINFODIR in bonobo-activation/Makefile.am. Or you need
another common package that is Architecture: any.

2) I also noticed that
debian/libbonobo2-0/usr/lib/x86_64-linux-gnu/bonobo/servers/Bonobo_Sample_Echo.server
uses the wrong path now. Unlike the other files this seems not to be
generated and needs to be patched to include the multiarch dir.

3) It also depends on orbit2 being multiarch (#641615 with patch) for
debian/libbonobo2-0/usr/lib/x86_64-linux-gnu/orbit-2.0/Bonobo_module.so
to work.


As said this is just a first shot. I haven't actualy installed and
tested the package. I have no idea how to test the server files or the
orbit module. But from the looks of it everything should work.

MfG
        Goswin

----------------------------------------------------------------------
diff -u libbonobo-2.24.3/debian/control libbonobo-2.24.3/debian/control
--- libbonobo-2.24.3/debian/control
+++ libbonobo-2.24.3/debian/control
@@ -8,8 +8,8 @@
 Priority: optional
 Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers at lists.alioth.debian.org>
 Uploaders: David Weinehall <tao at debian.org>, Josselin Mouette <joss at debian.org>, Loic Minier <lool at dooz.org>, Sebastian Dröge <slomo at debian.org>
-Build-Depends: cdbs,
-               debhelper (>= 5),
+Build-Depends: cdbs (>= 0.4.93~),
+               debhelper (>= 8.1.3),
                gnome-pkg-tools (>= 0.10),
                libdbus-1-dev (>= 1.0.0),
                libdbus-glib-1-dev (>= 0.74),
@@ -28,6 +28,7 @@
 
 Package: libbonobo2-common
 Architecture: all
+Multi-Arch: foreign
 Depends: ${misc:Depends}
 Conflicts: bonobo-activation (<< 1:2.4)
 Replaces: bonobo-activation (<< 1:2.4)
@@ -70,9 +71,11 @@
 
 Package: libbonobo2-0
 Architecture: any
+Multi-Arch: same
 Section: libs
 Conflicts: libbonobo-activation4 (<< 1:2.4),
            nautilus (<< 2.2.4-5)
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends},
          libbonobo2-common (= ${source:Version}),
          ${shlibs:Depends}
@@ -94,6 +97,7 @@
 
 Package: libbonobo2-bin
 Architecture: any
+Multi-Arch: foreign
 Replaces: libbonobo2-common (<< 2.20.3-1)
 Depends: ${shlibs:Depends},
          ${misc:Depends},
diff -u libbonobo-2.24.3/debian/libbonobo2-common.install libbonobo-2.24.3/debian/libbonobo2-common.install
--- libbonobo-2.24.3/debian/libbonobo2-common.install
+++ libbonobo-2.24.3/debian/libbonobo2-common.install
@@ -3,3 +3,2 @@
 debian/tmp/usr/share/locale
-debian/tmp/usr/lib/bonobo/servers/*.server
 debian/tmp/etc/bonobo-activation
diff -u libbonobo-2.24.3/debian/compat libbonobo-2.24.3/debian/compat
--- libbonobo-2.24.3/debian/compat
+++ libbonobo-2.24.3/debian/compat
@@ -1 +1 @@
-5
+8
diff -u libbonobo-2.24.3/debian/control.in libbonobo-2.24.3/debian/control.in
--- libbonobo-2.24.3/debian/control.in
+++ libbonobo-2.24.3/debian/control.in
@@ -3,8 +3,8 @@
 Priority: optional
 Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers at lists.alioth.debian.org>
 Uploaders: @GNOME_TEAM@
-Build-Depends: cdbs,
-               debhelper (>= 5),
+Build-Depends: cdbs (>= 0.4.93~),
+               debhelper (>= 8.1.3),
                gnome-pkg-tools (>= 0.10),
                libdbus-1-dev (>= 1.0.0),
                libdbus-glib-1-dev (>= 0.74),
@@ -23,6 +23,7 @@
 
 Package: libbonobo2-common
 Architecture: all
+Multi-Arch: foreign
 Depends: ${misc:Depends}
 Conflicts: bonobo-activation (<< 1:2.4)
 Replaces: bonobo-activation (<< 1:2.4)
@@ -65,9 +66,11 @@
 
 Package: libbonobo2-0
 Architecture: any
+Multi-Arch: same
 Section: libs
 Conflicts: libbonobo-activation4 (<< 1:2.4),
            nautilus (<< 2.2.4-5)
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends},
          libbonobo2-common (= ${source:Version}),
          ${shlibs:Depends}
@@ -89,6 +92,7 @@
 
 Package: libbonobo2-bin
 Architecture: any
+Multi-Arch: foreign
 Replaces: libbonobo2-common (<< 2.20.3-1)
 Depends: ${shlibs:Depends},
          ${misc:Depends},
diff -u libbonobo-2.24.3/debian/changelog libbonobo-2.24.3/debian/changelog
--- libbonobo-2.24.3/debian/changelog
+++ libbonobo-2.24.3/debian/changelog
@@ -1,3 +1,10 @@
+libbonobo (2.24.3-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Multiarchify.
+
+ -- Goswin von Brederlow <goswin-v-b at web.de>  Sat, 16 Jun 2012 23:17:55 +0200
+
 libbonobo (2.24.3-1) unstable; urgency=low
 
   * New upstream bugfix release.
diff -u libbonobo-2.24.3/debian/libbonobo2-0.install libbonobo-2.24.3/debian/libbonobo2-0.install
--- libbonobo-2.24.3/debian/libbonobo2-0.install
+++ libbonobo-2.24.3/debian/libbonobo2-0.install
@@ -1,4 +1,5 @@
-debian/tmp/usr/lib/lib*.so.*
-debian/tmp/usr/lib/bonobo-activation
-debian/tmp/usr/lib/bonobo/monikers/*.so
-debian/tmp/usr/lib/orbit-2.0/*.so
+debian/tmp/usr/lib/*/lib*.so.*
+debian/tmp/usr/lib/*/bonobo-activation
+debian/tmp/usr/lib/*/bonobo/monikers/*.so
+debian/tmp/usr/lib/*/orbit-2.0/*.so
+debian/tmp/usr/lib/*/bonobo/servers/*.server
diff -u libbonobo-2.24.3/debian/rules libbonobo-2.24.3/debian/rules
--- libbonobo-2.24.3/debian/rules
+++ libbonobo-2.24.3/debian/rules
@@ -13,5 +13,6 @@
-DEB_CONFIGURE_LIBEXECDIR := "\$${prefix}/lib/bonobo-activation"
+DEB_CONFIGURE_LIBEXECDIR := "\$${prefix}/lib/$(DEB_HOST_MULTIARCH)/bonobo-activation"
 DEB_CONFIGURE_EXTRA_FLAGS += --enable-gtk-doc
+DEB_CONFIGURE_EXTRA_FLAGS += --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)
 
 install/libbonobo2-common::
-	rm -f $(CURDIR)/debian/tmp/usr/lib/bonobo/servers/broken.server
+	rm -f $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/bonobo/servers/broken.server
diff -u libbonobo-2.24.3/debian/libbonobo2-bin.install libbonobo-2.24.3/debian/libbonobo2-bin.install
--- libbonobo-2.24.3/debian/libbonobo2-bin.install
+++ libbonobo-2.24.3/debian/libbonobo2-bin.install
@@ -3 +3 @@
-debian/tmp/usr/lib/bonobo-2.0
+debian/tmp/usr/lib/*/bonobo-2.0
diff -u libbonobo-2.24.3/debian/libbonobo2-dev.install libbonobo-2.24.3/debian/libbonobo2-dev.install
--- libbonobo-2.24.3/debian/libbonobo2-dev.install
+++ libbonobo-2.24.3/debian/libbonobo2-dev.install
@@ -1,7 +1,6 @@
 debian/tmp/usr/include
-debian/tmp/usr/lib/pkgconfig
-debian/tmp/usr/lib/*.so
-debian/tmp/usr/lib/*.la
-debian/tmp/usr/lib/*.a
+debian/tmp/usr/lib/*/pkgconfig
+debian/tmp/usr/lib/*/*.so
+debian/tmp/usr/lib/*/*.a
 debian/tmp/usr/share/gtk-doc
 





More information about the pkg-gnome-maintainers mailing list