Bug#697491: libgtk2.0-bin: missing "multiarch: foreign" gtk-query-immodules-2.0 command
Osamu Aoki
osamu at debian.org
Sun Jan 6 03:30:23 UTC 2013
Package: libgtk2.0-bin
Version: 2.24.10-2
Severity: normal
Short comment:
Let's add symlink:
/usr/bin/gtk-query-immodules-2.0
-> /usr/lib/$DEB_HOST_MULTIARCH/libgtk2.0-0/gtk-query-immodules-2.0
in each libgtk2.0-bin package.
I think we should also do the same for gtk-update-icon-cache
/usr/bin/gtk-update-icon-cache
-> /usr/lib/$DEB_HOST_MULTIARCH/libgtk2.0-0/gtk-update-icon-cache
(The equivalent should be done for libgtk-3-bin package with
gtk-query-immodules-3.0 and gtk-update-icon-cache-3.0.)
Long story:
gtk-query-immodules-2.0 command under /usr/bin is missing in this
package but this package provides manpage for it. As I checked, this
may be some convoluted result of
* Debian moving to multiarch and
* Debian using /usr/lib for /usr/libexec .
See:
$ dpkg -S gtk-query-immodules-2.0
libgtk2.0-0:amd64: /usr/lib/x86_64-linux-gnu/libgtk2.0-0/gtk-query-immodules-2.0
libgtk2.0-bin: /usr/share/man/man1/gtk-query-immodules-2.0.1.gz
libgtk2.0-doc: /usr/share/doc/libgtk2.0-doc/gtk/gtk-query-immodules-2.0.html
$ ls -l /usr/lib/x86_64-linux-gnu/libgtk2.0-0/
total 40
-rwxr-xr-x 1 root root 10200 Aug 7 01:30 gtk-query-immodules-2.0
-rwxr-xr-x 1 root root 28440 Aug 7 01:30 gtk-update-icon-cache
libgtk2.0-0: multiarch: same
libgtk2.0-bin: multiarch: foreign
As I understand, gtk-query-immodules-2.0 and gtk-update-icon-cache are
not the shared library but the command executable. They can be called
(and depended) by any forein arch package. So they should be in
"multiarch: foreign" package.
Since we do not deploy LIBEXEC=/usr/libexec, we put them under the same
directory as LIB=/usr/lib/. Then multiarch conversion added
x86_64-linux-gnu to their path ... Although executables under /usr/bin
do not have this multiarch path component and can be "multiarch:
foreign" to serve for any arch, now this path in gtk-query-immodules-2.0
makes it move to "multiarch: same" package.
I expect some GNOME codes directly call these executables located in
LIBEXEC specified location, we need to keep actual binary in "multiarch:
same" package, .i.e., libgtk2.0-0 under current Debian situation.
Adding symlink solves strangeness of missing command documented by the
manpage and html documentation. Also, in future, if some arch
x86_32-linux-gnu program wishes to call gtk-query-immodules-2.0 from
non-x86_64-linux-gnu architecture package, this can be accommodated
with this symlink etc.
PS: This case may be a good example for the argument to introduce an
independent LIBEXEC=/usr/libexec directory to Debian. Then package
building are simpler ...
-- System Information:
Debian Release: 7.0
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (10, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.7-trunk-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages libgtk2.0-bin depends on:
ii libgtk2.0-0 2.24.10-2
ii libgtk2.0-common 2.24.10-2
libgtk2.0-bin recommends no packages.
libgtk2.0-bin suggests no packages.
-- no debconf information
More information about the pkg-gnome-maintainers
mailing list