15
0
Files
python-paramiko/python-paramiko.spec

112 lines
3.8 KiB
RPMSpec
Raw Normal View History

#
# spec file for package python-paramiko
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Accepting request 924852 from home:ecsos - Update to 2.8.0 - [Feature] #1846: Add a prefetch keyword argument to SFTPClient.get/SFTPClient.getfo so users who need to skip SFTP prefetching are able to conditionally turn it off. - [Bug] #1462: (via #1882) Newer server-side key exchange algorithms not intended to use SHA1 (diffie-hellman-group14-sha256, diffie-hellman-group16-sha512) were incorrectly using SHA1 after all, due to a bug causing them to ignore the hash_algo class attribute. This has been corrected. - [Support] #1722: Remove leading whitespace from OpenSSH RSA test suite static key fixture, to conform better to spec. - [Support] #1727: Add missing test suite fixtures directory to MANIFEST.in, reinstating the ability to run Paramiko’s tests from an sdist tarball. - [Support]: Update our CI to catch issues with sdist generation, installation and testing. - [Support]: Administrivia overhaul, including but not limited to: - Migrate CI to CircleCI - Primary dev branch is now main (renamed) - Many README edits for clarity, modernization etc; including a bunch more (and consistent) status badges & unification with main project site index - PyPI page much more fleshed out (long_description is now filled in with the README; sidebar links expanded; etc) - flake8, pytest configs split out of setup.cfg into their own files - Invoke/invocations (used by maintainers/contributors) upgraded to modern versions - Skip python2 to fix build errors for Leap. - Rebase paramiko-pr1655-remove-pytest-relaxed.patch. OBS-URL: https://build.opensuse.org/request/show/924852 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-paramiko?expand=0&rev=98
2021-10-16 09:29:10 +00:00
%define skip_python2 1
%{?sle15_python_module_pythons}
Name: python-paramiko
Version: 2.12.0
Release: 0
Summary: SSH2 protocol library
License: LGPL-2.1-or-later
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
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 gssapi}
BuildRequires: %{python_module invocations}
Accepting request 924852 from home:ecsos - Update to 2.8.0 - [Feature] #1846: Add a prefetch keyword argument to SFTPClient.get/SFTPClient.getfo so users who need to skip SFTP prefetching are able to conditionally turn it off. - [Bug] #1462: (via #1882) Newer server-side key exchange algorithms not intended to use SHA1 (diffie-hellman-group14-sha256, diffie-hellman-group16-sha512) were incorrectly using SHA1 after all, due to a bug causing them to ignore the hash_algo class attribute. This has been corrected. - [Support] #1722: Remove leading whitespace from OpenSSH RSA test suite static key fixture, to conform better to spec. - [Support] #1727: Add missing test suite fixtures directory to MANIFEST.in, reinstating the ability to run Paramiko’s tests from an sdist tarball. - [Support]: Update our CI to catch issues with sdist generation, installation and testing. - [Support]: Administrivia overhaul, including but not limited to: - Migrate CI to CircleCI - Primary dev branch is now main (renamed) - Many README edits for clarity, modernization etc; including a bunch more (and consistent) status badges & unification with main project site index - PyPI page much more fleshed out (long_description is now filled in with the README; sidebar links expanded; etc) - flake8, pytest configs split out of setup.cfg into their own files - Invoke/invocations (used by maintainers/contributors) upgraded to modern versions - Skip python2 to fix build errors for Leap. - Rebase paramiko-pr1655-remove-pytest-relaxed.patch. OBS-URL: https://build.opensuse.org/request/show/924852 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-paramiko?expand=0&rev=98
2021-10-16 09:29:10 +00:00
BuildRequires: %{python_module invoke >= 1.3}
BuildRequires: %{python_module pyasn1 >= 0.1.7}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest}
Accepting request 502890 from home:mimi_vx:branches:devel:languages:python - update to 2.1.3 * Make util.log_to_file append instead of replace. * SSHClient and Transport could cause a memory leak if there’s a connection problem or protocol error, even if Transport.close() is called. * Prior support for ecdsa-sha2-nistp(384|521) algorithms didn’t fully extend to covering host keys, preventing connection to hosts which only offer these key types and no others. This is now fixed. * Prefer newer ecdsa-sha2-nistp keys over RSA and DSA keys during host key selection. This improves compatibility with OpenSSH, both in terms of general behavior, and also re: ability to properly leverage OpenSSH-modified known_hosts files. * The RC4/arcfour family of ciphers has been broken since version 2.0; but since the algorithm is now known to be completely insecure, we are opting to remove support outright instead of fixing it. * Move sha1 above the now-arguably-broken md5 in the list of preferred MAC algorithms, as an incremental security improvement for users whose target systems offer both. * Writing encrypted/password-protected private key files was silently broken since 2.0 due to an incorrect API call Includes a directly related fix, namely adding the ability to read AES-256-CBC ciphered private keys (which is now what we tend to write out as it is Cryptography’s default private key cipher.) * Allow any type implementing the buffer API to be used with BufferedFile, Channel, and SFTPFile. This resolves a regression introduced in 1.13 with the Python 3 porting changes, when using types such as memoryview. * Enhance default cipher preference order such that aes(192|256)-cbc are preferred over blowfish-cbc. * SSHClient now requests the type of host key it has (e.g. from known_hosts) and does not consider a different type to be a “Missing” host key. This fixes a common case where an ECDSA key is in known_hosts and the server also has OBS-URL: https://build.opensuse.org/request/show/502890 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-paramiko?expand=0&rev=62
2017-06-14 09:20:40 +00:00
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module six}
Accepting request 502890 from home:mimi_vx:branches:devel:languages:python - update to 2.1.3 * Make util.log_to_file append instead of replace. * SSHClient and Transport could cause a memory leak if there’s a connection problem or protocol error, even if Transport.close() is called. * Prior support for ecdsa-sha2-nistp(384|521) algorithms didn’t fully extend to covering host keys, preventing connection to hosts which only offer these key types and no others. This is now fixed. * Prefer newer ecdsa-sha2-nistp keys over RSA and DSA keys during host key selection. This improves compatibility with OpenSSH, both in terms of general behavior, and also re: ability to properly leverage OpenSSH-modified known_hosts files. * The RC4/arcfour family of ciphers has been broken since version 2.0; but since the algorithm is now known to be completely insecure, we are opting to remove support outright instead of fixing it. * Move sha1 above the now-arguably-broken md5 in the list of preferred MAC algorithms, as an incremental security improvement for users whose target systems offer both. * Writing encrypted/password-protected private key files was silently broken since 2.0 due to an incorrect API call Includes a directly related fix, namely adding the ability to read AES-256-CBC ciphered private keys (which is now what we tend to write out as it is Cryptography’s default private key cipher.) * Allow any type implementing the buffer API to be used with BufferedFile, Channel, and SFTPFile. This resolves a regression introduced in 1.13 with the Python 3 porting changes, when using types such as memoryview. * Enhance default cipher preference order such that aes(192|256)-cbc are preferred over blowfish-cbc. * SSHClient now requests the type of host key it has (e.g. from known_hosts) and does not consider a different type to be a “Missing” host key. This fixes a common case where an ECDSA key is in known_hosts and the server also has OBS-URL: https://build.opensuse.org/request/show/502890 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-paramiko?expand=0&rev=62
2017-06-14 09:20:40 +00:00
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-pyasn1 >= 0.1.7
Requires: python-six
BuildArch: noarch
%python_subpackages
%description
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 and server mode are both supported too.
%if 0%{?suse_version} > 1500
%package -n python-paramiko-doc
Summary: Documentation for %{name}
Group: Documentation/Other
Provides: %{python_module paramiko-doc = %{version}}
%description -n python-paramiko-doc
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 and server mode are both supported too.
This package contains the documentation.
%endif
%prep
%autosetup -p1 -n paramiko-%{version}
# Fix non-executable script rpmlint issue:
find demos -name "*.py" -exec sed -i "/#\!\/usr\/bin\/.*/d" {} \; -exec chmod -x {} \;
%build
%python_build
%install
%python_install
%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
%files %{python_files}
%license LICENSE
%doc README.rst
%{python_sitelib}/paramiko
%{python_sitelib}/paramiko-%{version}*-info
%if 0%{?suse_version} > 1500
%files -n python-paramiko-doc
%license LICENSE
%endif
%doc demos/
%changelog