summaryrefslogtreecommitdiff
path: root/dev-python/paramiko
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/paramiko')
-rw-r--r--dev-python/paramiko/Manifest3
-rw-r--r--dev-python/paramiko/files/paramiko-3.2.0-disable-server.patch58
-rw-r--r--dev-python/paramiko/files/paramiko-3.2.0-nih-test-deps.patch134
-rw-r--r--dev-python/paramiko/files/paramiko-5.0.0-nih-test-deps.patch129
-rw-r--r--dev-python/paramiko/metadata.xml28
-rw-r--r--dev-python/paramiko/paramiko-3.5.1.ebuild72
-rw-r--r--dev-python/paramiko/paramiko-4.0.0-r1.ebuild63
-rw-r--r--dev-python/paramiko/paramiko-5.0.0.ebuild46
8 files changed, 0 insertions, 533 deletions
diff --git a/dev-python/paramiko/Manifest b/dev-python/paramiko/Manifest
deleted file mode 100644
index 3cae142c29ff..000000000000
--- a/dev-python/paramiko/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-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
diff --git a/dev-python/paramiko/files/paramiko-3.2.0-disable-server.patch b/dev-python/paramiko/files/paramiko-3.2.0-disable-server.patch
deleted file mode 100644
index 942f5161ee6f..000000000000
--- a/dev-python/paramiko/files/paramiko-3.2.0-disable-server.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From a47e9bdc80224c9ceafcea6da5cea1539ddfbd4d 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:05:13 +0200
-Subject: [PATCH 3/3] Disable server component due to security issues
-
----
- paramiko/transport.py | 4 ++++
- tests/conftest.py | 5 +++++
- 2 files changed, 9 insertions(+)
-
-diff --git a/paramiko/transport.py b/paramiko/transport.py
-index 8785d6bb..803d07d1 100644
---- a/paramiko/transport.py
-+++ b/paramiko/transport.py
-@@ -120,6 +120,8 @@ from paramiko.util import (
- )
-
-
-+SERVER_DISABLED_BY_GENTOO = True
-+
- # for thread cleanup
- _active_threads = []
-
-@@ -768,6 +770,8 @@ class Transport(threading.Thread, ClosingContextManager):
- `.SSHException` -- if negotiation fails (and no ``event`` was
- passed in)
- """
-+ if SERVER_DISABLED_BY_GENTOO:
-+ raise Exception("Disabled by Gentoo for security reasons. Enable with 'server' USE flag")
- if server is None:
- server = ServerInterface()
- self.server_mode = True
-diff --git a/tests/conftest.py b/tests/conftest.py
-index 7546aae4..804a289e 100644
---- a/tests/conftest.py
-+++ b/tests/conftest.py
-@@ -16,6 +16,7 @@ from paramiko import (
- Ed25519Key,
- ECDSAKey,
- PKey,
-+ transport,
- )
-
- from ._loop import LoopSocket
-@@ -23,6 +24,10 @@ from ._stub_sftp import StubServer, StubSFTPServer
- from ._util import _support
-
-
-+# We need the server component for testing
-+transport.SERVER_DISABLED_BY_GENTOO = False
-+
-+
- # 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
- # very pinpoint debugging - e.g. using breakpoints, so you don't want output
---
-2.40.1
-
diff --git a/dev-python/paramiko/files/paramiko-3.2.0-nih-test-deps.patch b/dev-python/paramiko/files/paramiko-3.2.0-nih-test-deps.patch
deleted file mode 100644
index 84fb618dffb8..000000000000
--- a/dev-python/paramiko/files/paramiko-3.2.0-nih-test-deps.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-From 33c56a44f425bb5c4bf63759fbe85cfee06ab087 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 1c0c6c84..c12cbe9a 100644
---- a/tests/test_client.py
-+++ b/tests/test_client.py
-@@ -33,7 +33,6 @@ import weakref
- from tempfile import mkstemp
-
- import pytest
--from pytest_relaxed import raises
- from unittest.mock import patch, Mock
-
- import paramiko
-@@ -799,11 +798,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):
-@@ -823,15 +822,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.40.1
-
-From a75bdc46a6eb72a0b0e80eeafad2e2a2536a9bd8 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 | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/tests/conftest.py b/tests/conftest.py
-index 12b97283..7546aae4 100644
---- a/tests/conftest.py
-+++ b/tests/conftest.py
-@@ -22,13 +22,6 @@ from ._loop import LoopSocket
- from ._stub_sftp import StubServer, StubSFTPServer
- from ._util import _support
-
--from icecream import ic, install as install_ic
--
--
--# 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
---
-2.40.1
-
-From a4f96f21450942398b46f2b5f125b89297f3f3f2 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] 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 7546aae4..45362de8 100644
---- a/tests/conftest.py
-+++ b/tests/conftest.py
-@@ -4,8 +4,6 @@ import shutil
- import threading
- from pathlib import Path
-
--from invoke.vendor.lexicon import Lexicon
--
- import pytest
- from paramiko import (
- SFTPServer,
-@@ -132,6 +130,10 @@ for datum in key_data:
- datum.insert(0, short)
-
-
-+class Lexicon:
-+ pass
-+
-+
- @pytest.fixture(scope="session", params=key_data, ids=lambda x: x[0])
- def keys(request):
- """
---
-2.40.1
-
diff --git a/dev-python/paramiko/files/paramiko-5.0.0-nih-test-deps.patch b/dev-python/paramiko/files/paramiko-5.0.0-nih-test-deps.patch
deleted file mode 100644
index e0193c4a091f..000000000000
--- a/dev-python/paramiko/files/paramiko-5.0.0-nih-test-deps.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-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):
- """
diff --git a/dev-python/paramiko/metadata.xml b/dev-python/paramiko/metadata.xml
deleted file mode 100644
index 139a32ac7fa6..000000000000
--- a/dev-python/paramiko/metadata.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <longdescription>
-This is a library for making SSH2 connections (client or server).
-Emphasis is on using SSH2 as an alternative to SSL for making secure
-connections between python scripts. All major ciphers and hash methods
-are supported. SFTP client mode is now supported too.
- </longdescription>
- <longdescription lang="ja">
-これはSSH2コネクション(クライアントとサーバー)を作り出すためのライブラリです。注
-目点はPython言語スクリプト間のセキュアなコネクションを作り出すSSLの代用にSSHを利
-用している所です。有名なCipherとHash処理の全てがサポートされています。SFTPクライ
-アントもサポートされています。
- </longdescription>
- <stabilize-allarches/>
- <use>
- <flag name="server">Enable server feature</flag>
- </use>
- <upstream>
- <remote-id type="pypi">paramiko</remote-id>
- <remote-id type="github">paramiko/paramiko</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/paramiko/paramiko-3.5.1.ebuild b/dev-python/paramiko/paramiko-3.5.1.ebuild
deleted file mode 100644
index 128367f18b6a..000000000000
--- a/dev-python/paramiko/paramiko-3.5.1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..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"
-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}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # upstream doesn't really maintain the gssapi support
- tests/test_gssapi.py
- tests/test_kex_gss.py
- tests/test_ssh_gss.py
-)
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}/${PN}-3.2.0-nih-test-deps.patch"
- )
-
- if ! use server; then
- PATCHES+=( "${FILESDIR}/${PN}-3.2.0-disable-server.patch" )
- fi
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p rerunfailures --reruns=5
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- docinto examples
- dodoc -r demos/*
- fi
-}
diff --git a/dev-python/paramiko/paramiko-4.0.0-r1.ebuild b/dev-python/paramiko/paramiko-4.0.0-r1.ebuild
deleted file mode 100644
index b11daaff79c6..000000000000
--- a/dev-python/paramiko/paramiko-4.0.0-r1.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..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"
-IUSE="examples"
-
-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
-
-EPYTEST_DESELECT=(
- # upstream doesn't really maintain the gssapi support
- tests/test_gssapi.py
- tests/test_kex_gss.py
- tests/test_ssh_gss.py
-)
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}/${PN}-3.2.0-nih-test-deps.patch"
- )
-
- distutils-r1_src_prepare
-
- # optional dep
- sed -i -e '/invoke/d' pyproject.toml || die
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- docinto examples
- dodoc -r demos/*
- fi
-}
diff --git a/dev-python/paramiko/paramiko-5.0.0.ebuild b/dev-python/paramiko/paramiko-5.0.0.ebuild
deleted file mode 100644
index 2961af781f78..000000000000
--- a/dev-python/paramiko/paramiko-5.0.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{13..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
-}