14
0
forked from pool/python-Fabric
Files
python-Fabric/python-Fabric.spec
Ondřej Súkup decbd69afc Accepting request 1118865 from home:mimi_vx:branches:devel:languages:python
- 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
2023-10-19 14:28:57 +00:00

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