Installing brz does not install gpg / brz does not handle missing gpg clearly

Bug #1803898 reported by Aaron Bentley
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Breezy
Fix Released
High
Jelmer Vernooij

Bug Description

When I tried to commit with brz, I got:

$ brz commit -m "Wait for postgres to be ready instead of sleeping."
Committing to: /home/abentley/panometrics/sass/
modified bin/docker-entrypoint.sh
brz: ERROR: No module named gpg
You may need to install this Python library separately.

This is because my old ~/.bazaar/bazaar.conf had "create_signatures = always", so it wanted to sign the commits, but installing breezy (via pip) did not install the gpg package.

If it is intended that Breezy can be installed without support for signing, then when it is missing a more specific error would be helpful. (I used -Derror to figure this out.) Something like:

You have enabled signing commits, but the gpg Python library is not installed. You can either install the gpg library or set create_signatures=no.

Tags: gpg

Related branches

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

We should indeed at least show a clearer error message here.

I'm not sure about depending on gpg for all installations, because of the number of dependencies we'd pull in (the gpg binary and all its dependencies).

We can register an 'extra' for gpg signatures so that you can install 'breezy[pgp]' to pull in the right dependencies, but that's of course a lot less discoverable.

Changed in brz:
status: New → Triaged
importance: Undecided → High
milestone: none → 3.0.0
tags: added: gpg
Jelmer Vernooij (jelmer)
Changed in brz:
status: Triaged → Fix Committed
Jelmer Vernooij (jelmer)
Changed in brz:
status: Fix Committed → Fix Released
assignee: nobody → Jelmer Vernooij (jelmer)
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.