14
0
forked from pool/python-Fabric
Files
python-Fabric/python-Fabric.spec

105 lines
3.6 KiB
RPMSpec
Raw Normal View History

#
# spec file for package python-Fabric
#
# Copyright (c) 2024 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.
Accepting request 692485 from home:glaubitz:branches:devel:languages:python - Version update to 2.4.0: * [Feature] #1709: Add Group.close to allow closing an entire group’s worth of connections at once. Patch via Johannes Löthberg. * [Feature] #1780: Add context manager behavior to Group, to match the same feature in Connection. Feature request by István Sárándi. * [Feature] #1849: Add Connection.from_v1 (and Config.from_v1) for easy creation of modern Connection/Config objects from the currently configured Fabric 1.x environment. Should make upgrading piecemeal much easier for many use cases. - additional changes from version 2.3.2: * [Bug] #1852: Grant internal Connection objects created during ProxyJump based gateways/proxies a copy of the outer Connection’s configuration object. This was not previously done, which among other things meant one could not fully disable SSH config file loading (as the internal Connection objects would revert to the default behavior). Thanks to Chris Adams for the report. * [Bug]: Some debug logging was reusing Invoke’s logger object, generating log messages “named” after invoke instead of fabric. This has been fixed by using Fabric’s own logger everywhere instead. * [Bug] #1850: Skip over ProxyJump configuration directives in SSH config data when they would cause self-referential RecursionError (e.g. due to wildcard-using Host stanzas which include the jump server itself). Reported by Chris Adams. * [Bug]: Fix a bug preventing tab completion (using the Invoke-level --complete flag) from completing task names correctly (behavior was to act as if there were never any tasks present, even if there was a valid fabfile nearby). - Add sed expresion to spec file to remove all vendoring from imports - Run testsuite using the new %pytest macro OBS-URL: https://build.opensuse.org/request/show/692485 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Fabric?expand=0&rev=58
2019-04-11 09:50:09 +00:00
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
- Update to 1.4.0: - [Bug] #495: Fixed documentation example showing how to subclass Task. Thanks to Brett Haydon for the catch and Mark Merritt for the patch. - [Bug] #410: Fixed a bug where using the task decorator inside/under another decorator such as hosts could cause that task to become invalid when invoked by name (due to how old-style vs new-style tasks are detected.) Thanks to Dan Colish for the initial patch. - [Feature] #559: rsync_project now allows users to append extra SSH-specific arguments to rsync‘s --rsh flag. - [Feature] #138: env.port may now be written to at fabfile module level to set a default nonstandard port number. Previously this value was read-only. - [Feature] #3: Fabric can now load a subset of SSH config functionality directly from your local ~/.ssh/config if env.use_ssh_config is set to True. See Leveraging native SSH config files for details. Thanks to Kirill Pinchuk for the initial patch. - [Feature] #12: Added the ability to try connecting multiple times to temporarily-down remote systems, instead of immediately failing. (Default behavior is still to only try once.) See env.timeout and env.connection_attempts for controlling both connection timeouts and total number of attempts. reboot has also been overhauled (but practically deprecated – see its updated docs.) - [Feature] #474: execute now allows you to access the executed task’s return values, by itself returning a dictionary whose keys are the host strings executed against. - [Bug] #487: Overhauled the regular expression escaping performed in append and contains to try and handle more corner cases. Thanks to Neilen Marais for the patch. - [Support] #532: Reorganized and cleaned up the output of fab --help. - [Feature] #8: Added --skip-bad-hosts/env.skip_bad_hosts option to OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Fabric?expand=0&rev=14
2012-02-14 11:57:06 +00:00
%{?sle15_python_module_pythons}
Name: python-Fabric
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
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
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
# PATCH-FIX-OPENSUSE fix-test-deps.patch - remove usage of icecream and vendored libs
Patch1: fix-test-deps.patch
# PATCH-FIX-UPSTREAM gh#fabric/fabric#2249
Patch2: support-pytest-8.patch
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
BuildRequires: %{python_module Deprecated}
BuildRequires: %{python_module decorator}
BuildRequires: %{python_module invoke >= 2.0}
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
BuildRequires: %{python_module lexicon}
BuildRequires: %{python_module paramiko >= 3.2}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest-relaxed}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
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
Requires: python-Deprecated
Requires: python-decorator
Requires: python-invoke >= 2.0
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
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}
Accepting request 692485 from home:glaubitz:branches:devel:languages:python - Version update to 2.4.0: * [Feature] #1709: Add Group.close to allow closing an entire group’s worth of connections at once. Patch via Johannes Löthberg. * [Feature] #1780: Add context manager behavior to Group, to match the same feature in Connection. Feature request by István Sárándi. * [Feature] #1849: Add Connection.from_v1 (and Config.from_v1) for easy creation of modern Connection/Config objects from the currently configured Fabric 1.x environment. Should make upgrading piecemeal much easier for many use cases. - additional changes from version 2.3.2: * [Bug] #1852: Grant internal Connection objects created during ProxyJump based gateways/proxies a copy of the outer Connection’s configuration object. This was not previously done, which among other things meant one could not fully disable SSH config file loading (as the internal Connection objects would revert to the default behavior). Thanks to Chris Adams for the report. * [Bug]: Some debug logging was reusing Invoke’s logger object, generating log messages “named” after invoke instead of fabric. This has been fixed by using Fabric’s own logger everywhere instead. * [Bug] #1850: Skip over ProxyJump configuration directives in SSH config data when they would cause self-referential RecursionError (e.g. due to wildcard-using Host stanzas which include the jump server itself). Reported by Chris Adams. * [Bug]: Fix a bug preventing tab completion (using the Invoke-level --complete flag) from completing task names correctly (behavior was to act as if there were never any tasks present, even if there was a valid fabfile nearby). - Add sed expresion to spec file to remove all vendoring from imports - Run testsuite using the new %pytest macro OBS-URL: https://build.opensuse.org/request/show/692485 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Fabric?expand=0&rev=58
2019-04-11 09:50:09 +00:00
# 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
%pyproject_wheel
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%python_clone -a %{buildroot}%{_bindir}/fab
%check
Accepting request 692485 from home:glaubitz:branches:devel:languages:python - Version update to 2.4.0: * [Feature] #1709: Add Group.close to allow closing an entire group’s worth of connections at once. Patch via Johannes Löthberg. * [Feature] #1780: Add context manager behavior to Group, to match the same feature in Connection. Feature request by István Sárándi. * [Feature] #1849: Add Connection.from_v1 (and Config.from_v1) for easy creation of modern Connection/Config objects from the currently configured Fabric 1.x environment. Should make upgrading piecemeal much easier for many use cases. - additional changes from version 2.3.2: * [Bug] #1852: Grant internal Connection objects created during ProxyJump based gateways/proxies a copy of the outer Connection’s configuration object. This was not previously done, which among other things meant one could not fully disable SSH config file loading (as the internal Connection objects would revert to the default behavior). Thanks to Chris Adams for the report. * [Bug]: Some debug logging was reusing Invoke’s logger object, generating log messages “named” after invoke instead of fabric. This has been fixed by using Fabric’s own logger everywhere instead. * [Bug] #1850: Skip over ProxyJump configuration directives in SSH config data when they would cause self-referential RecursionError (e.g. due to wildcard-using Host stanzas which include the jump server itself). Reported by Chris Adams. * [Bug]: Fix a bug preventing tab completion (using the Invoke-level --complete flag) from completing task names correctly (behavior was to act as if there were never any tasks present, even if there was a valid fabfile nearby). - Add sed expresion to spec file to remove all vendoring from imports - Run testsuite using the new %pytest macro OBS-URL: https://build.opensuse.org/request/show/692485 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Fabric?expand=0&rev=58
2019-04-11 09:50:09 +00:00
%pytest tests/
%post
%python_install_alternative fab
%postun
%python_uninstall_alternative fab
- Update to version 1.4.0: * :bug:495 Fixed documentation example showing how to subclass ~fabric.tasks.Task. Thanks to Brett Haydon for the catch and Mark Merritt for the patch. * :bug:410 Fixed a bug where using the ~fabric.decorators.task decorator inside/under another decorator such as ~fabric.decorators.hosts could cause that task to become invalid when invoked by name (due to how old-style vs new-style tasks are detected.) Thanks to Dan Colish for the initial patch. * :feature:559 ~fabric.contrib.project.rsync_project now allows users to append extra SSH-specific arguments to rsync's --rsh flag. * :feature:138 :ref:env.port <port> may now be written to at fabfile module level to set a default nonstandard port number. Previously this value was * :feature:3 Fabric can now load a subset of SSH config functionality directly from your local ~/.ssh/config if :ref:env.use_ssh_config <use-ssh-config> is set to True. See :ref:ssh-config for details. Thanks to Kirill Pinchuk for the initial patch. * :feature:12 Added the ability to try connecting multiple times to temporarily-down remote systems, instead of immediately failing. (Default behavior is still to only try once.) See :ref:env.timeout <timeout> and :ref:env.connection_attempts <connection-attempts> for controlling both connection timeouts and total number of attempts. ~fabric.operations.reboot has also been overhauled (but practically deprecated -- see its updated docs.) * :feature:474 ~fabric.tasks.execute now allows you to access the executed task's return values, by itself returning a dictionary whose keys are the * :bug:487 Overhauled the regular expression escaping performed in ~fabric.contrib.files.append and ~fabric.contrib.files.contains to try and handle more corner cases. Thanks to Neilen Marais for the patch. * :support:532 Reorganized and cleaned up the output of fab --help. * :feature:8 Added :option:--skip-bad-hosts/:ref:env.skip_bad_hosts OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Fabric?expand=0&rev=17
2012-02-20 22:17:34 +00:00
%files %{python_files}
%license LICENSE
%doc README.rst
%python_alternative %{_bindir}/fab
%{python_sitelib}/fabric
%{python_sitelib}/fabric-%{version}.dist-info
%changelog