forked from pool/python-click-plugins
Accepting request 1277279 from devel:languages:python
- Add patch support-click-8.2.patch: * Support click 8.2+ changes. - Switch to autosetup and pyproject macros. - No more greedy globs in %files. OBS-URL: https://build.opensuse.org/request/show/1277279 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-click-plugins?expand=0&rev=10
This commit is contained in:
@@ -1,3 +1,11 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed May 14 04:08:19 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Add patch support-click-8.2.patch:
|
||||
* Support click 8.2+ changes.
|
||||
- Switch to autosetup and pyproject macros.
|
||||
- No more greedy globs in %files.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 11 13:45:26 UTC 2023 - ecsos <ecsos@opensuse.org>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package python-click-plugins
|
||||
#
|
||||
# Copyright (c) 2021 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -16,7 +16,6 @@
|
||||
#
|
||||
|
||||
|
||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||
%if 0%{?sle_version} == 150300
|
||||
# tests fail on python2 on Leap 15.3 and SLE 15 SP3
|
||||
%define skip_python2 1
|
||||
@@ -27,12 +26,15 @@ Version: 1.1.1
|
||||
Release: 0
|
||||
Summary: Click extension to register CLI commands via setuptools entry-points
|
||||
License: BSD-3-Clause
|
||||
Group: Development/Languages/Python
|
||||
URL: https://github.com/click-contrib/click-plugins
|
||||
Source: https://files.pythonhosted.org/packages/source/c/click-plugins/click-plugins-%{version}.tar.gz
|
||||
# PATCH-FIX-OPENSUSE https://github.com/click-contrib/click-plugins/issues/38
|
||||
Patch0: support-click-8.2.patch
|
||||
BuildRequires: %{python_module click >= 3.0}
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module pytest}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: %{python_module wheel}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
Requires: python-click >= 3.0
|
||||
@@ -48,13 +50,13 @@ You could have all plugins register alongside the core commands,
|
||||
in a special sub-group, across multiple sub-groups, or some combination.
|
||||
|
||||
%prep
|
||||
%setup -q -n click-plugins-%{version}
|
||||
%autosetup -p1 -n click-plugins-%{version}
|
||||
|
||||
%build
|
||||
%python_build
|
||||
%pyproject_wheel
|
||||
|
||||
%install
|
||||
%python_install
|
||||
%pyproject_install
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
|
||||
%check
|
||||
@@ -68,6 +70,7 @@ export LANG=en_US.UTF-8
|
||||
%else
|
||||
%license LICENSE.txt
|
||||
%endif
|
||||
%{python_sitelib}/*
|
||||
%{python_sitelib}/click_plugins
|
||||
%{python_sitelib}/click_plugins-%{version}.dist-info
|
||||
|
||||
%changelog
|
||||
|
||||
78
support-click-8.2.patch
Normal file
78
support-click-8.2.patch
Normal file
@@ -0,0 +1,78 @@
|
||||
Index: click-plugins-1.1.1/tests/test_plugins.py
|
||||
===================================================================
|
||||
--- click-plugins-1.1.1.orig/tests/test_plugins.py
|
||||
+++ click-plugins-1.1.1/tests/test_plugins.py
|
||||
@@ -1,3 +1,6 @@
|
||||
+import importlib.metadata
|
||||
+
|
||||
+from packaging.version import Version
|
||||
from pkg_resources import EntryPoint
|
||||
from pkg_resources import iter_entry_points
|
||||
from pkg_resources import working_set
|
||||
@@ -20,6 +23,12 @@ def cmd2(arg):
|
||||
"""Test command 2"""
|
||||
click.echo('passed')
|
||||
|
||||
+click_version = Version(importlib.metadata.version("click"))
|
||||
+if click_version >= Version("8.2"):
|
||||
+ expected_exit_code = 2
|
||||
+else:
|
||||
+ expected_exit_code = 0
|
||||
+
|
||||
|
||||
# Manually register plugins in an entry point and put broken plugins in a
|
||||
# different entry point.
|
||||
@@ -78,7 +87,7 @@ def test_registered():
|
||||
def test_register_and_run(runner):
|
||||
|
||||
result = runner.invoke(good_cli)
|
||||
- assert result.exit_code == 0
|
||||
+ assert result.exit_code == expected_exit_code
|
||||
|
||||
for ep in iter_entry_points('_test_click_plugins.test_plugins'):
|
||||
cmd_result = runner.invoke(good_cli, [ep.name, 'something'])
|
||||
@@ -89,7 +98,7 @@ def test_register_and_run(runner):
|
||||
def test_broken_register_and_run(runner):
|
||||
|
||||
result = runner.invoke(broken_cli)
|
||||
- assert result.exit_code == 0
|
||||
+ assert result.exit_code == expected_exit_code
|
||||
assert u'\U0001F4A9' in result.output or u'\u2020' in result.output
|
||||
|
||||
for ep in iter_entry_points('_test_click_plugins.broken_plugins'):
|
||||
@@ -108,7 +117,7 @@ def test_group_chain(runner):
|
||||
pass
|
||||
|
||||
result = runner.invoke(good_cli)
|
||||
- assert result.exit_code == 0
|
||||
+ assert result.exit_code == expected_exit_code
|
||||
assert sub_cli.name in result.output
|
||||
for ep in iter_entry_points('_test_click_plugins.test_plugins'):
|
||||
assert ep.name in result.output
|
||||
@@ -121,7 +130,7 @@ def test_group_chain(runner):
|
||||
pass
|
||||
|
||||
result = runner.invoke(good_cli, ['sub-cli-plugins'])
|
||||
- assert result.exit_code == 0
|
||||
+ assert result.exit_code == expected_exit_code
|
||||
for ep in iter_entry_points('_test_click_plugins.test_plugins'):
|
||||
assert ep.name in result.output
|
||||
|
||||
@@ -142,7 +151,7 @@ def test_exception():
|
||||
|
||||
def test_broken_register_and_run_with_help(runner):
|
||||
result = runner.invoke(broken_cli)
|
||||
- assert result.exit_code == 0
|
||||
+ assert result.exit_code == expected_exit_code
|
||||
assert u'\U0001F4A9' in result.output or u'\u2020' in result.output
|
||||
|
||||
for ep in iter_entry_points('_test_click_plugins.broken_plugins'):
|
||||
@@ -153,7 +162,7 @@ def test_broken_register_and_run_with_he
|
||||
|
||||
def test_broken_register_and_run_with_args(runner):
|
||||
result = runner.invoke(broken_cli)
|
||||
- assert result.exit_code == 0
|
||||
+ assert result.exit_code == expected_exit_code
|
||||
assert u'\U0001F4A9' in result.output or u'\u2020' in result.output
|
||||
|
||||
for ep in iter_entry_points('_test_click_plugins.broken_plugins'):
|
||||
Reference in New Issue
Block a user