libqt4-dbus: contains an executable in /usr/bin, breaks multiarch, Policy 8.2

Bug #825689 reported by Steve Langasek
28
This bug affects 4 people
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>-tools'; note the absence of the
     <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.

Tags: multiarch
Steve Langasek (vorlon)
Changed in qt4-x11 (Ubuntu):
importance: Undecided → Medium
tags: added: multiarch
Revision history for this message
Scott Kitterman (kitterman) wrote :

fabo : How would you like us to solve this?

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package qt4-x11 - 4:4.7.3-4ubuntu5

---------------
qt4-x11 (4:4.7.3-4ubuntu5) oneiric; urgency=low

  * Move qdbus from libqt4-dbus to qt4-dev-tools, so that libqt4-dbus is
    genuinely multiarch-installable. LP: #825689.
 -- Steve Langasek <email address hidden> Tue, 16 Aug 2011 15:46:28 -0700

Changed in qt4-x11 (Ubuntu):
status: New → Fix Released
Revision history for this message
Fathi Boudra (fboudra) wrote :

Moving qdbus from a runtime package to a devel package seems wrong.
it makes more sense to split qdbus in its own package and
fix dependencies of the packages calling it.

e.g. qdbus is used by startkde

I fear other packages are using qdbus.

Revision history for this message
Scott Kitterman (kitterman) wrote : Re: [Bug 825689] Re: libqt4-dbus: contains an executable in /usr/bin, breaks multiarch, Policy 8.2

Makes sense. We should do this.

Revision history for this message
Gareth Hart (tghe-retford) wrote :

And because qdbus is used by startkde, if you upgrade to libqt4-dbus 4:4.7.3-4ubuntu5 as I did tonight, you can't get to the KDE desktop. It's a showstopper unless you resort to a virtual terminal or another desktop environment.

Revision history for this message
Gareth Hart (tghe-retford) wrote :

The workaround of installing qt4-dev-tools works but that isn't going to be practical for every user or indeed Oneiric tester.

Revision history for this message
Scott Kitterman (kitterman) wrote :

That's just temporary until I can get it fixed properly.

Revision history for this message
Philip Muškovac (yofel) wrote :

We're tracking the kde breakage in bug 827815 btw.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers