2012-03-09 17:07:33 |
Wookey |
bug |
|
|
added bug |
2012-03-09 17:07:57 |
Wookey |
description |
glib-2.0 declares itself Multi-Arch: same, i.e co-installable. But in fact this does not work because it cannot be installed on anything other than the native architecture.
Amongst other things this means that no package build-depending on glib2.0 can be built (becuase the build-deps don't install).
$apt-get install libglib2.0-0:armel
Setting up libglib2.0-0:armel (2.31.20-0ubuntu2) ...
/var/lib/dpkg/info/libglib2.0-0:armel.postinst: 36: /var/lib/dpkg/info/libglib2.0-0:armel.postinst: /usr/lib/arm-linux-gnueabi/glib-2.0/glib-compile-schemas: not found
/var/lib/dpkg/info/libglib2.0-0:armel.postinst: 39: /var/lib/dpkg/info/libglib2.0-0:armel.postinst: /usr/lib/arm-linux-gnueabi/glib-2.0/gio-querymodules: not found
dpkg: error processing libglib2.0-0:armel (--configure):
subprocess installed post-installation script returned error exit status 127
The problem is that the postinst contains:
case $trigger in
/usr/share/glib-2.0/schemas)
# This is triggered everytime an application installs a
# GSettings schema
/usr/lib/arm-linux-gnueabi/glib-2.0/glib-compile-schemas /usr/share/glib-2.0/schemas || true
;;
/usr/lib/arm-linux-gnueabi/gio/modules|/usr/lib/gio/modules)
# This is triggered everytime an application installs a GIO
# module into /usr/lib/arm-linux-gnueabi/gio/modules or the
# backwards-compatible /usr/lib/gio/modules directory
/usr/lib/arm-linux-gnueabi/glib-2.0/gio-querymodules /usr/lib/arm-linux-gnueabi/gio/modules /usr/lib/gio/modules
/usr/lib/arm-linux-gnueabi/glib-2.0/glib-compile-schemas and
/usr/lib/arm-linux-gnueabi/glib-2.0/gio-querymodules
are both ELF executables and thus not executable on the machine you are cross-installing onto.
If the output of these commands is arch-independent then a good fix would be to change these lines to be:
/usr/lib/${DEB_BUILD_MULTIARCH}/glib-2.0/glib-compile-schemas
/usr/lib/${DEB_BUILD_MULTIARCH}/glib-2.0/gio-querymodules
so that the version for the arch being installed-onto always gets run.
However if it is not arch-independent then the postinsts should arrange to only run these commands when the package is being natively-installed. If the output for all the versions installed needs to be present then we need to arrange some way of making this work.
It may be that moving this binaries out into the libglib2.0-bin package is the right thing to do? |
glib-2.0 declares itself Multi-Arch: same, i.e co-installable. But in fact this does not work because it cannot be installed on anything other than the native architecture.
Amongst other things this means that no package build-depending on glib2.0 can be built (becuase the build-deps don't install).
$apt-get install libglib2.0-0:armel
Setting up libglib2.0-0:armel (2.31.20-0ubuntu2) ...
/var/lib/dpkg/info/libglib2.0-0:armel.postinst: 36: /var/lib/dpkg/info/libglib2.0-0:armel.postinst: /usr/lib/arm-linux-gnueabi/glib-2.0/glib-compile-schemas: not found
/var/lib/dpkg/info/libglib2.0-0:armel.postinst: 39: /var/lib/dpkg/info/libglib2.0-0:armel.postinst: /usr/lib/arm-linux-gnueabi/glib-2.0/gio-querymodules: not found
dpkg: error processing libglib2.0-0:armel (--configure):
subprocess installed post-installation script returned error exit status 127
The problem is that the postinst contains:
case $trigger in
/usr/share/glib-2.0/schemas)
# This is triggered everytime an application installs a
# GSettings schema
/usr/lib/arm-linux-gnueabi/glib-2.0/glib-compile-schemas /usr/share/glib-2.0/schemas || true
;;
/usr/lib/arm-linux-gnueabi/gio/modules|/usr/lib/gio/modules)
# This is triggered everytime an application installs a GIO
# module into /usr/lib/arm-linux-gnueabi/gio/modules or the
# backwards-compatible /usr/lib/gio/modules directory
/usr/lib/arm-linux-gnueabi/glib-2.0/gio-querymodules /usr/lib/arm-linux-gnueabi/gio/modules /usr/lib/gio/modules
/usr/lib/arm-linux-gnueabi/glib-2.0/glib-compile-schemas and
/usr/lib/arm-linux-gnueabi/glib-2.0/gio-querymodules
are both ELF executables and thus not executable on the machine you are cross-installing onto.
If the output of these commands is arch-independent then a good fix would be to change these lines to be:
/usr/lib/${DEB_BUILD_MULTIARCH}/glib-2.0/glib-compile-schemas
/usr/lib/${DEB_BUILD_MULTIARCH}/glib-2.0/gio-querymodules
so that the version for the arch being installed-onto always gets run.
However if it is not arch-independent then the postinsts should arrange to only run these commands when the package is being natively-installed. If the output for all the versions installed needs to be present then we need to arrange some way of making this work.
It may be that moving these binaries out into the libglib2.0-bin package is the right thing to do? |
|
2012-03-09 17:17:24 |
Wookey |
summary |
glib2.0:armel uninstallable on other architectures |
glib2.0:armel uninstallable on non-native architectures |
|
2012-03-09 17:31:04 |
Steve Langasek |
summary |
glib2.0:armel uninstallable on non-native architectures |
glib2.0:armel uninstallable if the code on systems that don't support executing armel code |
|
2012-03-09 17:31:44 |
Steve Langasek |
summary |
glib2.0:armel uninstallable if the code on systems that don't support executing armel code |
glib2.0:armel uninstallable on systems that don't support executing armel code |
|
2012-03-09 17:33:58 |
Steve Langasek |
bug watch added |
|
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659588 |
|
2012-03-09 17:33:58 |
Steve Langasek |
bug task added |
|
glib2.0 (Debian) |
|
2012-03-09 17:35:31 |
Steve Langasek |
glib2.0 (Ubuntu): status |
New |
Triaged |
|
2012-03-09 17:35:33 |
Steve Langasek |
glib2.0 (Ubuntu): importance |
Undecided |
Low |
|
2012-03-12 21:39:08 |
Bug Watch Updater |
glib2.0 (Debian): status |
Unknown |
Fix Released |
|
2012-03-30 10:50:20 |
Marcin Juszkiewicz |
glib2.0 (Ubuntu): assignee |
|
Martin Pitt (pitti) |
|
2012-03-30 10:51:25 |
Martin Pitt |
glib2.0 (Ubuntu): status |
Triaged |
In Progress |
|
2012-03-30 11:29:09 |
Launchpad Janitor |
branch linked |
|
lp:~ubuntu-desktop/glib/ubuntu |
|
2012-03-30 13:40:21 |
Launchpad Janitor |
glib2.0 (Ubuntu): status |
In Progress |
Fix Released |
|
2012-03-30 13:40:21 |
Launchpad Janitor |
bug watch added |
|
https://bugzilla.gnome.org/show_bug.cgi?id=658999 |
|
2012-06-29 15:59:40 |
Launchpad Janitor |
branch linked |
|
lp:ubuntu/glib2.0 |
|