dev-python/paramiko: Bump to 5.0.0

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2026-05-10 04:13:23 +02:00
parent c20d130fd4
commit 7947edd7da
3 changed files with 176 additions and 0 deletions

View File

@@ -1,2 +1,3 @@
DIST paramiko-3.5.1.gh.tar.gz 376472 BLAKE2B e00c0e1ab62eb443b3dfb5b1ebfacb9ac2f0f7e4946dcb986f8a211c22e645acd6d96ceaf709a954bf1f1554e8ce57ea1c6269984184025de39d9d9c4ff909d9 SHA512 a1198f7f21cfbdbb843acb59cc431f9af0a47d687a7e9702244f36b555bb37b75149c0e22302040400f20df50dee1d83154e5acd582982ca44f6cf68ff592675
DIST paramiko-4.0.0.gh.tar.gz 430056 BLAKE2B 2fc4843de770d824928489284d65bb9a6d87efaa185ba5a2e1c8951a8985ca8c535f89a3a5f7d3745119a8fdf142fc7e8655c6ef44965e55c95b7db1cf567144 SHA512 5a6d4cf000f13e1a9ee2558f18a942e3b7f334807b007bed77cfb9d50f15d423b3490a0deca08f82749391092d2514c44cd7d8dda2dc66436db3816c2501c72a
DIST paramiko-5.0.0.gh.tar.gz 343905 BLAKE2B ebc99a2b1d6f4f962837c79b53eb8db13ec3bea3763e1c875de008a23cfad0451df2ed8395e2076033bbac1630557541e388d6148a3b00412772d69cb9e66245 SHA512 8130c0341e6ab39e8eb0f5ad187ecda2fb14db44995ccffbc3db0bb3cd568daca750224c3cbf4724b7ac503624b2fa72e78ad57e2218e69d471a43cfa8b4e63e

View File

@@ -0,0 +1,129 @@
From 58dbeb2d72fb00465b606c22c8f665ad7177a664 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 1/3] 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.
---
tests/test_client.py | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/tests/test_client.py b/tests/test_client.py
index df66f7da..75e30501 100644
--- a/tests/test_client.py
+++ b/tests/test_client.py
@@ -33,7 +33,6 @@ from tempfile import mkstemp
from unittest.mock import patch
import pytest
-from pytest_relaxed import raises
import paramiko
from paramiko import SSHClient
@@ -710,10 +709,10 @@ class PasswordPassphraseTests(ClientTest):
# TODO: more granular exception pending #387; should be signaling "no auth
# methods available" because no key and no password
- @raises(SSHException)
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")
def test_passphrase_kwarg_used_for_key_passphrase(self):
# Straightforward again, with new passphrase kwarg.
@@ -731,14 +730,14 @@ class PasswordPassphraseTests(ClientTest):
password="television",
)
- @raises(AuthenticationException) # TODO: more granular
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",
+ )
From 42ddab757cb5f9cc71a5924443620ad08f02550a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Sat, 21 Jan 2023 06:56:09 +0100
Subject: [PATCH 2/3] Remove icecream dep
---
tests/conftest.py | 6 ------
1 file changed, 6 deletions(-)
diff --git a/tests/conftest.py b/tests/conftest.py
index 4e9ae8a5..ef0b1231 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -5,8 +5,6 @@ import threading
from pathlib import Path
import pytest
-from icecream import ic
-from icecream import install as install_ic
from invoke.vendor.lexicon import Lexicon
from paramiko import (
@@ -23,10 +21,6 @@ from ._loop import LoopSocket
from ._stub_sftp import StubServer, StubSFTPServer
from ._util import _support
-# Better print() for debugging - use ic()!
-install_ic()
-ic.configureOutput(includeContext=True)
-
# Perform logging by default; pytest will capture and thus hide it normally,
# presenting it on error/failure. (But also allow turning it off when doing
From f67b8881361358151a2ce1937323366f5303ea50 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Fri, 26 May 2023 06:18:25 +0200
Subject: [PATCH 3/3] Remove pointless use of Lexicon vendored from invoke with
class
---
tests/conftest.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/tests/conftest.py b/tests/conftest.py
index ef0b1231..64b7e0dc 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -5,8 +5,6 @@ import threading
from pathlib import Path
import pytest
-from invoke.vendor.lexicon import Lexicon
-
from paramiko import (
SFTP,
ECDSAKey,
@@ -146,6 +144,10 @@ key_data = [
]
+class Lexicon:
+ pass
+
+
@pytest.fixture(scope="session", params=key_data, ids=lambda x: x[1])
def keys(request):
"""

View File

@@ -0,0 +1,46 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
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}.gh.tar.gz
"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
RDEPEND="
>=dev-python/bcrypt-3.2[${PYTHON_USEDEP}]
>=dev-python/cryptography-3.3[${PYTHON_USEDEP}]
>=dev-python/pynacl-1.5[${PYTHON_USEDEP}]
"
EPYTEST_PLUGINS=()
EPYTEST_RERUNS=5
distutils_enable_tests pytest
src_prepare() {
local PATCHES=(
"${FILESDIR}/${PN}-5.0.0-nih-test-deps.patch"
)
distutils-r1_src_prepare
# optional dep
sed -i -e '/invoke/d' pyproject.toml || die
}