commit c3eab5767dfdbcec41260b331efb2fe4dd1333ee014f3e8738676abbd09e8462 Author: Adrian Schröter Date: Fri May 3 21:05:22 2024 +0200 Sync from SUSE:SLFO:Main python-invoke revision 229d23d1f8f82540450bbf6a4b5259b4 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..6996b96 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + test + diff --git a/invoke-2.1.2.tar.gz b/invoke-2.1.2.tar.gz new file mode 100644 index 0000000..7299cb5 --- /dev/null +++ b/invoke-2.1.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6cc1f06f75bacd0b1e11488fa3bf3e62f85e31f62e2c0172188613ba5b070e2 +size 298058 diff --git a/python-invoke.changes b/python-invoke.changes new file mode 100644 index 0000000..c237851 --- /dev/null +++ b/python-invoke.changes @@ -0,0 +1,436 @@ +------------------------------------------------------------------- +Mon May 22 21:08:40 UTC 2023 - Dirk Müller + +- update to 2.1.2: + * Make sure ``py.typed`` is in our packaging + manifest; without it, users working from a regular + installation can't perform type checks. + +------------------------------------------------------------------- +Tue May 16 14:16:29 UTC 2023 - Dirk Müller + +- break python-invocations, invoke cycle on tests + +------------------------------------------------------------------- +Sun May 14 12:38:22 UTC 2023 - Dirk Müller + +- update to 2.1.1: + * The `importlib` upgrade in 2.1 had a corner case + bug (regarding ``from . import `` functionality + within package-like task trees which in turn exposed a + false-pass in our test suite. Both have now been fixed. + +------------------------------------------------------------------- +Thu May 11 06:22:55 UTC 2023 - Matej Cepl + +- 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 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 + This change is backwards incompatible if you were using this + method directly. + [Support]: Remove support for, and imports related to, + all Python versions less than 3.6 - including Python + 2. This also includes updates to vendored packages, such + as removing six and upgrading lexicon to the latest + version; and also treatment of things like Mock use within + invoke.context.MockContext (which now expects stdlib’s + unittest.mock instead of hunting for the old standalone mock + library). + This change is backwards incompatible in the following scenarios: + - You use Python <3.6. Shouldn’t be an issue as we now + specify python_requires in packaging metadata. + - You call invoke.util.encode_output manually for some + reason. (This became a noop under Python 3, so just…remove + it!) + - You use invoke.context.MockContext; its repeat init kwarg + changed its default value from False to True. This probably + won’t bite you, but we mention it just in case you somehow + relied upon the legacy behavior. + - You subclass invoke.runners.Runner and/or have had to + interact with its stop or stop_timer methods. The latter + has been merged into the former, and if you are overriding + stop, you’ll want to make sure you now call super() + somewhere if you were not already. +- Remove upstreamed patches: + - 0001-Make-test-fallback-to-system-modules-when-vendorized.patch + - pytest4.patch +- Add remove-icecream.patch to remove unnecessary dependence on + icecream module. +- Skip temporarily failing tests (gh#pyinvoke/invoke#705). + +------------------------------------------------------------------- +Fri Apr 21 12:27:03 UTC 2023 - Dirk Müller + +- add sle15_python_module_pythons (jsc#PED-68) + +------------------------------------------------------------------- +Thu Apr 13 22:42:07 UTC 2023 - Matej Cepl + +- Make calling of %{sle15modernpython} optional. + +------------------------------------------------------------------- +Sun Oct 16 17:50:36 UTC 2022 - Dirk Müller + +- update to 1.7.3: + * Fix a non-fatal bug in our setup.py long_description generation causing + 1.7.0-1.7.2 to have malformed description text on PyPI. + * Fix errors thrown when comparing Task objects to non-Task objects; such + comparisons are now always false. + * Refactor CLI parser instantiation such that the tasks.ignore_unknown_help + feature (added in 1.7) works when Invoke is run in --complete mode, i.e. in + tab-completion scripts. + +------------------------------------------------------------------- +Sat Sep 24 10:56:41 UTC 2022 - Dirk Müller + +- update to 1.7.1: + * :bug:`659` Improve behavior under ``nohup``, which causes stdin to become an + undetectably-unreadable (but otherwise legit) file descriptor. Previously + this led to `OSError` even if you weren't expecting anything on stdin; we now + trap this specific case and silently ignore it, allowing execution to + continue. Thanks to ``@kingkisskill`` for initial report and to Ryan Stoner + for followup and workshopping. + +------------------------------------------------------------------- +Wed May 4 12:35:49 UTC 2022 - pgajdos@suse.com + +- version update to 1.7.0 + * [Feature] #845: Env vars explicitly supplied to sudo (via its env kwarg) are now + explicitly preserved via sudo’s --preserve-env argument. Patch courtesy of Benno Rice. + * [Feature] #793: Add a new tasks.ignore_unknown_help config option for users who hand + their tasks centrally-defined argument help dictionaries; it defaults to False but + such users may set it to True to avoid exceptions. Thanks to @Allu2 for the report. + * [Support]: Switch our continuous integration service from Travis-CI to Circle-CI, + plus related and necessary updates to various administrative config files, management + tasks and metadata. Including but not limited to: + * Enhanced PyPI-level metadata/links + * Split out tool config data from setup.cfg + * Enhance execution & coverage of unit vs integration tests under CI + * [Support] #803: Upgrade our vendored PyYAML from 3.11 to 5.4.1; this should both + supply a number of security fixes, and address problems loading project-level YAML + config files under Python 3.10. Fix via Andreas Rammhold. + * [Support]: Switch to using yaml.safe_load for loading config files. This avoids some + warnings under newer PyYAML versions and is also, in a shocking twist, more secure. +- do not require python-mock for build, testsuite is not run +- modified patches + % 0001-Make-test-fallback-to-system-modules-when-vendorized.patch (refreshed) +- deleted patches + - fix-yaml-loader.patch (upstreamed) + +------------------------------------------------------------------- +Tue Dec 28 21:43:30 UTC 2021 - Ben Greiner + +- Add fix-yaml-loader.patch, PyYAML 6 broke it. + +------------------------------------------------------------------- +Wed Aug 18 13:52:50 UTC 2021 - John Paul Adrian Glaubitz + +- Update to version 1.6.0 + * Version bump for next release + * Return to using print() and no newline in echo_format + * Blacken + * Changelog re #791 + * s/output_format/echo_format/g + * Fix whitespace + * Contact methods update :( + * Adding support for a custom output format via run.echo + * Fix typo + * Tweak versionadded/changed bits for new param. +- from version 1.5.1 + * Alphabetize run() kwarg param declarations in docstring + * Document dry kwarg for run() in docstring + * Treat whitespace-only docstrings as empty docstrings. +- from version 1.5.0 + * Changelog, docstring and test tweak re #607, re #454 + * Tweaks re #611 + * Changelog re #409, re #398, re #611, re #580 + * Tweak #197 changelog to link to modified API member + * Stop publishing bogus codecov reports from Travis + * Docs and changelog re #197, closes #197 + * Realized OP's impl was overkill/caused bugs. Just set name. + * Use identity testing in collection task lookup asserts + * Refactor default task/collection collision & enhanced its tests + * Minor tweaks to update #197 + * Upgrade codecov client, prev version cannot talk to their object store + * Fix small pile of minor doc reference errors + * Changelog re coverage tweaks + * Test Exit more thoroughly + * Improve test coverage of Failure hierarchy repr() + * Not sure why UnexpectedExit repr override __repr__ and not _repr + * Blacken + * Bump version for release/testing + * Populate MockContext NotImplementedErrors with triggering command + * Enhance MockContext a whole bunch + * Enhance testing concepts doc + * Python packaging guide is no longer using /en/latest URL + * Blacken, flake8 + * Populate Result.command automatically within MockContext methods + * Wrap MockContext methods in actual Mock when present + * Expand sys.modules cleaner in conftest to clean EVERYTHING + * Fix inaccurate indentation for MockContext versionadded directive + * Needed to mark this bug major because it was in the 1.2 line which + hasn't since gotten any bugfix releases + * Grumble forgot a backported note + * Add test: mismatched help text raises error + * Add tests: parameter help defined with underscores + * Cosmetic: satisfy black + * Simplify if/else/if/else a bit + * Fix bug if didn't give help for param. + * Add error when gave help for typoed param #398 + * Fix help text behavior for params with underscores in name #409 + * Skip Path unit test if Path can't be imported + * Clarify why we do str() on a possible str object + * Make Travis happy for Python 2.7 and pypy + * Satisfy flake8 compatibility + * Allow Pathlib.path objects to be used with Context.cd() + * Allow subcollections to be defaults of parent collections + +------------------------------------------------------------------- +Fri Oct 16 12:55:39 UTC 2020 - Benjamin Greiner + +- disable test suite with bcond because of unmaintained + pytest-relaxed gh#bitprophet/pytest-relaxed#12 + +------------------------------------------------------------------- +Tue Apr 14 14:13:45 UTC 2020 - Marketa Calabkova + +- Update to version 1.4.1 + * Fix an issue with `~invoke.run` & friends having intermittent + problems at exit time. + * Many other fixes. + +------------------------------------------------------------------- +Tue Sep 17 10:08:41 UTC 2019 - Tomáš Chvátal + +- Update patch pytest4.patch to make it really work with new pytests + +------------------------------------------------------------------- +Mon Aug 12 11:36:59 UTC 2019 - Marketa Calabkova + +- Update to version 1.3.0 + * Allow the configuration system to override which Executor + subclass to use when executing tasks. + * Add support for command timeouts, i.e. the ability to add an + upper bound on how long a call to run may take to execute. + * Add basic dry-run support, in the form of a new --dry CLI option. + * Add a new Runner method, close_proc_stdin, and call it when + standard input processing detects an EOF. + +------------------------------------------------------------------- +Wed Jul 24 07:25:08 UTC 2019 - Tomáš Chvátal + +- Disable tests for now as they break with new pytest-relaxed +- Add another patch fixing errors with new pytest: + * pytest4.patch + +------------------------------------------------------------------- +Fri Jul 19 09:59:13 UTC 2019 - Tomáš Chvátal + +- Restrict pytest5 and pytest4 for now upstream tests only with + pytest3... + +------------------------------------------------------------------- +Tue Mar 26 14:02:06 UTC 2019 - Tomáš Chvátal + +- Update to 1.2.0: + * [Feature] #301: (via #414) Overhaul tab completion mechanisms so users can print a completion script which automatically matches the emitting binary’s configured names (compared to the previous hardcoded scripts, which only worked for inv/invoke by default). Thanks to Nicolas Höning for the foundational patchset. + +------------------------------------------------------------------- +Sat Aug 11 11:42:30 UTC 2018 - tchvatal@suse.com + +- Add patch to not use vendored libs: + * 0001-Make-test-fallback-to-system-modules-when-vendorized.patch +- Remove unneeded deps +- Remove the multibuild again as we no longer cycle + +------------------------------------------------------------------- +Sat Aug 11 10:04:46 UTC 2018 - tchvatal@suse.com + +- Update to 1.1.1: + * Various tweaks for pytest and new py releases support +- Switch to multibuild to run tests + +------------------------------------------------------------------- +Sat Apr 28 12:30:16 UTC 2018 - badshah400@gmail.com + +- Update to version 0.22.1: + * gh#pyinvoke/invoke#488: Account for additional I/O related + OSError error strings when attempting to capture only this + specific subtype of error. + * gh#pyinvoke/invoke#437: When merging configuration levels + together (which uses copy.copy by default), pass file objects + by reference so they don’t get closed. + * gh#pyinvoke/invoke#342: Accidentally hardcoded Collection + instead of cls in Collection.from_module (an alternate + constructor and therefore a classmethod.) This made it rather + hard to properly subclass Collection. + * gh#pyinvoke/invoke#469: Fix up the doc/example re: subclassing + Config. + * gh#pyinvoke/invoke#433: Add -dev and -nightly style Python + versions to our Travis builds. +- Changes from version 0.22.0: + * Iterable-type CLI args were actually still somewhat broken & + were ‘eating’ values after themselves in the parser stream + (thus e.g. preventing parsing of subsequent tasks or flags.) + * gh#pyinvoke/invoke#364: Drop Python 2.6 and Python 3.3 + support, as these versions now account for only very low + percentages of the userbase and are unsupported (or about to + be unsupported) by the rest of the ecosystem, including pip. +- Update URL to upstream recommended. + +------------------------------------------------------------------- +Wed Oct 18 15:59:42 UTC 2017 - toddrme2178@gmail.com + +- Update to 0.21.0 + * No changelog + +------------------------------------------------------------------- +Thu Aug 24 13:41:17 UTC 2017 - jmatejek@suse.com + +- singlespec auto-conversion + +------------------------------------------------------------------- +Sat Dec 10 16:48:21 UTC 2016 - jengelh@inai.de + +- Declare use of bashisms + +------------------------------------------------------------------- +Thu Sep 11 13:11:26 UTC 2014 - toddrme2178@gmail.com + +- Implement update-alternatives + +------------------------------------------------------------------- +Thu Sep 11 12:58:33 UTC 2014 - toddrme2178@gmail.com + +- Update to 0.9.0 2014-08-26 + * [Bug]: Fixed a sub-case of the already-mostly-fixed #149 so the error + message works usefully even with no explicit collection name given. + * [Support] #169: Overhaul the Sphinx docs into two trees, one for main + project info and one for versioned API docs. + * [Bug] #162: Adjust platform-sensitive imports so Windows users don’t + encounter import-time exceptions. Thanks to Paul Moore for the patch. + * [Feature] #136: Added the autoprint flag to invoke.tasks.Task/@task, + allowing users to set up tasks which act as both subroutines & + “print a result” CLI tasks. Thanks to Matthias Lehmann for the original + patch. + * [Bug] #119: (also #162, #113) Better handle platform-sensitive operations + such as pty size detection or use, either replacing with platform-specific + implementations or raising useful exceptions. Thanks to Gabi Davar and + (especially) Paul Moore, for feedback & original versions of the final + patchset. + * [Bug] #167: Running the same task multiple times in one CLI session was + horribly broken; it works now. Thanks to Erich Heine for the report. + * [Bug] #165: Running inv[oke] with no task names on a collection containing + a default task should (intuitively) have run that default task, but instead + did nothing. This has been fixed. +- Update to 0.8.2 2014-06-15 + * [Bug] #142: The refactored Loader class failed to account for the behavior + of imp.find_module when run against packages (vs modules) and was exploding + at load time. This has been fixed. Thanks to David Baumgold for catch & patch. + * [Bug] #145: Ensure a useful message is displayed (instead of a confusing + exception) when listing empty task collections. + * [Bug] #149: Print a useful message to stderr when Invoke can’t find the + requested collection/tasks file, instead of displaying a traceback. +- Update to 0.8.1 2014-06-09 + * [Bug] #140: Revert incorrect changes to our setup.py regarding detection of + sub-packages such as the vendor tree & the parser. Also add additional + scripting to our Travis-CI config to catch this class of error in future. + Thanks to Steven Loria and James Cox for the reports. +- Update to 0.8.0 2014-06-08 + * [Feature] #125: Improve output of Failure exceptions when printed. + * [Feature] #124: Add a --debug flag to the core parser to enable easier + debugging (on top of existing INVOKE_DEBUG env var.) + * [Bug] #127: Fill in tasks’ exposed name attribute with body name if + explicit name not given. + * [Bug] #116: Ensure nested config overrides play nicely with default tasks + and pre-tasks. + * [Bug] #131: Make sure one’s local tasks module is always first in sys.path, + even if its parent directory was already somewhere else in sys.path. This + ensures that local tasks modules never become hidden by third-party ones. + Thanks to @crccheck for the early report and to Dorian Puła for assistance + fixing. + * [Support]: Refactor the invoke.runner.Runner module to differentiate what + it means to run a command in the abstract, from execution specifics. Top + level API is unaffected. + * [Feature] #87: (also #92) Rework the loader module such that recursive + filesystem searching is implemented, and is used instead of searching + sys.path. + This adds the behavior most users expect or are familiar with from Fabric 1 + or similar tools; and it avoids nasty surprise collisions with other + installed packages containing files named tasks.py. + Thanks to Michael Hahn for the original report & PR, and to Matt Iversen + for providing the discovery algorithm used in the final version of this + change. + Warning + This is technically a backwards incompatible change (reminder: we’re not at + 1.0 yet!). You’ll only notice if you were relying on adding your tasks + module to sys.path and then calling Invoke elsewhere on the filesystem. + * [Support] #117: Tidy up setup.py a bit, including axing the (broken) + distutils support. Thanks to Matt Iversen for the original PR & followup + discussion. + * [Feature] #110: Add task docstrings’ 1st lines to --list output. Thanks to + Hiroki Kiyohara for the original PR (with assists from Robert Read and + James Thigpen.) + * [Feature] #115: Make it easier to reuse Invoke’s primary CLI machinery in + other (non-Invoke-distributed) bin-scripts. Thanks to Noah Kantrowitz. + * [Support] #118: Update the bundled six plus other minor tweaks to support + files. Thanks to Matt Iversen. + * [Bug] #121: Add missing help output denoting inverse Boolean options (i.e. + --[no-]foo for a --foo flag whose value defaults to true.) Thanks to Andrew + Roberts for catch & patch. + * [Bug] #128: Positional arguments containing underscores were not exporting + to the parser correctly; this has been fixed. Thanks to J. Javier Maestro + for catch & patch. + * [Support] #25: Trim a bunch of time off the test suite by using mocking and + other tools instead of dogfooding a bunch of subprocess spawns. + * [Feature] #135: (also bugs #120, #123) Implement post-tasks to match + pre-tasks, and allow control over the arguments passed to both (via + invoke.tasks.call). For details, see Pre- and post-tasks. + Warning + Pre-tasks were overhauled a moderate amount to implement this feature; they + now require references to task objects instead of task names. This is a + backwards incompatible change. +- Update to 0.7.0 2014.01.28 + * [Feature] #107: Update configuration merging behavior for more flexible + reuse of imported task modules, such as parameterizing multiple copies of a + module within a task tree. + * [Feature] #108: Update invoke.collection.Collection.from_module to accept + useful shorthand arguments for tweaking the invoke.collection.Collection + objects it creates (e.g. name, configuration.) + * [Feature] #109: Add a default kwarg to + invoke.collection.Collection.add_task allowing per-collection control over + default tasks. + +------------------------------------------------------------------- +Sun Jan 12 12:54:12 UTC 2014 - toms@opensuse.org + +- Initial version 0.6.1 + + diff --git a/python-invoke.spec b/python-invoke.spec new file mode 100644 index 0000000..358de70 --- /dev/null +++ b/python-invoke.spec @@ -0,0 +1,115 @@ +# +# spec file +# +# 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/ +# + + +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "test" +%define psuffix -test +%bcond_without test +%else +%define psuffix %{nil} +%bcond_with test +%endif + +%{?sle15_python_module_pythons} +Name: python-invoke%{psuffix} +Version: 2.1.2 +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 don’t need icecream as yet another complication. +Patch0: remove-icecream.patch +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools > 56} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-PyYAML +Requires: python-fluidity-sm +Requires: python-lexicon +Requires(post): update-alternatives +Requires(postun):update-alternatives +BuildArch: noarch +%if %{with test} +BuildRequires: %{python_module PyYAML} +BuildRequires: %{python_module fluidity-sm} +BuildRequires: %{python_module invocations >= 3.0.1} +BuildRequires: %{python_module invoke >= %version} +BuildRequires: %{python_module lexicon} +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 +%if !%{with test} +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%python_clone -a %{buildroot}%{_bindir}/inv +%python_clone -a %{buildroot}%{_bindir}/invoke +%endif + +%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 + +%if !%{with test} +%files %{python_files} +%license LICENSE +%doc README.rst +%python_alternative %{_bindir}/inv +%python_alternative %{_bindir}/invoke +%{python_sitelib}/invoke +%{python_sitelib}/invoke-%{version}*-info +%endif + +%changelog diff --git a/remove-icecream.patch b/remove-icecream.patch new file mode 100644 index 0000000..938f935 --- /dev/null +++ b/remove-icecream.patch @@ -0,0 +1,45 @@ +--- + dev-requirements.txt | 2 -- + pyproject.toml | 4 ---- + tests/conftest.py | 6 ------ + 3 files changed, 12 deletions(-) + +--- a/dev-requirements.txt ++++ b/dev-requirements.txt +@@ -16,8 +16,6 @@ flake8>=4,<5 + black>=22.8,<22.9 + # Packaging + setuptools>56 +-# Debuggery +-icecream>=2.1 + # typing + mypy==0.971 + types-PyYAML==6.0.12.4 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -40,10 +40,6 @@ module = "alabaster" + ignore_missing_imports = true + + [[tool.mypy.overrides]] +-module = "icecream" +-ignore_missing_imports = true +- +-[[tool.mypy.overrides]] + module = "invocations" + ignore_missing_imports = true + +--- a/tests/conftest.py ++++ b/tests/conftest.py +@@ -8,12 +8,6 @@ from unittest.mock import patch + + from _util import support + +-# Set up icecream globally for convenience. +-from icecream import install +- +-install() +- +- + # pytest seems to tweak logging such that Invoke's debug logs go to stderr, + # which is then hella spammy if one is using --capture=no (which one must in + # order to test low level terminal IO stuff, as we do!)