Bug 1415177

Summary: duplicity-0.7.11-1.el7 is incompatible with gnupg2-2.0.22-4.el7
Product: [Fedora] Fedora EPEL Reporter: Matthias Hensler <mails.bugzilla.redhat.com>
Component: duplicityAssignee: Gwyn Ciesla <gwync>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: epel7CC: agrover, artem, gnot, gwync, troels
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: duplicity-0.7.11-2.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-01-26 00:19:20 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Patch which makes the bug go away
none
RPM spec file which (in combination with patch gnupg20_fix.patch) builds a fixed package none

Description Matthias Hensler 2017-01-20 13:16:59 UTC
Description of problem:
Update to duplicity 0.7.11-1.el7 on RHEL7 breaks duplicity.

Version-Release number of selected component (if applicable):
0.7.11-1.el7

How reproducible:
always

Steps to Reproduce:
1. update duplicty
2. run duplicty
3.

Actual results:
[...]
Last full backup date: Thu Jan 19 13:08:18 2017
Reuse configured PASSPHRASE as SIGN_PASSPHRASE
GPGError: GPG Failed, see log below:
===== Begin GnuPG log =====
gpg: invalid option "--pinentry-mode=loopback"
===== End GnuPG log =====

13:29:56.543 Task 'BKP' failed with exit code '31'.


Expected results:
Backup should run

Additional info:
Upstream added the commandline-parameter "--pinentry-mode=loopback" if gnupg version 2 is detected (see /usr/lib64/python2.7/site-packages/duplicity/gpg.py starting at line 139):

        elif profile.gpg_major == 2:
            # This forces gpg2 to ignore the agent.
            # Necessary to enforce truly non-interactive operation.
            if platform.platform().startswith('Linux'):
                gnupg.options.extra_args.append('--pinentry-mode=loopback')


However, that parameter is only available on gnupg 2.1 and newer. Since RHEL7 currently ships gnupg in version 2.0.22 duplicity is broken.

Comment 1 Troels Arvin 2017-01-21 10:45:25 UTC
Upstream bug reports about this:
https://bugs.launchpad.net/duplicity/+bug/1658283
https://bugs.launchpad.net/duplicity/+bug/1658291

Comment 2 Troels Arvin 2017-01-21 21:50:51 UTC
Created attachment 1243181 [details]
Patch which makes the bug go away

The patch is a simplified version of http://bazaar.launchpad.net/~duplicity-team/duplicity/0.7-series/revision/1267

Comment 3 Troels Arvin 2017-01-21 21:51:46 UTC
Created attachment 1243182 [details]
RPM spec file which (in combination with patch gnupg20_fix.patch) builds a fixed package

Comment 4 Gwyn Ciesla 2017-01-23 15:53:36 UTC
Brilliant, thank you!  I'll get this out ASAP.

Comment 5 Fedora Update System 2017-01-23 17:30:16 UTC
duplicity-0.7.11-2.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2017-99395cd175

Comment 6 George Notaras 2017-01-23 18:18:14 UTC
I tested 0.7.11-1 on CentOS 7.3.1611 and confirm the reported issue.

Updated to duplicity-0.7.11-2.el7 from Koji and it seems to work as expected.

Big thanks to all for your work!

Comment 7 Fedora Update System 2017-01-25 00:49:35 UTC
duplicity-0.7.11-2.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2017-99395cd175

Comment 8 Fedora Update System 2017-01-26 00:19:20 UTC
duplicity-0.7.11-2.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.