dev-python/python-gnupg: bump to version 0.4.3

Bumped to EAPI="7".
Added pypy3 and python 3.7 support.

Closes: https://bugs.gentoo.org/662750
Closes: https://github.com/gentoo/gentoo/pull/9434
Package-Manager: Portage-2.3.43, Repoman-2.3.10
This commit is contained in:
Conrad Kostecki
2018-08-03 23:33:19 +02:00
committed by Michał Górny
parent 43e64557d1
commit ac293f205a
5 changed files with 150 additions and 9 deletions

View File

@@ -1,2 +1,3 @@
DIST python-gnupg-0.4.0.tar.gz 43987 BLAKE2B 59e72f894c5d554ba2a7c348ad3625500798ad6ac18332a3bb668b42559f52b58e3cd0f8b79ef1a99f37e796b48169d0bf36414e938e9039784cede4303cbb03 SHA512 f486ec97aee01cf46d055421211ff5704093a382155043b7ced6f809dc15d7669d5869038a1b26c5f1831076d85c929d781bc22e35ab293a14bc6e2f5f27fa32
DIST python-gnupg-0.4.1.tar.gz 44534 BLAKE2B 0b58312b9f094b29f7009bb7a44ea3607be826ae2fda958dae0ba9dd5a2d7f81843fe23a6fe336b9df85c059e5b114787dab372df42b14b83cb73fb02abee919 SHA512 0920a1de4d98a745f7747280672975db04c40b59ea4436745cdbefa86a0c88bfdc086d6dd312c82a0a9e9f8cafb5651f8e17d86e0ee37282b5fc36e7ac8d1a1e
DIST python-gnupg-0.4.3.tar.gz 46958 BLAKE2B c83b13f8b36c136ac75e8a69dccb07025be3397284e27d9624677cd76ac8527bed67644be7a00958fdb248772a0c37de09257fb711eb16a2c982dbca0368dbd6 SHA512 9381acb1246b6ceec4de21091f2ce57dba9c6600dfb52ddee181effbd2e749d18935e6b6bb2183816064e9129cd1bb3ebfdd28a5dcddc9be1c56261a501067d8

View File

