Bug#696389: libglib2.0-0: harmful postrm actions for M-A: same package: rm -f /usr/lib/.../modules/giomodule.cache /usr/share/glib-2.0/schemas/gschemas.compiled
Andreas Beckmann
debian at abeckmann.de
Thu Dec 20 09:59:28 UTC 2012
Package: libglib2.0-0
Version: 2.33.12+really2.32.4-3
Severity: serious
User: debian-qa at lists.debian.org
Usertags: piuparts
Hi,
libglib2.0-0.postrm does some cleanup that is potentially harmful in a
multiarch setup. Just think about libglib2.0-0:someforeignarch being
removed while libglib2.0-0:native is kept installed:
rm -f /usr/lib/x86_64-linux-gnu/gio/modules/giomodule.cache
rm -f /usr/lib/gio/modules/giomodule.cache
rm -f /usr/share/glib-2.0/schemas/gschemas.compiled
The latter two should only be done when removing the last instance of
libglib2.0-0 ... or some trigger should be actived that may
update/recreate these caches ...
Furthermore the directory removal is not needed as well, because this
should be handled dpkg and its reference counting:
rmdir -p --ignore-fail-on-non-empty /usr/lib/x86_64-linux-gnu/gio/modules
rmdir -p --ignore-fail-on-non-empty /usr/lib/gio/modules
rmdir -p --ignore-fail-on-non-empty /usr/share/glib-2.0/schemas
Two of these directories are already owned by several packages, and the
third should just be shipped as an empty directory by libglib2.0-0
# dpkg -S /usr/lib/x86_64-linux-gnu/gio/modules /usr/lib/gio/modules /usr/share/glib-2.0/schemas
libglib2.0-0:amd64, dconf-gsettings-backend:amd64: /usr/lib/x86_64-linux-gnu/gio/modules
dpkg-query: no path found matching pattern /usr/lib/gio/modules
libglib2.0-0:amd64, libgtk-3-common: /usr/share/glib-2.0/schemas
I just started doing some co-installation tests of the M-A: same
packages (about 2000 for sid and wheezy, each)
setup minimal wheezy (or sid) amd64 chroot
install $PKG
enable-foreign-architecture i386
snapshot
install $PKG:i386
purge *:i386
compare with snapshot
and see quite a lot of these errors:
1m14.3s ERROR: FAIL: After purging files have disappeared:
/usr/share/glib-2.0/ owned by: libglib2.0-0:i386, libglib2.0-0:amd64
/usr/share/glib-2.0/schemas/ owned by: libglib2.0-0:i386, libglib2.0-0:amd64
1m5.0s ERROR: FAIL: After purging files have disappeared:
/usr/share/glib-2.0/schemas/gschemas.compiled not owned
Andreas
More information about the pkg-gnome-maintainers
mailing list