diff options
author | Michał Górny <mgorny@gentoo.org> | 2022-05-17 06:57:36 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2022-05-17 08:54:15 +0200 |
commit | b7eedbb8cc180e0f9f54653582fe6ca86d25a794 (patch) | |
tree | 3449d4795b9ea411d5ce3609473223fdf39cf6e9 /dev-python/paramiko | |
parent | dev-util/mingw64-toolchain: Stabilize 10.0.0 amd64, #845111 (diff) | |
download | gentoo-b7eedbb8cc180e0f9f54653582fe6ca86d25a794.tar.gz gentoo-b7eedbb8cc180e0f9f54653582fe6ca86d25a794.tar.bz2 gentoo-b7eedbb8cc180e0f9f54653582fe6ca86d25a794.zip |
dev-python/paramiko: Bump to 2.11.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/paramiko')
-rw-r--r-- | dev-python/paramiko/Manifest | 1 | ||||
-rw-r--r-- | dev-python/paramiko/files/paramiko-2.11.0-invoke-tests.patch | 40 | ||||
-rw-r--r-- | dev-python/paramiko/files/paramiko-2.11.0-pytest-relaxed.patch | 94 | ||||
-rw-r--r-- | dev-python/paramiko/paramiko-2.11.0.ebuild | 63 |
4 files changed, 198 insertions, 0 deletions
diff --git a/dev-python/paramiko/Manifest b/dev-python/paramiko/Manifest index cda2918825b1..bf23678bc41d 100644 --- a/dev-python/paramiko/Manifest +++ b/dev-python/paramiko/Manifest @@ -1,2 +1,3 @@ DIST paramiko-2.10.3.tar.gz 347738 BLAKE2B ccc66a7e0fe3f777e74b94374ed59435eda440fe0aeab3871e68a132610193d2fadca1fd200db3d194566b8a2a8d6ff889d71594fed69a01fb97ca43b967e957 SHA512 e1fce2ad33ee2942b519458d53497671e66d4777c23877954b135cf9bb8ec43357156147c7e012956ccf6198de800835a617b541a4b0faf54df00f936128514b DIST paramiko-2.10.4.tar.gz 348637 BLAKE2B 8ce0d34418b6a1dc1d98fc180d2b2f0fb4333b7e1c52fcf7edabc3b0fc096f1b644dbc21a5b37f9001f046969c3d513ad5f6d7261339a71fa3ec922161cd7be7 SHA512 df39958e647dd6519929f68c4870228a61f54e763751e6b1d07b5e802786c85dfc34af39588009e729c4d189ca17d3aa09a58d4242403a1a1a53d36f6cd313b1 +DIST paramiko-2.11.0.tar.gz 350793 BLAKE2B 86358e08407f8a820a9b33a60e771ac3adb8f3e003ccbc4704ba69a52bd427f38a9c49a20e6a07220d07c25dbcc35a472b2091fa9f7bc1447bab0d7a1ce16b35 SHA512 59e439bd54d83938f91d6c9888f2278bafa4ca48582939580bdabc6207dbe6dc856f6006ad26b7ec91b9d39e92ca70dc6270c6b5d4f77a5e1fa0ec8bd084d4b5 diff --git a/dev-python/paramiko/files/paramiko-2.11.0-invoke-tests.patch b/dev-python/paramiko/files/paramiko-2.11.0-invoke-tests.patch new file mode 100644 index 000000000000..80fe876ef8e3 --- /dev/null +++ b/dev-python/paramiko/files/paramiko-2.11.0-invoke-tests.patch @@ -0,0 +1,40 @@ +From 529558cc20e448e45e24dc7b7609cd62300838b8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Thu, 16 Apr 2020 09:46:39 +0200 +Subject: [PATCH] Skip tests requiring invoke if it's not installed + +Since invoke is an optional dependency and only one group of tests +require it, skip them gracefully rather than failing if it's not +present. +--- + tests/test_config.py | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/tests/test_config.py b/tests/test_config.py +index 45fb262d..017d4bbf 100644 +--- a/tests/test_config.py ++++ b/tests/test_config.py +@@ -6,7 +6,11 @@ from socket import gaierror + + from paramiko.py3compat import string_types + +-from invoke import Result ++try: ++ from invoke import Result ++except ImportError: ++ Result = None ++ + from mock import patch + from pytest import raises, mark, fixture + +@@ -742,6 +746,7 @@ def _expect(success_on): + return inner + + ++@mark.skipif(Result is None, reason="requires invoke package") + class TestMatchExec(object): + @patch("paramiko.config.invoke", new=None) + @patch("paramiko.config.invoke_import_error", new=ImportError("meh")) +-- +2.35.1 + diff --git a/dev-python/paramiko/files/paramiko-2.11.0-pytest-relaxed.patch b/dev-python/paramiko/files/paramiko-2.11.0-pytest-relaxed.patch new file mode 100644 index 000000000000..6e746aff1863 --- /dev/null +++ b/dev-python/paramiko/files/paramiko-2.11.0-pytest-relaxed.patch @@ -0,0 +1,94 @@ +From 03741e48c83856e53fc3f1487d660165cb718c11 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Tue, 17 May 2022 07:26:36 +0200 +Subject: [PATCH] Replace pytest-relaxed with plain pytest.raises + +There is really no technical reason to bring pytest-relaxed to call +@raises as a decorator while plain pytest works just fine. Plus, +pytest.raises() is used in test_sftp already. + +pytest-relaxed causes humongous breakage to other packages +on the system. It has been banned from Gentoo for this reason. +--- + dev-requirements.txt | 1 - + pytest.ini | 3 --- + tests/test_client.py | 20 ++++++++++---------- + 3 files changed, 10 insertions(+), 14 deletions(-) + +diff --git a/dev-requirements.txt b/dev-requirements.txt +index 3ed9eb40..e90f3373 100644 +--- a/dev-requirements.txt ++++ b/dev-requirements.txt +@@ -2,7 +2,6 @@ + invoke==1.6.0 + invocations==2.6.0 + pytest==4.4.2 +-pytest-relaxed==1.1.5 + # pytest-xdist for test dir watching and the inv guard task + pytest-xdist==1.28.0 + mock==2.0.0 +diff --git a/pytest.ini b/pytest.ini +index be207cd8..5a506bcd 100644 +--- a/pytest.ini ++++ b/pytest.ini +@@ -1,7 +1,4 @@ + [pytest] +-# We use pytest-relaxed just for its utils at the moment, so disable it at the +-# plugin level until we adapt test organization to really use it. +-addopts = -p no:relaxed + # Loop on failure + looponfailroots = tests paramiko + # Ignore some warnings we cannot easily handle. +diff --git a/tests/test_client.py b/tests/test_client.py +index fdf19c45..e4af71df 100644 +--- a/tests/test_client.py ++++ b/tests/test_client.py +@@ -33,7 +33,7 @@ import warnings + import weakref + from tempfile import mkstemp + +-from pytest_relaxed import raises ++import pytest + from mock import patch, Mock + + import paramiko +@@ -733,11 +733,11 @@ class PasswordPassphraseTests(ClientTest): + + # TODO: more granular exception pending #387; should be signaling "no auth + # methods available" because no key and no password +- @raises(SSHException) + @requires_sha1_signing + def test_passphrase_kwarg_not_used_for_password_auth(self): +- # Using the "right" password in the "wrong" field shouldn't work. +- self._test_connection(passphrase="pygmalion") ++ with pytest.raises(SSHException): ++ # Using the "right" password in the "wrong" field shouldn't work. ++ self._test_connection(passphrase="pygmalion") + + @requires_sha1_signing + def test_passphrase_kwarg_used_for_key_passphrase(self): +@@ -757,15 +757,15 @@ class PasswordPassphraseTests(ClientTest): + password="television", + ) + +- @raises(AuthenticationException) # TODO: more granular + @requires_sha1_signing + def test_password_kwarg_not_used_for_passphrase_when_passphrase_kwarg_given( # noqa + self + ): + # Sanity: if we're given both fields, the password field is NOT used as + # a passphrase. +- self._test_connection( +- key_filename=_support("test_rsa_password.key"), +- password="television", +- passphrase="wat? lol no", +- ) ++ with pytest.raises(AuthenticationException): ++ self._test_connection( ++ key_filename=_support("test_rsa_password.key"), ++ password="television", ++ passphrase="wat? lol no", ++ ) +-- +2.35.1 + diff --git a/dev-python/paramiko/paramiko-2.11.0.ebuild b/dev-python/paramiko/paramiko-2.11.0.ebuild new file mode 100644 index 000000000000..846177cc6874 --- /dev/null +++ b/dev-python/paramiko/paramiko-2.11.0.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8..11} ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 + +DESCRIPTION="SSH2 protocol library" +HOMEPAGE=" + https://www.paramiko.org/ + https://github.com/paramiko/paramiko/ + https://pypi.org/project/paramiko/ +" +SRC_URI=" + https://github.com/paramiko/paramiko/archive/${PV}.tar.gz + -> ${P}.tar.gz +" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris" +IUSE="examples server" + +RDEPEND=" + >=dev-python/bcrypt-3.1.3[${PYTHON_USEDEP}] + >=dev-python/cryptography-2.5[${PYTHON_USEDEP}] + >=dev-python/pynacl-1.0.1[${PYTHON_USEDEP}] + >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/mock[${PYTHON_USEDEP}] + ) +" + +distutils_enable_sphinx sites/docs +distutils_enable_tests pytest + +src_prepare() { + local PATCHES=( + "${FILESDIR}/${PN}-2.11.0-pytest-relaxed.patch" + "${FILESDIR}/${PN}-2.11.0-invoke-tests.patch" + ) + + if ! use server; then + PATCHES+=( "${FILESDIR}/${PN}-2.4.2-disable-server.patch" ) + fi + distutils-r1_src_prepare +} + +python_install_all() { + distutils-r1_python_install_all + + if use examples; then + docinto examples + dodoc -r demos/* + fi +} |