diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
| commit | b590c8d7572b727d565cc0b8ff660d43569845de (patch) | |
| tree | 06f7a4102ea4e845df8b66660f252920d52952f9 /dev-python/sshtunnel | |
| parent | 24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff) | |
| download | srcux-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz srcux-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz srcux-b590c8d7572b727d565cc0b8ff660d43569845de.zip | |
Adding metadata
Diffstat (limited to 'dev-python/sshtunnel')
| -rw-r--r-- | dev-python/sshtunnel/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/sshtunnel/files/sshtunnel-0.4.0-dont-deadlock-tests.patch | 38 | ||||
| -rw-r--r-- | dev-python/sshtunnel/files/sshtunnel-0.4.0-paramiko-4-compat.patch | 27 | ||||
| -rw-r--r-- | dev-python/sshtunnel/metadata.xml | 10 | ||||
| -rw-r--r-- | dev-python/sshtunnel/sshtunnel-0.4.0-r2.ebuild | 37 |
5 files changed, 113 insertions, 0 deletions
diff --git a/dev-python/sshtunnel/Manifest b/dev-python/sshtunnel/Manifest new file mode 100644 index 000000000000..5d4a38dd74a1 --- /dev/null +++ b/dev-python/sshtunnel/Manifest @@ -0,0 +1 @@ +DIST sshtunnel-0.4.0.tar.gz 62716 BLAKE2B 7ed2a1317d257be39c364b2a10acf53b14e701ddad13e35cbb47972625ac73da9ab68099886e36d4025c635537ecf016a52fa5e0064c2b2172abcde6192966d3 SHA512 c0e1fd9838369f3679cdf71f59994cdf658358bdbbb745cf4e765b4b82edfada966b131220c56e4b3bb88229607b17f2ce520bf3204d5aae8084dd4035024366 diff --git a/dev-python/sshtunnel/files/sshtunnel-0.4.0-dont-deadlock-tests.patch b/dev-python/sshtunnel/files/sshtunnel-0.4.0-dont-deadlock-tests.patch new file mode 100644 index 000000000000..1e5b06ac49b6 --- /dev/null +++ b/dev-python/sshtunnel/files/sshtunnel-0.4.0-dont-deadlock-tests.patch @@ -0,0 +1,38 @@ +From 96a056fb37684496c0495a831f8fd11b48ef01a9 Mon Sep 17 00:00:00 2001 +From: Alfred Wingate <parona@protonmail.com> +Date: Sat, 22 Feb 2025 12:40:58 +0200 +Subject: [PATCH] Try to remove defunct threads from running_threads just in + case + +On Gentoo it was decided to remove server functionality from +paramiko leading to the ssh-server to be dead before it could be +properly removed from running_threads. This would lead to a hang where +memory footprint of the process would grow with repeated "thread +ssh-server now stopped" messages inevitably leading to an OOM condition. + +So try to remove defunct threads from running_threads after the fact to +stop this problem from coming back and let it fail normally. + +Bug: https://github.com/pahaz/sshtunnel/issues/153 +Bug: https://bugs.gentoo.org/666619 +Bug: https://bugs.gentoo.org/683774 +Signed-off-by: Alfred Wingate <parona@protonmail.com> +--- a/tests/test_forwarder.py ++++ b/tests/test_forwarder.py +@@ -251,6 +251,13 @@ class SSHClientTest(unittest.TestCase): + who='tearDown') + if not x.is_alive(): + self.log.info('thread {0} now stopped'.format(thread)) ++ # Try to remove thread running_threads just in case ++ # the thread is dead but hasn't been properly removed. ++ # https://github.com/pahaz/sshtunnel/issues/153 ++ try: ++ self.running_threads.remove(thread) ++ except ValueError: ++ pass + + for attr in ['server', 'tc', 'ts', 'socks', 'ssockl', 'esockl']: + if hasattr(self, attr): +-- +2.49.0 + diff --git a/dev-python/sshtunnel/files/sshtunnel-0.4.0-paramiko-4-compat.patch b/dev-python/sshtunnel/files/sshtunnel-0.4.0-paramiko-4-compat.patch new file mode 100644 index 000000000000..d015fbb42832 --- /dev/null +++ b/dev-python/sshtunnel/files/sshtunnel-0.4.0-paramiko-4-compat.patch @@ -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, ) diff --git a/dev-python/sshtunnel/metadata.xml b/dev-python/sshtunnel/metadata.xml new file mode 100644 index 000000000000..099bdf2afe2d --- /dev/null +++ b/dev-python/sshtunnel/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>titanofold@gentoo.org</email> + <name>Aaron W. Swenson</name> + </maintainer> + <stabilize-allarches /> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/dev-python/sshtunnel/sshtunnel-0.4.0-r2.ebuild b/dev-python/sshtunnel/sshtunnel-0.4.0-r2.ebuild new file mode 100644 index 000000000000..329b7119ad75 --- /dev/null +++ b/dev-python/sshtunnel/sshtunnel-0.4.0-r2.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2026 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_{13..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 +) |
