libqt4-dbus: contains an executable in /usr/bin, breaks multiarch, Policy 8.2
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
qt4-x11 (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
The libqt4-dbus package ships /usr/bin/qdbus, an executable that links against libqt4-dbus but does not appear to be used by the library. This contradicts Debian/Ubuntu policy 8.2:
If your package contains files whose names do not change with each
change in the library shared object version, you must not put them in
the shared library package. Otherwise, several versions of the shared
library cannot be installed at the same time without filename clashes,
making upgrades and transitions unnecessarily difficult.
[...]
Run-time support programs that use the shared library but are not
required for the library to function or files used by the shared
library that can be used by any version of the shared library package
should instead be put in a separate package. This package might
typically be named `<libraryname>
<soversion> in the package name.
This also breaks multiarch, since /usr/bin/qdbus has to be a file of one architecture or another, preventing installation of multiple copies of libqt4-dbus.
This is the only program in any of the qt4 library packages, and I think it was put there by mistake. Debian bug #391726 mentions that qdbus is a "nice to have", and the other tools that were packaged at the same time were put in libqt4-dev instead. I think the correct course of action here is to move the file to either libqt4-dev or qt4-dev-tools.
However, I'm sufficiently wary of breaking something here that I hesitate to just upload the fix - so I'm raising a bug instead.
Changed in qt4-x11 (Ubuntu): | |
importance: | Undecided → Medium |
tags: | added: multiarch |
fabo : How would you like us to solve this?