Accepting request 1086711 from devel:languages:python
- Delete paramiko-pr1665-remove-pytest-relaxed.patch - Add remove-icecream-dep.patch - Update to 3.1.0: * [Feature] #2173: Accept single tabs as field separators (in addition to single spaces) in <paramiko.hostkeys.HostKeyEntry.from_line> for parity with OpenSSH’s KnownHosts parser. Patched by Alex Chavkin. * [Feature] #2013: (solving #2009, plus others) Add an explicit channel_timeout keyword argument to paramiko.client.SSHClient.connect, allowing users to configure the previously-hardcoded default value of 3600 seconds. Thanks to @VakarisZ and @ilija-lazoroski for the report and patch, with credit to Mike Salvatore for patch review. * [Support] #2178: Apply codespell to the codebase, which found a lot of very old minor spelling mistakes in docstrings. Also modernize many instances of *largs vs *args and **kwarg vs **kwargs. Patch courtesy of Yaroslav Halchenko, with review from Brian Skinn. - 3.0.0: * [Bug]: A handful of lower-level classes (notably paramiko.message.Message and paramiko.pkey.PKey) previously returned bytes objects from their implementation of __str__, even under Python 3; and there was never any __bytes__ method. * These issues have been fixed by renaming __str__ to __bytes__ and relying on Python’s default “stringification returns the output of __repr__” behavior re: any real attempts to str() such objects. * [Bug] #2165: Streamline some redundant (and costly) byte conversion calls in the packetizer and the core SFTP module. This should lead to some SFTP speedups at the very least. Thanks to Alex Gaynor for the patch. * [Bug] #2110: Remove some unnecessary __repr__ calls when handling bytes-vs-str conversions. This was apparently doing a lot of unintentional data processing, which adds up in some use cases – such as SFTP transfers, which may now be significantly faster. Kudos to Shuhua Zhong for catch & patch. * [Support]: Drop support for Python versions less than 3.6, including Python 2. So long and thanks for all the fish! * [Support]: Remove the now irrelevant paramiko.py3compat module. * [Support]: paramiko.common.asbytes has been moved to paramiko.util.asbytes. * [Support]: PKey.__cmp__ has been removed. Ordering-oriented comparison of key files is unlikely to have ever made sense (the old implementation attempted to order by the hashes of the key material) and so we have not bothered setting up __lt__ and friends at this time. The class continues to have its original __eq__ untouched. * [Support]: The behavior of private key classes’ (ie anything inheriting from PKey) private key writing methods used to perform a manual, extra chmod call after writing. This hasn’t been strictly necessary since the mid 2.x release line (when key writing started giving the mode argument to os.open), and has now been removed entirely. * This should only be observable if you were mocking Paramiko’s system calls during your own testing, or similar. * [Support] #732: (also re: #630) SSHConfig used to straight-up delete the proxycommand key from config lookup results when the source config said ProxyCommand none. This has been altered to preserve the key and give it the Python value None, thus making the Python representation more in line with the source config file. * [Support]: paramiko.util.retry_on_signal (and any internal uses of same, and also any internal retries of EINTR on eg socket operations) has been removed. As of Python 3.5, per PEP 475, this functionality (and retrying EINTR generally) is now part of the standard library. OBS-URL: https://build.opensuse.org/request/show/1086711 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-paramiko?expand=0&rev=58
This commit is contained in:
commit
c928b32cec
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:376885c05c5d6aa6e1f4608aac2a6b5b0548b1add40274477324605903d9cd49
|
||||
size 1076369
|
3
paramiko-3.1.0.tar.gz
Normal file
3
paramiko-3.1.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6950faca6819acd3219d4ae694a23c7a87ee38d084f70c1724b0c0dbb8b75769
|
||||
size 1189515
|
@ -1,66 +0,0 @@
|
||||
From 5844aa0270d3ad8feab4bf1023e35aa4fc255b6c 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:22:59 +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 - (removed from patch=
|
||||
setup.cfg | 3 ---
|
||||
tests/test_client.py | 20 ++++++++++----------
|
||||
3 files changed, 10 insertions(+), 14 deletions(-)
|
||||
|
||||
Index: paramiko-2.12.0/tests/test_client.py
|
||||
===================================================================
|
||||
--- paramiko-2.12.0.orig/tests/test_client.py
|
||||
+++ paramiko-2.12.0/tests/test_client.py
|
||||
@@ -34,7 +34,6 @@ import weakref
|
||||
from tempfile import mkstemp
|
||||
|
||||
import pytest
|
||||
-from pytest_relaxed import raises
|
||||
from mock import patch, Mock
|
||||
|
||||
import paramiko
|
||||
@@ -787,11 +786,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):
|
||||
@@ -811,15 +810,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",
|
||||
+ )
|
@ -1,3 +1,72 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri May 12 09:27:30 UTC 2023 - Daniel Garcia <daniel.garcia@suse.com>
|
||||
|
||||
- Delete paramiko-pr1665-remove-pytest-relaxed.patch
|
||||
- Add remove-icecream-dep.patch
|
||||
- Update to 3.1.0:
|
||||
* [Feature] #2173: Accept single tabs as field separators (in
|
||||
addition to single spaces) in
|
||||
<paramiko.hostkeys.HostKeyEntry.from_line> for parity with
|
||||
OpenSSH’s KnownHosts parser. Patched by Alex Chavkin.
|
||||
* [Feature] #2013: (solving #2009, plus others) Add an explicit
|
||||
channel_timeout keyword argument to
|
||||
paramiko.client.SSHClient.connect, allowing users to configure the
|
||||
previously-hardcoded default value of 3600 seconds. Thanks to
|
||||
@VakarisZ and @ilija-lazoroski for the report and patch, with
|
||||
credit to Mike Salvatore for patch review.
|
||||
* [Support] #2178: Apply codespell to the codebase, which found a
|
||||
lot of very old minor spelling mistakes in docstrings. Also
|
||||
modernize many instances of *largs vs *args and **kwarg vs
|
||||
**kwargs. Patch courtesy of Yaroslav Halchenko, with review from
|
||||
Brian Skinn.
|
||||
- 3.0.0:
|
||||
* [Bug]: A handful of lower-level classes (notably
|
||||
paramiko.message.Message and paramiko.pkey.PKey) previously
|
||||
returned bytes objects from their implementation of __str__, even
|
||||
under Python 3; and there was never any __bytes__ method.
|
||||
* These issues have been fixed by renaming __str__ to __bytes__ and
|
||||
relying on Python’s default “stringification returns the output of
|
||||
__repr__” behavior re: any real attempts to str() such objects.
|
||||
* [Bug] #2165: Streamline some redundant (and costly) byte
|
||||
conversion calls in the packetizer and the core SFTP module. This
|
||||
should lead to some SFTP speedups at the very least. Thanks to
|
||||
Alex Gaynor for the patch.
|
||||
* [Bug] #2110: Remove some unnecessary __repr__ calls when handling
|
||||
bytes-vs-str conversions. This was apparently doing a lot of
|
||||
unintentional data processing, which adds up in some use cases –
|
||||
such as SFTP transfers, which may now be significantly faster.
|
||||
Kudos to Shuhua Zhong for catch & patch.
|
||||
* [Support]: Drop support for Python versions less than 3.6,
|
||||
including Python 2. So long and thanks for all the fish!
|
||||
* [Support]: Remove the now irrelevant paramiko.py3compat module.
|
||||
* [Support]: paramiko.common.asbytes has been moved to
|
||||
paramiko.util.asbytes.
|
||||
* [Support]: PKey.__cmp__ has been removed. Ordering-oriented
|
||||
comparison of key files is unlikely to have ever made sense (the
|
||||
old implementation attempted to order by the hashes of the key
|
||||
material) and so we have not bothered setting up __lt__ and
|
||||
friends at this time. The class continues to have its original
|
||||
__eq__ untouched.
|
||||
* [Support]: The behavior of private key classes’ (ie anything
|
||||
inheriting from PKey) private key writing methods used to perform
|
||||
a manual, extra chmod call after writing. This hasn’t been
|
||||
strictly necessary since the mid 2.x release line (when key
|
||||
writing started giving the mode argument to os.open), and has now
|
||||
been removed entirely.
|
||||
* This should only be observable if you were mocking Paramiko’s
|
||||
system calls during your own testing, or similar.
|
||||
* [Support] #732: (also re: #630) SSHConfig used to straight-up
|
||||
delete the proxycommand key from config lookup results when the
|
||||
source config said ProxyCommand none. This has been altered to
|
||||
preserve the key and give it the Python value None, thus making
|
||||
the Python representation more in line with the source config
|
||||
file.
|
||||
* [Support]: paramiko.util.retry_on_signal (and any internal uses of
|
||||
same, and also any internal retries of EINTR on eg socket
|
||||
operations) has been removed. As of Python 3.5, per PEP 475, this
|
||||
functionality (and retrying EINTR generally) is now part of the
|
||||
standard library.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Apr 23 23:16:46 UTC 2023 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
%define skip_python2 1
|
||||
%{?sle15_python_module_pythons}
|
||||
Name: python-paramiko
|
||||
Version: 2.12.0
|
||||
Version: 3.1.0
|
||||
Release: 0
|
||||
Summary: SSH2 protocol library
|
||||
License: LGPL-2.1-or-later
|
||||
@ -27,33 +27,32 @@ Group: Documentation/Other
|
||||
URL: https://www.paramiko.org/
|
||||
Source0: https://files.pythonhosted.org/packages/source/p/paramiko/paramiko-%{version}.tar.gz
|
||||
Patch0: paramiko-test_extend_timeout.patch
|
||||
# PATCH-FIX-UPSTREAM paramiko-pr1665-remove-pytest-relaxed.patch gh#paramiko/paramiko#1665 -- pytest-relaxed is broken
|
||||
Patch1: paramiko-pr1665-remove-pytest-relaxed.patch
|
||||
# PATCH-FIX-OPENSUSE remove-icecream-dep.patch to do not depend on python-icecream
|
||||
Patch1: remove-icecream-dep.patch
|
||||
BuildRequires: %{python_module PyNaCl >= 1.0.1}
|
||||
%if 0%{?suse_version} > 1500
|
||||
BuildRequires: python3-Sphinx
|
||||
%else
|
||||
BuildRequires: %{python_module Sphinx}
|
||||
%endif
|
||||
BuildRequires: %{python_module bcrypt >= 3.1.3}
|
||||
BuildRequires: %{python_module cryptography >= 2.5}
|
||||
BuildRequires: %{python_module bcrypt >= 3.2}
|
||||
BuildRequires: %{python_module cryptography >= 3.3}
|
||||
BuildRequires: %{python_module gssapi}
|
||||
BuildRequires: %{python_module invocations}
|
||||
BuildRequires: %{python_module invoke >= 1.3}
|
||||
BuildRequires: %{python_module invoke >= 2.0}
|
||||
BuildRequires: %{python_module pyasn1 >= 0.1.7}
|
||||
BuildRequires: %{python_module pytest-relaxed}
|
||||
BuildRequires: %{python_module pytest-xdist}
|
||||
BuildRequires: %{python_module pytest}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: %{python_module six}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
Recommends: python-gssapi
|
||||
Recommends: python-invoke
|
||||
Requires: python-PyNaCl >= 1.0.1
|
||||
Requires: python-bcrypt >= 3.1.3
|
||||
Requires: python-cryptography >= 2.5
|
||||
Requires: python-PyNaCl >= 1.5
|
||||
Requires: python-bcrypt >= 3.2
|
||||
Requires: python-cryptography >= 3.3
|
||||
Requires: python-pyasn1 >= 0.1.7
|
||||
Requires: python-six
|
||||
BuildArch: noarch
|
||||
%python_subpackages
|
||||
|
||||
@ -91,10 +90,10 @@ find demos -name "*.py" -exec sed -i "/#\!\/usr\/bin\/.*/d" {} \; -exec chmod -x
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
|
||||
%check
|
||||
# https://github.com/paramiko/paramiko/issues/2027 -- despite being "completed" upstream, this is not fixed yet.
|
||||
sed -i 's:from mock:from unittest.mock:' tests/test_*.py
|
||||
export LANG=en_US.UTF-8
|
||||
%pytest
|
||||
# Do not test k5shell to avoid dependency
|
||||
donttest="k5shell"
|
||||
%pytest tests/test_*.py -k "not $donttest"
|
||||
|
||||
%files %{python_files}
|
||||
%license LICENSE
|
||||
|
17
remove-icecream-dep.patch
Normal file
17
remove-icecream-dep.patch
Normal file
@ -0,0 +1,17 @@
|
||||
Index: paramiko-3.1.0/tests/conftest.py
|
||||
===================================================================
|
||||
--- paramiko-3.1.0.orig/tests/conftest.py
|
||||
+++ paramiko-3.1.0/tests/conftest.py
|
||||
@@ -10,12 +10,6 @@ from .loop import LoopSocket
|
||||
from .stub_sftp import StubServer, StubSFTPServer
|
||||
from .util import _support
|
||||
|
||||
-from icecream import ic, install as install_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
|
Loading…
Reference in New Issue
Block a user