Package: glib2.0
Version: 2.30.2-1
Severity: normal
User:  multiarch-de...@lists.alioth.debian.org
Usertags: multiarch
Tags: patch

Hi,

The following patch makes libglib2.0-dev Multi-Arch: same. This is needed
for example when cross-compiling firefox, as it needs to build both target and
host binaries linked against glib2.0. 

To make M-A: same possible, the binaries from libglib2.0-dev are split out to
libglib2.0-dev-bin: package. the conflicts/replaces might need adjustment, it
hasn't been tested.

To allow cross-arch install, the postinst of libglib2.0-0 has been converted
not to fail of the included binaries fail to install. This is sub-optimal, but 
I am

Riku
diff -Nru glib2.0-2.30.2/debian/changelog glib2.0-2.30.2/debian/changelog
--- glib2.0-2.30.2/debian/changelog	2011-11-13 02:24:30.000000000 +0200
+++ glib2.0-2.30.2/debian/changelog	2011-11-13 13:24:47.000000000 +0200
@@ -1,3 +1,14 @@
+glib2.0 (2.30.2-1linaro1) UNRELEASED; urgency=low
+
+  * Multiarch fixes:
+    - Split binaries out of libglib2.0-dev to libglib2.0-dev-bin
+      to allow making libglib2.0-dev multi-arch same
+  * Make execution of gio-querymodules optional. This is for example
+    neccesary to make it possible to install libglib2.0-dev:armel for
+    cross-compiling on x86/amd64 machines
+
+ -- Riku Voipio <riku.voi...@linaro.org>  Sun, 13 Nov 2011 13:21:43 +0200
+
 glib2.0 (2.30.2-1) experimental; urgency=low
 
   * New upstream release.
diff -Nru glib2.0-2.30.2/debian/control.in glib2.0-2.30.2/debian/control.in
--- glib2.0-2.30.2/debian/control.in	2011-10-21 19:51:22.000000000 +0300
+++ glib2.0-2.30.2/debian/control.in	2011-11-13 13:19:12.000000000 +0200
@@ -92,9 +92,11 @@
          ${shlibs:Depends},
          @SHARED_PKG@ (= ${binary:Version}),
          @BIN_PKG@ (= ${binary:Version}),
+         @DEV_BIN_PKG@ (= ${binary:Version}),
          pkg-config (>= 0.16.0),
          zlib1g-dev
 Recommends: python
+Multi-Arch: same
 Suggests: @DOC_PKG@
 Description: Development files for the GLib library
  GLib is a library containing many useful C routines for things such
@@ -105,6 +107,24 @@
  as only it includes the header files and static libraries (optionally)
  needed for compiling.
 
+Package: @DEV_BIN_PKG@
+Section: misc
+Architecture: any
+Depends: ${shlibs:Depends},
+         ${misc:Depends},
+         @SHARED_PKG@ (= ${binary:Version}),
+         @DATA_PKG@
+Conflicts: @DEV_PKG@ (<< 2.30.2-2),
+Replaces: @DEV_PKG@ (<< 2.30.2-2)
+Multi-Arch: foreign
+Description: Programs for the GLib library development
+ GLib is a library containing many useful C routines for things such
+ as trees, hashes, lists, and strings.  It is a useful general-purpose
+ C library used by projects such as GTK+, GIMP, and GNOME.
+ .
+ This package contains the program files which is used for developing
+ with the libraries.
+
 Package: @DEBUG_PKG@
 Section: debug
 Priority: extra
diff -Nru glib2.0-2.30.2/debian/libglib2.0-0.postinst.in glib2.0-2.30.2/debian/libglib2.0-0.postinst.in
--- glib2.0-2.30.2/debian/libglib2.0-0.postinst.in	2011-10-21 19:51:22.000000000 +0300
+++ glib2.0-2.30.2/debian/libglib2.0-0.postinst.in	2011-11-13 13:17:30.000000000 +0200
@@ -17,7 +17,7 @@
             # This is triggered everytime an application installs a GIO
             # module into /usr/lib/#MULTIARCH#/gio/modules or the
             # backwards-compatible /usr/lib/gio/modules directory
-            /usr/lib/#MULTIARCH#/glib-2.0/gio-querymodules /usr/lib/#MULTIARCH#/gio/modules /usr/lib/gio/modules
+            /usr/lib/#MULTIARCH#/glib-2.0/gio-querymodules /usr/lib/#MULTIARCH#/gio/modules /usr/lib/gio/modules || true
             ;;
         esac
     done
