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