qbzr package should depend on python-configobj

Bug #742186 reported by Daniel Cordeiro
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QBzr
Status tracked in Trunk
0.20
Fix Released
Critical
Unassigned
Trunk
Fix Released
Critical
Unassigned
qbzr (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Hello,

I use the latest bzr (2.3.1) got from the bzr ppa. When I run bzr qlog on a branch, I got the following error:

$ bzr qlog
bzr: ERROR: No module named configobj
You may need to install this Python library separately.

(the generated stack trace in bzr.log is attached)

Other log-related bzr commands (like bzr [g]log) works fine.

I'm using Ubuntu 10.10 and qbzr (from bzr ppa) version 0.20.0-1~bazaar1~maverick1:
$ apt-cache policy qbzr
qbzr:
  Installed: 0.20.0-1~bazaar1~maverick1
  Candidate: 0.20.0-1~bazaar1~maverick1
  Version table:
 *** 0.20.0-1~bazaar1~maverick1 0
        500 http://ppa.launchpad.net/bzr/ppa/ubuntu/ maverick/main i386 Packages
        100 /var/lib/dpkg/status
     0.19.1-0ubuntu1 0
        500 http://br.archive.ubuntu.com/ubuntu/ maverick/universe i386 Packages

Revision history for this message
Daniel Cordeiro (dcordeiro) wrote :
Revision history for this message
Daniel Cordeiro (dcordeiro) wrote :

As expected, installing python-configobj solves the problem. :)

Revision history for this message
Martin Pool (mbp) wrote :

Not an upstream bug.

affects: bzr → qbzr
Changed in qbzr:
status: New → Invalid
Revision history for this message
Alexander Belchenko (bialix) wrote :

Actually we've added support to qbzr for being able use configobj either from bzrlib or from system install, so it's fixed in the upstream but not released yet.

Revision history for this message
Martin Pool (mbp) wrote :

I think that would still count as a packaging bug, because Ubuntu (and Debian) have a policy that whenever possible programs should use separately packaged libraries rather than shipping their own copy.
Though, having said that, configobj does seem to still be present in python-bzrlib 2.3.1-0~bazaar1~maverick1.

Revision history for this message
Max Bowsher (maxb) wrote :

> Though, having said that, configobj does seem to still be present in python-bzrlib 2.3.1-0~bazaar1~maverick1.

The removal of configobj is reverted in the PPA for <=maverick, because the packaged python-configobj is too old in these series, and keeping bzr's embedded copy was simpler than preparing backports.

Changed in qbzr (Ubuntu):
status: New → Incomplete
Revision history for this message
Andrew Starr-Bochicchio (andrewsomething) wrote :

Well this certainly doesn't exist in Natty:

$ aptitude why python-configobj
i bzr-explorer Depends bzr (>= 1.14)
i A bzr Depends python-bzrlib (>= 2.3.0-2)
i A python-bzrlib Depends python-configobj

And qbzr is patched to use the system lib.

AFAICT, this is a bug in the PPA packaging of bzr for maverick.

Revision history for this message
Andrew Starr-Bochicchio (andrewsomething) wrote :

The PPA package of bzr for maverick still includes configobj:

$ head -n 1 debian/changelog
bzr (2.3.1-0~bazaar1~maverick1) maverick; urgency=low
$ ls bzrlib/util/configobj/
configobj.py __init__.py

While the PPA package of qbzr for maverick is patched to us the system lib:

$ head -n 1 debian/changelog
qbzr (0.20.0-1~bazaar1~maverick1) maverick; urgency=low
$ ls debian/patches/
01-dontinstalltxt.diff 02-configobj.diff series

Per Max's comment, I guess we should fix this in the qbzr PPA package. See linked branch.

Revision history for this message
Alexander Belchenko (bialix) wrote :

Dear packagers, what can I do to persuade you use my fix for this problem form the qbzr trunk, to avoid extra patching of qbzr sources? I can release my fix for all required versions of qbzr, so you can just packages those versions instead of yours? Is it worth the efforts?

Changed in qbzr:
status: Invalid → Confirmed
importance: Undecided → High
Revision history for this message
Gary van der Merwe (garyvdm) wrote :

qbzr <= 0.20 - Uses bzrlib configobj
qbzr trunk r1356 - Uses python configobj
qbzr >= trunk r1357 - Uses either python or bzrlib configobj

Danie, you said that the issue was fix by installing python-configobj. If I understand everything correctly, the only way that that was possible, is if you had qbzr trunk version r1356 installed. The ppa version of bzr that you are using does have bzrlib configobj according to Max, and then ever version of qbzr would have worked. Please check the path of the copy of qbzr that is beening used by running bzr pulgins -v .

Adding python-configobj as a dependency to the debian/ubuntu qbzr package is needed anyway. It will duplicate the dependency that new debian versions of bzr has on it, but as far as I am aware, this is not an issue.

Revision history for this message
Daniel Cordeiro (dcordeiro) wrote :

I'm using the qbzr (and bzr) Ubuntu packages from http://ppa.launchpad.net/bzr/ppa/ubuntu/
According to /usr/share/doc/qbzr/changelog.gz, it is version "0.20.0 - 2011/02/03".

Revision history for this message
Andrew Starr-Bochicchio (andrewsomething) wrote : Re: [Bug 742186] Re: qbzr package should depend on python-configobj

On Mon, Mar 28, 2011 at 3:53 AM, Gary van der Merwe <email address hidden> wrote:
> qbzr <= 0.20 - Uses bzrlib configobj
> qbzr trunk r1356 - Uses python configobj
> qbzr >= trunk r1357 - Uses either python or bzrlib configobj
>
> Danie, you said that the issue was fix by installing python-configobj.
> If I understand everything correctly, the only way that that was
> possible, is if you had qbzr trunk version r1356 installed.  The ppa
> version of bzr that you are using does have bzrlib configobj according
> to Max, and then ever version of qbzr would have worked.  Please check
> the path of the copy of qbzr that is beening used by running bzr pulgins
> -v .

The issue is in the packaging. As you say, the ppa version of bzr that
you are using does have bzrlib configobj. But qbzr
0.20.0-1~bazaar1~maverick1 in the PPA is carrying a patch to use the
system lib:

$ head -n 1 debian/changelog
qbzr (0.20.0-1~bazaar1~maverick1) maverick; urgency=low
$ cat debian/patches/02-configobj.diff
=== modified file 'lib/util.py'
--- old/lib/util.py 2011-02-01 09:43:36 +0000
+++ new/lib/util.py 2011-02-06 12:48:37 +0000
@@ -51,7 +51,7 @@
     osutils,
     urlutils,
 )
-from bzrlib.util.configobj import configobj
+import configobj
 from bzrlib.plugins.qbzr.lib import trace
 from bzrlib.workingtree import WorkingTree
 from bzrlib.transport import get_transport

Jelmer Vernooij (jelmer)
Changed in qbzr (Ubuntu):
status: Incomplete → Invalid
Changed in qbzr:
status: Confirmed → Fix Released
milestone: none → 0.21b1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

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