forked from pool/python-Fabric
- Update to 3.2.2 - add fix-test-deps.patch to remove vendored dependencies *[Bug]: fabric.runners.Remote failed to properly deregister its SIGWINCH signal handler on shutdown; in rare situations this could cause tracebacks when the Python process receives SIGWINCH while no remote session is active. This has been fixed. * [Bug] #2204: The signal handling functionality added in Fabric 2.6 caused unrecoverable tracebacks when invoked from inside a thread (such as the use of fabric.group.ThreadingGroup) under certain interpreter versions. This has been fixed by simply refusing to register signal handlers when not in the main thread. Thanks to Francesco Giordano and others for the reports. * [Bug]: Neglected to actually add deprecated to our runtime dependency specification (it was still in our development dependencies). This has been fixed. * [Feature]: Enhanced fabric.testing in ways large and small: Backwards-compatibly merged the functionality of MockSFTP into MockRemote (may be opted-into by instantiating the latter with enable_sftp=True) so you can mock out both SSH and SFTP functionality in the same test, which was previously impossible. It also means you can use this in a Pytest autouse fixture to prevent any tests from accidentally hitting the network! A new pytest fixture, remote_with_sftp, has been added which leverages the previous bullet point (an all-in-one fixture suitable for, eg, preventing any incidental ssh/sftp attempts during test execution). A pile of documentation and test enhancements (yes, testing our testing helpers is a thing). * [Support]: Added a new runtime dependency on the Deprecated library. * [Support]: Language update: applied s/sanity/safety/g to the codebase (with the few actual API members using the term now marked deprecated & new ones added in the meantime, mostly in fabric.testing). * [Feature]: Add a new CLI flag to fab, fab --list-agent-keys, which will attempt to connect to your local SSH agent and print a key list, similarly to ssh-add -l. This is mostly useful for expectations-checking Fabric and Paramiko’s agent OBS-URL: https://build.opensuse.org/request/show/1118865 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Fabric?expand=0&rev=86
101 lines
3.4 KiB
RPMSpec
101 lines
3.4 KiB
RPMSpec
#
|
|
# spec file for package python-Fabric
|
|
#
|
|
# 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/
|
|
#
|
|
|
|
|
|
%{?sle15_python_module_pythons}
|
|
Name: python-Fabric
|
|
Version: 3.2.2
|
|
Release: 0
|
|
Summary: A Pythonic tool for remote execution and deployment
|
|
License: BSD-2-Clause
|
|
URL: https://fabfile.org
|
|
Source: https://files.pythonhosted.org/packages/source/f/fabric/fabric-%{version}.tar.gz
|
|
# PATCH-FIX-UPSTREAM gh#fabric/fabric#2209
|
|
Patch0: fix-executable.patch
|
|
# PATCH-FIX-OPENSUSE fix-test-deps.patch - remove usage of icecream and vendored libs
|
|
Patch1: fix-test-deps.patch
|
|
BuildRequires: %{python_module Deprecated}
|
|
BuildRequires: %{python_module decorator}
|
|
BuildRequires: %{python_module invoke >= 2.0}
|
|
BuildRequires: %{python_module lexicon}
|
|
BuildRequires: %{python_module paramiko >= 3.2}
|
|
BuildRequires: %{python_module pytest-relaxed}
|
|
BuildRequires: %{python_module setuptools}
|
|
BuildRequires: fdupes
|
|
BuildRequires: python-rpm-macros
|
|
Requires: python-Deprecated
|
|
Requires: python-decorator
|
|
Requires: python-invoke >= 2.0
|
|
Requires: python-paramiko >= 3.2
|
|
Requires(post): update-alternatives
|
|
Requires(postun):update-alternatives
|
|
Conflicts: python-Fabric3
|
|
Provides: python-Fabric2 = %{version}
|
|
Provides: python-Fabric3 = %{version}
|
|
Provides: python-Fabric3 = %{version}
|
|
Provides: python-fabric = %{version}
|
|
Provides: python-fabric2 = %{version}
|
|
Provides: python-fabric2 = %{version}
|
|
BuildArch: noarch
|
|
%python_subpackages
|
|
|
|
%description
|
|
Fabric is a Python library and command-line tool for
|
|
streamlining the use of SSH for application deployment or systems
|
|
administration tasks.
|
|
|
|
It provides a basic suite of operations for executing local or remote shell
|
|
commands (normally or via sudo) and uploading/downloading files, as well as
|
|
auxiliary functionality such as prompting the running user for input, or
|
|
aborting execution.
|
|
|
|
In addition to being used via the fab tool, Fabric's components may be imported
|
|
into other Python code, providing a Pythonic interface to the SSH protocol
|
|
suite at a higher level than that provided by e.g. Paramiko (which
|
|
Fabric itself leverages).
|
|
|
|
%prep
|
|
%autosetup -p1 -n fabric-%{version}
|
|
# fix all imports:
|
|
sed -i 's/from invoke.vendor\./from\ /' fabric/connection.py fabric/group.py integration/concurrency.py tests/config.py tests/transfer.py tests/_util.py tests/connection.py tests/runners.py
|
|
|
|
%build
|
|
%python_build
|
|
|
|
%install
|
|
%python_install
|
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
|
%python_clone -a %{buildroot}%{_bindir}/fab
|
|
|
|
%check
|
|
%pytest tests/
|
|
|
|
%post
|
|
%python_install_alternative fab
|
|
|
|
%postun
|
|
%python_uninstall_alternative fab
|
|
|
|
%files %{python_files}
|
|
%license LICENSE
|
|
%doc README.rst
|
|
%python_alternative %{_bindir}/fab
|
|
%{python_sitelib}/fabric
|
|
%{python_sitelib}/fabric-%{version}*-info
|
|
|
|
%changelog
|