upgrade failure: qdbus and libqt4-dbus cyclic dependency

Bug #927637 reported by Martin Pitt
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
qt4-x11 (Ubuntu)
Fix Released
High
Martin Pitt
Precise
Fix Released
High
Martin Pitt

Bug Description

dist-upgrade from lucid to precise fails with qdbus. This is reproduced by the automatic upgrade tester, which has all logs:
https://jenkins.qa.ubuntu.com/view/Precise/job/precise-upgrade-lucid-universe/

Preparing to replace libqt4-dbus 4:4.6.2-0ubuntu5.3 (using .../libqt4-dbus_4%3a4.8.0-1ubuntu4_amd64.deb) ...
Unpacking replacement libqt4-dbus ...
Selecting previously unselected package qdbus.
Unpacking qdbus (from .../qdbus_4%3a4.8.0-1ubuntu4_amd64.deb) ...
[...]
dpkg: dependency problems prevent configuration of qdbus:
 qdbus depends on libqt4-dbus (= 4:4.8.0-1ubuntu4); however:
  Package libqt4-dbus is not configured yet.
dpkg: error processing qdbus (--configure):
 dependency problems - leaving unconfigured

This is because qdbus Depends: libqt4-dbus which in turn Depends: qdbus. It seems strange for a library to strictly depend on a command line tool.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: qdbus 4:4.8.0-1ubuntu4
ProcVersionSignature: Ubuntu 3.2.0-14.23-generic 3.2.3
Uname: Linux 3.2.0-14-generic x86_64
ApportVersion: 1.91-0ubuntu1
Architecture: amd64
Date: Mon Feb 6 15:04:29 2012
EcryptfsInUse: Yes
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Beta amd64 (20110831)
ProcEnviron:
 PATH=(custom, user)
 LANG=de_DE.UTF-8
 SHELL=/bin/bash
SourcePackage: qt4-x11
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Martin Pitt (pitti) wrote :
tags: added: lucid2precise rls-p-tracking
Changed in qt4-x11 (Ubuntu Precise):
milestone: none → ubuntu-12.04-beta-1
importance: Undecided → High
status: New → Triaged
Revision history for this message
Martin Pitt (pitti) wrote :

The library doesn't seem to call the qdbus program anywhere (and it better doesn't):

$ strings /usr/lib/x86_64-linux-gnu/libQtDBus.so.4.8.0 | grep qdbus
_qdbus_slotCache

So I think demoting qdbus to a suggests is fine, or dropping it entirely.

Revision history for this message
Martin Pitt (pitti) wrote :

This came from

  * Break qdbus out into a separate 'qdbus' package and make it a dependency of
    libqt4-dbus, because some things will use this at runtime. It makes
    libqt4-dbus genuinely multiarch-installable.

So I think a recommends: will do fine.

Changed in qt4-x11 (Ubuntu Precise):
status: Triaged → Fix Committed
assignee: nobody → Martin Pitt (pitti)
Revision history for this message
Martin Pitt (pitti) wrote :

Fixed in packaging bzr.

tags: added: dist-upgrade qa-daily-testing
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

---------------
qt4-x11 (4:4.8.0-1ubuntu5) precise; urgency=low

  [ Martin Pitt ]
  * debian/control: Drop qdbus dependency of libqt4-dbus to a Recommends. The
    library does not actually need qdbus, and this is a cyclic dependency
    which breaks upgrades. (LP: #927637)

  [ Jonathan Riddell ]
  * Add kubuntu_29_window_shaping_fix.diff from
    http://qt.gitorious.org/qt/qt/commit/21713e04160ee285c831fedd1f3c7b8
    ce0aba681 take window shape into account in findRealWindow,
    LP: #926129
 -- Jonathan Riddell <email address hidden> Mon, 06 Feb 2012 19:39:15 +0000

Changed in qt4-x11 (Ubuntu Precise):
status: Fix Committed → Fix Released
Revision history for this message
Mark Browning (mabrowningrr) wrote :

This bug affects Oneiric as well. Could you backport the fix?

Revision history for this message
Mark Browning (mabrowningrr) wrote :

I should clarify that it breaks when multiarch is enabled. libqt4-dbus:i386 Requires qdbus:i386 and libqt4-dbus:amd64 Requires qdbus:amd64, but the two qdbus are in Conflicts. Surely only one command line qdbus is needed, not the i386 version. Demoting it to Recommends as in this fix for precise seems like the correct fix across the board.

Revision history for this message
Martin Pitt (pitti) wrote : Re: [Bug 927637] Re: upgrade failure: qdbus and libqt4-dbus cyclic dependency

Mark Browning [2012-02-09 3:55 -0000]:
> I should clarify that it breaks when multiarch is enabled.
> libqt4-dbus:i386 Requires qdbus:i386 and libqt4-dbus:amd64 Requires
> qdbus:amd64, but the two qdbus are in Conflicts.

For the record, qdbus is "Multi-Arch: foreign" in precise, so having
either version installed is sufficient.

Martin
--
Martin Pitt | http://www.piware.de
Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.