@@ -0,0 +1,49 @@
From: Elena Grandi <elena.valhalla@gmail.com>
Date: Thu, 8 Oct 2015 12:11:21 -0700
Subject: Skip tests that require internet access
Forwarded: not-needed
Patch-Name: skip_network_needing_test.patch
---
gnupg.py | 8 ++++----
test_gnupg.py | 1 +
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/gnupg.py b/gnupg.py
index cd662d4..bf6dc64 100644
--- a/gnupg.py
+++ b/gnupg.py
@@ -1117,8 +1117,8 @@ class GPG(object):
>>> GPGBINARY = os.environ.get('GPGBINARY', 'gpg')
>>> gpg = GPG(gpgbinary=GPGBINARY, gnupghome="keys")
>>> os.chmod('keys', 0x1C0)
- >>> result = gpg.recv_keys('pgp.mit.edu', '92905378')
- >>> assert result
+ >>> result = gpg.recv_keys('pgp.mit.edu', '92905378') # doctest: +SKIP
+ >>> assert result # doctest: +SKIP
"""
result = self.result_map['import'](self)
@@ -1320,8 +1320,8 @@ class GPG(object):
>>> GPGBINARY = os.environ.get('GPGBINARY', 'gpg')
>>> gpg = GPG(gpgbinary=GPGBINARY, gnupghome='keys')
>>> os.chmod('keys', 0x1C0)
- >>> result = gpg.search_keys('<vinay_sajip@hotmail.com>')
- >>> assert result, 'Failed using default keyserver'
+ >>> result = gpg.search_keys('<vinay_sajip@hotmail.com>') # doctest: +SKIP
+ >>> assert result, 'Failed using default keyserver' # doctest: +SKIP
>>> #keyserver = 'keyserver.ubuntu.com'
>>> #result = gpg.search_keys('<vinay_sajip@hotmail.com>', keyserver)
>>> #assert result, 'Failed using keyserver.ubuntu.com'
diff --git a/test_gnupg.py b/test_gnupg.py
index 7a5b705..25817da 100644
--- a/test_gnupg.py
+++ b/test_gnupg.py
@@ -834,6 +834,7 @@ class GPGTestCase(unittest.TestCase):
logger.debug("test_filename_with_spaces ends")
#@skipIf(os.name == 'nt', 'Test not suitable for Windows')
+ @unittest.skip('requires network')
def test_search_keys(self):
"Test that searching for keys works"
r = self.gpg.search_keys('<vinay_sajip@hotmail.com>')

View File

@@ -0,0 +1,58 @@
# HG changeset patch
# User Michał Górny <mgorny@gentoo.org>
# Date 1533916222 -7200
# Node ID 2c8991b1c9080adc61e63d00fe9415b88f3e6208
# Parent 9cb2a856677237b528ead6fff68de7d488dbfeec
Use private temporary GPG-homes for tests to fix race conditions.
Create unique temporary directories to use as GPG home in each test
instead of reusing a single hardcoded 'keys' directory. This is
necessary to fix race conditions between directory operations
and gpg-agent in GnuPG 2.0+.
GnuPG 2.0 started using gpg-agent for all operations. It is
automatically spawned when GPG is called to do something, and it stops
automatically when its homedir is removed (e.g. as part of rmtree()
call). However, with the homedir being instantly recreated and next
test being run, it seems that gpg-agent sometimes failed to stop fully
before being started again and causes one of the tests to fail with
gpg-agent connection errors.
With this change, I am finally able to successfully run all tests
in a single batch.
diff --git a/test_gnupg.py b/test_gnupg.py
--- a/test_gnupg.py
+++ b/test_gnupg.py
@@ -173,11 +173,7 @@
class GPGTestCase(unittest.TestCase):
def setUp(self):
- hd = os.path.join(os.getcwd(), 'keys')
- if os.path.exists(hd):
- self.assertTrue(os.path.isdir(hd),
- "Not a directory: %s" % hd)
- shutil.rmtree(hd, ignore_errors=True)
+ hd = tempfile.mkdtemp()
prepare_homedir(hd)
self.homedir = hd
self.gpg = gpg = gnupg.GPG(gnupghome=hd, gpgbinary=GPGBINARY)
@@ -193,6 +189,9 @@
data_file.write(os.urandom(5120 * 1024))
data_file.close()
+ def tearDown(self):
+ shutil.rmtree(self.homedir, ignore_errors=True)
+
def test_environment(self):
"Test the environment by ensuring that setup worked"
hd = self.homedir
@@ -373,7 +372,7 @@
# and the keyring file name has changed.
pkn = 'pubring.kbx'
skn = None
- hd = os.path.join(os.getcwd(), 'keys')
+ hd = self.homedir
if os.name == 'posix':
pkn = os.path.join(hd, pkn)
if skn:

View File

@@ -1,13 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<upstream>
<remote-id type="google-code">python-gnupg</remote-id>
<remote-id type="github">vsajip/python-gnupg</remote-id>
<remote-id type="pypi">python-gnupg</remote-id>
</upstream>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<longdescription>
This project implements a Python library, which takes care of the internal details
and allows its users to generate and manage keys,
encrypt and decrypt data, and sign and verify messages.
</longdescription>
<upstream>
<bugs-to>https://bitbucket.org/vinay.sajip/python-gnupg/issues/new</bugs-to>
<remote-id type="bitbucket">vinay.sajip/python-gnupg</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,29 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( pypy{,3} python2_7 python3_{4,5,6,7} )
inherit distutils-r1
DESCRIPTION="A Python wrapper for GnuPG"
HOMEPAGE="https://bitbucket.org/vinay.sajip/python-gnupg
https://pypi.org/project/python-gnupg/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
LICENSE="BSD"
SLOT="0"
RDEPEND="app-crypt/gnupg"
DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}"/${P}-skip_network_needing_test.patch
"${FILESDIR}"/${P}-use_seperate_keys_directory.patch
)
python_test() {
"${PYTHON}" test_gnupg.py || die "Tests failed with ${EPYTHON}"
}