python-invoke/python-invoke.spec
Matej Cepl 83b558bd2a - Update to 2.1.0:
- [Bug] #910: Add more rigor around subprocess/runner shutdown
    to avoid spurious exceptions & also fix downstream issues in
    libraries like Fabric. Reported by Orlando Rodríguez.
  - [Bug] #934: The importlib upgrade in 2.1 had a corner case
    bug (regarding from . import <submodule> functionality within
    package-like task trees) which in turn exposed a false-pass
    in our test suite. Both have now been fixed. Thanks to Greg
    Meyer and Robert J. Berger for the bug reports.
  - [Bug] #910: Add more rigor around subprocess/runner shutdown
    to avoid spurious exceptions & also fix downstream issues in
    libraries like Fabric. Reported by Orlando Rodríguez.
  - [Support] #901: (via #903) Tweak test suite setup methods to
    be named setup_method so pytest stops whining about it. Patch
    via Jesse P. Johnson.
  - [Bug] #376: Resolve equality comparison bug for
    non-collections. Patch via Jesse P. Johnson
  - [Support] #901: (via #903) Tweak test suite setup methods to
    be named setup_method so pytest stops whining about it. Patch
    via Jesse P. Johnson.
  - [Support] #906: Implement type hints and type checking
    tests with mypy to reduce errors and impove code
    documentation. Patches by Jesse P. Johnson and review by Sam
    Bull.
  - [Support] #675: Implement importlib and deprecate imp
    module. Patches provided by Jesse P. Johnson
  - [Support]: Task.argspec has changed its return value; it now
    returns an inspect.Signature derived from that of the task’s
    body callable.
  - Warning

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-invoke?expand=0&rev=37
2023-05-11 12:17:11 +00:00

99 lines
3.5 KiB
RPMSpec
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# spec file for package python-invoke
#
# 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/
#
# broken with pytest-relaxed (same author -- all of this is unmaintained)
%bcond_without test
%{?sle15_python_module_pythons}
Name: python-invoke
Version: 2.1.0
Release: 0
Summary: Pythonic Task Execution
License: BSD-2-Clause
Group: Development/Languages/Python
URL: https://www.pyinvoke.org
Source: https://files.pythonhosted.org/packages/source/i/invoke/invoke-%{version}.tar.gz
# PATCH-FIX-OPENSUSE remove-icecream.patch mcepl@suse.com
# We dont need icecream as yet another complication.
Patch0: remove-icecream.patch
BuildRequires: %{python_module invocations >= 3.0.1}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools > 56}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires(post): update-alternatives
Requires(postun):update-alternatives
BuildArch: noarch
%if %{with test}
BuildRequires: %{python_module pytest-relaxed}
BuildRequires: %{python_module pytest}
BuildRequires: zsh
%endif
%python_subpackages
%description
Invoke is a Python (2.7 and 3.4+) task execution tool & library, drawing
inspiration from various sources to arrive at a powerful & clean feature set.
%prep
%autosetup -p1 -n invoke-%{version}
# Remove bundled libs, import will fallback to system provided libs
rm -fr invoke/vendor/*
%build
%pyproject_wheel
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%python_clone -a %{buildroot}%{_bindir}/inv
%python_clone -a %{buildroot}%{_bindir}/invoke
%if %{with test}
%check
# gh#pyinvoke/invoke#705
skiptests="setcbreak_called_on_tty_stdins or setcbreak_not_called_if_process_not_foregrounded"
skiptests+=" or tty_stdins_have_settings_restored_by_default or tty_stdins_have_settings_restored_on_KeyboardInterrupt"
skiptests+=" or when_pty_True_we_use_pty_fork_and_os_exec or pty_uses_WEXITSTATUS_if_WIFEXITED"
skiptests+=" or pty_uses_WTERMSIG_if_WIFSIGNALED or WTERMSIG_result_turned_negative_to_match_subprocess"
skiptests+=" or pty_is_set_to_controlling_terminal_size or spurious_OSErrors_handled_gracefully"
skiptests+=" or other_spurious_OSErrors_handled_gracefully or non_spurious_OSErrors_bubble_up"
skiptests+=" or can_be_overridden_by_kwarg or can_be_overridden_by_config"
skiptests+=" or overridden_fallback_affects_result_pty_value or defaults_to_bash_or_cmdexe_when_pty_True"
skiptests+=" or may_be_overridden_when_pty_True or uses_execve_for_pty_True or stop_mutes_errors_on_pty_close"
%pytest -s -k "not ($skiptests)" tests
%endif
%post
%{python_install_alternative inv invoke}
%postun
%python_uninstall_alternative inv
%files %{python_files}
%license LICENSE
%doc README.rst
%python_alternative %{_bindir}/inv
%python_alternative %{_bindir}/invoke
%{python_sitelib}/invoke
%{python_sitelib}/invoke-%{version}*-info
%changelog