dev-python/sshtunnel: paramiko-4 compatibility

Signed-off-by: Alfred Wingate <parona@protonmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/44454
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Alfred Wingate 2025-11-03 21:48:14 +02:00 committed by Sam James
parent 4d348073fa
commit 08bc3fb5d1
No known key found for this signature in database
GPG Key ID: 738409F520DF9190
2 changed files with 64 additions and 0 deletions

View File

@ -0,0 +1,27 @@
https://github.com/pahaz/sshtunnel/issues/302
https://github.com/pahaz/sshtunnel/pull/300
From 7030d0c76c679c2934bdc27adc48ff5a84d1ae9a Mon Sep 17 00:00:00 2001
From: lglines <lglines@fleetio.com>
Date: Mon, 4 Aug 2025 08:58:11 -0600
Subject: [PATCH] remove DSSKey, which is no longer supported by paramiko
--- a/sshtunnel.py
+++ b/sshtunnel.py
@@ -1090,7 +1090,6 @@ def get_keys(logger=None, host_pkey_directories=None, allow_agent=False):
host_pkey_directories = [DEFAULT_SSH_DIRECTORY]
paramiko_key_types = {'rsa': paramiko.RSAKey,
- 'dsa': paramiko.DSSKey,
'ecdsa': paramiko.ECDSAKey}
if hasattr(paramiko, 'Ed25519Key'):
# NOQA: new in paramiko>=2.2: http://docs.paramiko.org/en/stable/api/keys.html#module-paramiko.ed25519key
@@ -1295,7 +1294,7 @@ def read_private_key_file(pkey_file,
paramiko.Pkey
"""
ssh_pkey = None
- key_types = (paramiko.RSAKey, paramiko.DSSKey, paramiko.ECDSAKey)
+ key_types = (paramiko.RSAKey, paramiko.ECDSAKey)
if hasattr(paramiko, 'Ed25519Key'):
# NOQA: new in paramiko>=2.2: http://docs.paramiko.org/en/stable/api/keys.html#module-paramiko.ed25519key
key_types += (paramiko.Ed25519Key, )

View File

@ -0,0 +1,37 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
EPYTEST_XDIST=1
PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
DESCRIPTION="Pure Python SSH tunnels"
HOMEPAGE="https://pypi.org/project/sshtunnel/"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
RDEPEND="dev-python/paramiko[${PYTHON_USEDEP}]"
BDEPEND="
test? (
dev-python/paramiko[server(+),${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
)
"
PATCHES=(
"${FILESDIR}"/sshtunnel-0.4.0-dont-deadlock-tests.patch
"${FILESDIR}"/sshtunnel-0.4.0-paramiko-4-compat.patch
)
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
EPYTEST_DESELECT=(
# network-sandbox
tests/test_forwarder.py::SSHClientTest::test_gateway_ip_unresolvable_raises_exception
)