File 0002-passphrase_cb-is-deprecated.patch of Package python-gpgme

From 6648b075fb3d434c599d7e1793bd1f0bbe85dfe3 Mon Sep 17 00:00:00 2001
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Mon, 1 Feb 2016 19:25:12 -0500
Subject: [PATCH 2/6] passphrase_cb is deprecated

https://bugs.gnupg.org/gnupg/issue767 indicates that
gpgme_set_passphrase_cb is a deprecated corner of the API and that
developers using gpgme should really rely on the gpg-agent to handle
this stuff.  This should actually simplify things for most
installations -- just strip out all passphrase handling from your
application entirely, relying on gpg to figure out how to find the
agent, and relying on the agent figuring out how to prompt the user
(if necessary).

However, if a developer really wants to use the passphrase callback
approach, they'll have to use loopback pinentry.  This sets up the
test suite to be able to make those tests.
---
 tests/util.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/tests/util.py b/tests/util.py
index cd803c2..86892ca 100644
--- a/tests/util.py
+++ b/tests/util.py
@@ -28,7 +28,9 @@ keydir = os.path.join(os.path.dirname(__file__), 'keys')
 
 class GpgHomeTestCase(unittest.TestCase):
 
-    gpg_conf_contents = ''
+    gpg_conf_contents = 'pinentry-mode loopback'
+    gpg_agent_conf_contents = 'allow-loopback-pinentry'
+
     import_keys = []
 
     def keyfile(self, key):
@@ -41,6 +43,10 @@ class GpgHomeTestCase(unittest.TestCase):
         fp.write(self.gpg_conf_contents.encode('UTF-8'))
         fp.close()
 
+        fp = open(os.path.join(self._gpghome, 'gpg-agent.conf'), 'wb')
+        fp.write(self.gpg_agent_conf_contents.encode('UTF-8'))
+        fp.close()
+
         # import requested keys into the keyring
         ctx = gpgme.Context()
         for key in self.import_keys:
-- 
2.7.4

openSUSE Build Service is sponsored by