@@ -31,8 +31,8 @@
     /usr/lib/#MULTIARCH#/glib-2.0/glib-compile-schemas /usr/share/glib-2.0/schemas || true
 fi
 if [ -d /usr/lib/#MULTIARCH#/gio/modules ]; then
-    /usr/lib/#MULTIARCH#/glib-2.0/gio-querymodules /usr/lib/#MULTIARCH#/gio/modules
+    /usr/lib/#MULTIARCH#/glib-2.0/gio-querymodules /usr/lib/#MULTIARCH#/gio/modules || true
 fi
 if [ -d /usr/lib/gio/modules ]; then
-    /usr/lib/#MULTIARCH#/glib-2.0/gio-querymodules /usr/lib/gio/modules
+    /usr/lib/#MULTIARCH#/glib-2.0/gio-querymodules /usr/lib/gio/modules || true
 fi
diff -Nru glib2.0-2.30.2/debian/libglib2.0-dev-bin.install glib2.0-2.30.2/debian/libglib2.0-dev-bin.install
--- glib2.0-2.30.2/debian/libglib2.0-dev-bin.install	1970-01-01 02:00:00.000000000 +0200
+++ glib2.0-2.30.2/debian/libglib2.0-dev-bin.install	2011-11-13 13:19:48.000000000 +0200
@@ -0,0 +1,14 @@
+debian/install/deb/usr/share/man/man1/glib-genmarshal.1* usr/share/man/man1
+debian/install/deb/usr/share/man/man1/glib-mkenums.1* usr/share/man/man1
+debian/install/deb/usr/share/man/man1/gobject-query.1* usr/share/man/man1
+debian/install/deb/usr/share/man/man1/glib-gettextize.1* usr/share/man/man1
+debian/install/deb/usr/share/man/man1/gtester.1* usr/share/man/man1
+debian/install/deb/usr/share/man/man1/gtester-report.1* usr/share/man/man1
+debian/install/deb/usr/share/man/man1/gdbus-codegen.1* usr/share/man/man1
+debian/install/deb/usr/bin/glib-genmarshal usr/bin
+debian/install/deb/usr/bin/gobject-query usr/bin
+debian/install/deb/usr/bin/glib-mkenums usr/bin
+debian/install/deb/usr/bin/gtester-report usr/bin
+debian/install/deb/usr/bin/glib-gettextize usr/bin
+debian/install/deb/usr/bin/gtester usr/bin
+debian/install/deb/usr/bin/gdbus-codegen usr/bin
diff -Nru glib2.0-2.30.2/debian/libglib2.0-dev.install.in glib2.0-2.30.2/debian/libglib2.0-dev.install.in
--- glib2.0-2.30.2/debian/libglib2.0-dev.install.in	2011-10-21 22:26:24.000000000 +0300
+++ glib2.0-2.30.2/debian/libglib2.0-dev.install.in	2011-11-13 13:19:40.000000000 +0200
@@ -12,17 +12,3 @@
 debian/install/deb/usr/share/glib-2.0/gdb usr/share/glib-2.0
 debian/install/deb/usr/share/glib-2.0/gettext usr/share/glib-2.0
 debian/install/deb/usr/share/glib-2.0/schemas usr/share/glib-2.0
-debian/install/deb/usr/share/man/man1/glib-genmarshal.1* usr/share/man/man1
-debian/install/deb/usr/share/man/man1/glib-mkenums.1* usr/share/man/man1
-debian/install/deb/usr/share/man/man1/gobject-query.1* usr/share/man/man1
-debian/install/deb/usr/share/man/man1/glib-gettextize.1* usr/share/man/man1
-debian/install/deb/usr/share/man/man1/gtester.1* usr/share/man/man1
-debian/install/deb/usr/share/man/man1/gtester-report.1* usr/share/man/man1
-debian/install/deb/usr/share/man/man1/gdbus-codegen.1* usr/share/man/man1
-debian/install/deb/usr/bin/glib-genmarshal usr/bin
-debian/install/deb/usr/bin/gobject-query usr/bin
-debian/install/deb/usr/bin/glib-mkenums usr/bin
-debian/install/deb/usr/bin/gtester-report usr/bin
-debian/install/deb/usr/bin/glib-gettextize usr/bin
-debian/install/deb/usr/bin/gtester usr/bin
-debian/install/deb/usr/bin/gdbus-codegen usr/bin
diff -Nru glib2.0-2.30.2/debian/rules glib2.0-2.30.2/debian/rules
--- glib2.0-2.30.2/debian/rules	2011-10-21 19:51:22.000000000 +0300
+++ glib2.0-2.30.2/debian/rules	2011-11-13 13:17:30.000000000 +0200
@@ -32,6 +32,7 @@
 SHARED_PKG := libglib$(APIVER)-$(SONAME)
 DATA_PKG := libglib$(APIVER)-data
 DEV_PKG := libglib$(APIVER)-dev
+DEV_BIN_PKG := libglib$(APIVER)-dev-bin
 BIN_PKG := libglib$(APIVER)-bin
 UDEB_PKG := libglib$(APIVER)-udeb
 DOC_PKG := libglib$(APIVER)-doc
@@ -94,6 +95,7 @@
 		-e "s#@BIN_PKG@#$(BIN_PKG)#g" \
 		-e "s#@DATA_PKG@#$(DATA_PKG)#g" \
 		-e "s#@DEV_PKG@#$(DEV_PKG)#g" \
+		-e "s#@DEV_BIN_PKG@#$(DEV_BIN_PKG)#g" \
 		-e "s#@UDEB_PKG@#$(UDEB_PKG)#g" \
 		-e "s#@DOC_PKG@#$(DOC_PKG)#g" \
 		-e "s#@DEBUG_PKG@#$(DEBUG_PKG)#g" \

Reply via email to