Bug#648621: Multiarch improvements for glib2.0
Hi all, is there any progress on the issue? What are the blocking points? Is there anything wrong with Simons suggestion to assume, that we can execute the foreign architecture's binaries without issues ? TIA!
Bug#648621: Multiarch improvements for glib2.0
Control: reassign -1 libglib2.0-dev Control: forcemerge -1 683593 Hi Riku, On Sun, 13 Nov 2011 17:41:04 +0200 Riku Voipio riku.voi...@iki.fi wrote: 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 Have you investigated, if the tools are actually multi-arch foreign, e.g. the output they produce is architecture independent? -- Why is it that all of the instruments seeking intelligent life in the universe are pointed away from Earth? signature.asc Description: OpenPGP digital signature
Bug#648621: Multiarch improvements for glib2.0
Hi Riku, Riku Voipio wrote: --- glib2.0-2.30.2/debian/changelog 2011-11-18 20:38:42.0 +0200 +++ glib2.0-2.30.2/debian/changelog 2011-12-12 17:06:09.0 +0200 @@ -1,3 +1,14 @@ [...] + * 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 http://developer.gnome.org/gio/stable/GIOModule.html says When installing a module that implements g_io_module_query you must run gio-querymodules in order to build the cache files required for lazy loading. So this makes me nervous, and if we had a lot of time I would rather see: * gio-querymodules moved to a separate libglib2.0-bin package * its location changed from /usr/lib/#MULTIARCH#/glib-2.0/gio-querymodules to /usr/lib/glib-2.0/gio-querymodules and its interface changed to take a parameter indicating where the resulting cache should go * wrapper scripts supplying that parameter installed by libglib2.0-0 * libglib2.0-bin as Multi-arch: foreign That would hopefully take care of the problem completely. Luckily the simplest cases have already been taken care of along the lines you suggested: http://bugs.debian.org/659588. Maybe a multiarch libglib2.0-dev wouldn't be very hard? Hope that helps, Jonathan -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#648621: Multiarch improvements for glib2.0
Hi, Sorry the original patch included some garbage characters in the postinst.in. The attached patch is clean and has been updated to apply with the glib2.0 in unstable. To avoid divergence, I'd like to hear the debian maintainers opinion on this patch before proposing it to the ubuntu maintainers- Cheers, 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-18 20:38:42.0 +0200 +++ glib2.0-2.30.2/debian/changelog 2011-12-12 17:06:09.0 +0200 @@ -1,3 +1,14 @@ +glib2.0 (2.30.2-4linaro1) 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-4) unstable; urgency=low * Upload to unstable. diff -Nru glib2.0-2.30.2/debian/control glib2.0-2.30.2/debian/control --- glib2.0-2.30.2/debian/control 2011-11-18 20:43:14.0 +0200 +++ glib2.0-2.30.2/debian/control 2011-12-12 17:09:32.0 +0200 @@ -92,9 +92,11 @@ ${shlibs:Depends}, libglib2.0-0 (= ${binary:Version}), libglib2.0-bin (= ${binary:Version}), + libglib2.0-dev-bin (= ${binary:Version}), pkg-config (= 0.16.0), zlib1g-dev Recommends: python +Multi-Arch: same Suggests: libglib2.0-doc 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: libglib2.0-dev-bin +Section: misc +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + libglib2.0-0 (= ${binary:Version}), + libglib2.0-data +Conflicts: libglib2.0-dev ( 2.30.2-2), +Replaces: libglib2.0-dev ( 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: libglib2.0-0-dbg Section: debug Priority: extra 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-11-18 19:33:53.0 +0200 +++ glib2.0-2.30.2/debian/control.in 2011-12-12 17:05:05.0 +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-11-18 19:57:36.0 +0200 +++ glib2.0-2.30.2/debian/libglib2.0-0.postinst.in 2011-12-12 17:06:48.0 +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
Bug#648621: Multiarch improvements for glib2.0
Hi, Have you had a chance to look at this patch? Riku -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#648621: Multiarch improvements for glib2.0
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.0 +0200 +++ glib2.0-2.30.2/debian/changelog 2011-11-13 13:24:47.0 +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.0 +0300 +++ glib2.0-2.30.2/debian/control.in 2011-11-13 13:19:12.0 +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.0 +0300 +++ glib2.0-2.30.2/debian/libglib2.0-0.postinst.in 2011-11-13 13:17:30.0 +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.0 +0200 +++ glib2.0-2.30.2/debian/libglib2.0-dev-bin.install 2011-11-13 13:19:48.0 +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