Update to 3.1.4 (RHBZ#2175448)
- Drop patches (merged upstream) - Disable zsh tests (I will re-open upstream issue #447) - Various edits due to upstream changes
This commit is contained in:
parent
2025f6350a
commit
d9dd6572e9
1
.gitignore
vendored
1
.gitignore
vendored
@ -23,3 +23,4 @@
|
|||||||
/argcomplete-1.12.2.tar.gz
|
/argcomplete-1.12.2.tar.gz
|
||||||
/argcomplete-1.12.3.tar.gz
|
/argcomplete-1.12.3.tar.gz
|
||||||
/argcomplete-2.0.0.tar.gz
|
/argcomplete-2.0.0.tar.gz
|
||||||
|
/argcomplete-3.1.4.tar.gz
|
||||||
|
@ -1,64 +0,0 @@
|
|||||||
From d0fbcd20a24114fab5b6df71e86065b9a7c7576d Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
|
|
||||||
Date: Thu, 14 Sep 2023 14:20:27 +0200
|
|
||||||
Subject: [PATCH] Ensure Python 3.12+ compatibility in check_console_script
|
|
||||||
|
|
||||||
In f4d046c0cec1dab17f65853442b1da7d341e2915 an assumption was made
|
|
||||||
(correct at the time), that only the importlib.metadata backport,
|
|
||||||
`importlib_metadata`, returns a tuple of entry points.
|
|
||||||
|
|
||||||
However, importlib.metadata in Python 3.12+ behaves the same.
|
|
||||||
|
|
||||||
This caused a KeyError exception to be thrown on Python 3.12,
|
|
||||||
as reported repeatedly be testers of Fedora Linux 39 in:
|
|
||||||
|
|
||||||
https://bugzilla.redhat.com/show_bug.cgi?id=2231593
|
|
||||||
|
|
||||||
This change adjusts the conditional used in check_console_script
|
|
||||||
to assume both the backport and Python 3.12+ return a tuple.
|
|
||||||
|
|
||||||
While not obvious from the test failures output,
|
|
||||||
this change also fixes the following TestBashGlobal tests failures:
|
|
||||||
|
|
||||||
- test_console_script_module
|
|
||||||
- test_console_script_module_wheel
|
|
||||||
- test_console_script_package
|
|
||||||
- test_console_script_package_wheel
|
|
||||||
|
|
||||||
For the reference, the failures looked like this:
|
|
||||||
|
|
||||||
FAIL: test_console_script_module (__main__.TestBashGlobal.test_console_script_module)
|
|
||||||
Test completing a console_script for a module.
|
|
||||||
----------------------------------------------------------------------
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File ".../argcomplete/test/test.py", line 1376, in test_console_script_module
|
|
||||||
self._test_console_script()
|
|
||||||
File ".../argcomplete/test/test.py", line 1370, in _test_console_script
|
|
||||||
self.assertEqual(self.sh.run_command(command), "arg\r\n")
|
|
||||||
AssertionError: "usage: test-module [-h] {arg}\r\ntest-mo[66 chars]\r\n" != 'arg\r\n'
|
|
||||||
+ arg
|
|
||||||
- usage: test-module [-h] {arg}
|
|
||||||
- test-module: error: argument arg: invalid choice: 'a' (choose from 'arg')
|
|
||||||
|
|
||||||
Fixes https://github.com/kislyuk/argcomplete/issues/440
|
|
||||||
---
|
|
||||||
argcomplete/_check_console_script.py | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/argcomplete/_check_console_script.py b/argcomplete/_check_console_script.py
|
|
||||||
index 3f838e4..7bbe59a 100644
|
|
||||||
--- a/argcomplete/_check_console_script.py
|
|
||||||
+++ b/argcomplete/_check_console_script.py
|
|
||||||
@@ -38,7 +38,8 @@ def main():
|
|
||||||
|
|
||||||
# The importlib_metadata backport returns a tuple of entry point objects
|
|
||||||
# whereas the official library returns a SelectableGroups object
|
|
||||||
- if not use_entry_points_backport:
|
|
||||||
+ # Python 3.12+ behaves like the importlib_metadata backport
|
|
||||||
+ if not use_entry_points_backport and sys.version_info < (3, 12):
|
|
||||||
entry_points = entry_points["console_scripts"]
|
|
||||||
|
|
||||||
entry_points = [ep for ep in entry_points \
|
|
||||||
--
|
|
||||||
2.41.0
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
|||||||
From 999d3b16dd40a3b8b70c3c21a08365da6cfe867b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alex <76689481+flu0r1ne@users.noreply.github.com>
|
|
||||||
Date: Sun, 4 Jun 2023 20:43:41 -0500
|
|
||||||
Subject: [PATCH] Ensure Python 3.7 compatibility in check_console_script
|
|
||||||
(#436)
|
|
||||||
|
|
||||||
* Ensure Py3.7 compatibility in check_console_script
|
|
||||||
|
|
||||||
The importlib backport, `importlib_metadata`, returns a tuple of
|
|
||||||
entry points instead of a dictionary keyed by entry group. This inconsistency
|
|
||||||
caused a KeyError exception to be thrown. To resolve this issue, the script has
|
|
||||||
been adjusted to maintain compatibility with Python 3.7, as specified in
|
|
||||||
`setup.py`.
|
|
||||||
---
|
|
||||||
argcomplete/_check_console_script.py | 16 +++++++++++++++-
|
|
||||||
1 file changed, 15 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/argcomplete/_check_console_script.py b/argcomplete/_check_console_script.py
|
|
||||||
index fdfb88f..3f838e4 100644
|
|
||||||
--- a/argcomplete/_check_console_script.py
|
|
||||||
+++ b/argcomplete/_check_console_script.py
|
|
||||||
@@ -16,8 +16,12 @@ import sys
|
|
||||||
|
|
||||||
try:
|
|
||||||
from importlib.metadata import entry_points as importlib_entry_points
|
|
||||||
+ from importlib.metadata import EntryPoint
|
|
||||||
+ use_entry_points_backport = False
|
|
||||||
except ImportError:
|
|
||||||
from importlib_metadata import entry_points as importlib_entry_points
|
|
||||||
+ from importlib_metadata import EntryPoint
|
|
||||||
+ use_entry_points_backport = True
|
|
||||||
|
|
||||||
from ._check_module import ArgcompleteMarkerNotFound, find
|
|
||||||
|
|
||||||
@@ -29,7 +33,17 @@ def main():
|
|
||||||
# Find the module and function names that correspond to this
|
|
||||||
# assuming it is actually a console script.
|
|
||||||
name = os.path.basename(script_path)
|
|
||||||
- entry_points = [ep for ep in importlib_entry_points()["console_scripts"] if ep.name == name]
|
|
||||||
+
|
|
||||||
+ entry_points = importlib_entry_points()
|
|
||||||
+
|
|
||||||
+ # The importlib_metadata backport returns a tuple of entry point objects
|
|
||||||
+ # whereas the official library returns a SelectableGroups object
|
|
||||||
+ if not use_entry_points_backport:
|
|
||||||
+ entry_points = entry_points["console_scripts"]
|
|
||||||
+
|
|
||||||
+ entry_points = [ep for ep in entry_points \
|
|
||||||
+ if ep.name == name and ep.group == "console_scripts" ]
|
|
||||||
+
|
|
||||||
if not entry_points:
|
|
||||||
raise ArgcompleteMarkerNotFound('no entry point found matching script')
|
|
||||||
entry_point = entry_points[0]
|
|
||||||
--
|
|
||||||
2.40.1
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
|||||||
From 0c7610ecd087b5f906772db7f5085db3b38e83c1 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hrn=C4=8Diar?= <thrnciar@redhat.com>
|
|
||||||
Date: Wed, 5 Jan 2022 08:40:21 +0100
|
|
||||||
Subject: [PATCH] Remove commit hash from Fish version
|
|
||||||
|
|
||||||
---
|
|
||||||
test/test.py | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/test/test.py b/test/test.py
|
|
||||||
index c2396ce..75e281c 100755
|
|
||||||
--- a/test/test.py
|
|
||||||
+++ b/test/test.py
|
|
||||||
@@ -31,7 +31,7 @@ COMP_WORDBREAKS = " \t\n\"'><=;|&(:"
|
|
||||||
BASH_VERSION = subprocess.check_output(['bash', '-c', 'echo $BASH_VERSION']).decode()
|
|
||||||
BASH_MAJOR_VERSION = int(BASH_VERSION.split('.')[0])
|
|
||||||
FISH_VERSION_STR = subprocess.check_output(['fish', '-c', 'echo -n $version']).decode()
|
|
||||||
-FISH_VERSION_TUPLE = tuple(int(x) for x in FISH_VERSION_STR.split('.'))
|
|
||||||
+FISH_VERSION_TUPLE = tuple(int(x) for x in FISH_VERSION_STR.split('-',1)[0].split('.'))
|
|
||||||
|
|
||||||
|
|
||||||
class TempDir(object):
|
|
||||||
--
|
|
||||||
2.33.1
|
|
||||||
|
|
@ -7,34 +7,18 @@
|
|||||||
|
|
||||||
Name: python-argcomplete
|
Name: python-argcomplete
|
||||||
Summary: Bash tab completion for argparse
|
Summary: Bash tab completion for argparse
|
||||||
Version: 2.0.0
|
Version: 3.1.4
|
||||||
Release: %autorelease
|
Release: %autorelease
|
||||||
License: Apache-2.0
|
License: Apache-2.0
|
||||||
URL: https://github.com/kislyuk/argcomplete
|
URL: https://github.com/kislyuk/argcomplete
|
||||||
Source0: %pypi_source argcomplete
|
Source0: %pypi_source argcomplete
|
||||||
|
|
||||||
# Fish in Fedora contains git hash in version which breaks tests,
|
|
||||||
# this patch removes it
|
|
||||||
Patch: Remove-commit-hash-from-Fish-version.patch
|
|
||||||
|
|
||||||
# Ensure Python 3.7+ compatibility in check_console_script
|
|
||||||
# Rebased from https://github.com/kislyuk/argcomplete/commit/f4d046c0ce
|
|
||||||
# Partial fix for https://bugzilla.redhat.com/2231593
|
|
||||||
Patch: Ensure-Python-3.7-compatibility-in-check_console_script.patch
|
|
||||||
|
|
||||||
# Ensure Python 3.12+ compatibility in check_console_script
|
|
||||||
# Rebased from https://github.com/kislyuk/argcomplete/pull/448
|
|
||||||
# A second part of the fix for https://bugzilla.redhat.com/2231593
|
|
||||||
Patch: Ensure-Python-3.12-compatibility-in-check_console_script.patch
|
|
||||||
|
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
|
|
||||||
%if %{with check}
|
%if %{with check}
|
||||||
BuildRequires: tcsh
|
BuildRequires: tcsh
|
||||||
BuildRequires: fish
|
BuildRequires: fish
|
||||||
BuildRequires: /usr/bin/pip
|
BuildRequires: zsh
|
||||||
BuildRequires: python3-pexpect
|
|
||||||
BuildRequires: python3-wheel
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
@ -61,8 +45,8 @@ Summary: %{summary}
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n argcomplete-%{version}
|
%autosetup -p1 -n argcomplete-%{version}
|
||||||
# Remove useless BRs
|
# Remove useless BRs (aka linters)
|
||||||
sed -i -r -e '/tests_require = /s/"(coverage|flake8|wheel)"[, ]*//g' setup.py
|
sed -i -r -e '/test = /s/"(coverage|ruff|mypy)"[, ]*//g' pyproject.toml
|
||||||
|
|
||||||
# https://github.com/kislyuk/argcomplete/issues/255
|
# https://github.com/kislyuk/argcomplete/issues/255
|
||||||
# https://github.com/kislyuk/argcomplete/issues/256
|
# https://github.com/kislyuk/argcomplete/issues/256
|
||||||
@ -81,16 +65,16 @@ sed -i -e "s|python |python3 |" test/test.py
|
|||||||
|
|
||||||
|
|
||||||
# do not attempt to install to %%bash_completions_dir, see https://bugzilla.redhat.com/2211862
|
# do not attempt to install to %%bash_completions_dir, see https://bugzilla.redhat.com/2211862
|
||||||
install -Dp -m0644 argcomplete/bash_completion.d/%{name} %{buildroot}%{_sysconfdir}/bash_completion.d/%{name}
|
install -Dp -m0644 argcomplete/bash_completion.d/_%{name} %{buildroot}%{_sysconfdir}/bash_completion.d/_%{name}
|
||||||
|
|
||||||
%if %{with check}
|
%if %{with check}
|
||||||
%check
|
%check
|
||||||
# workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1914782
|
# Disable zsh tests. They fail for mysterious reasons.
|
||||||
# upstream: https://github.com/kislyuk/argcomplete/issues/337
|
# https://github.com/kislyuk/argcomplete/issues/447
|
||||||
echo "set enable-bracketed-paste off" > .inputrc
|
%{py3_test_envvars} %{python3} test/test.py -v -k "TestArgcomplete"
|
||||||
export INPUTRC=$PWD/.inputrc
|
%{py3_test_envvars} %{python3} test/test.py -v -k "TestBash"
|
||||||
|
%{py3_test_envvars} %{python3} test/test.py -v -k "TestCheckModule"
|
||||||
%{python3} setup.py test
|
%{py3_test_envvars} %{python3} test/test.py -v -k "TestSplitLine"
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files -n python3-argcomplete -f %{pyproject_files}
|
%files -n python3-argcomplete -f %{pyproject_files}
|
||||||
@ -98,9 +82,8 @@ export INPUTRC=$PWD/.inputrc
|
|||||||
%doc README.rst
|
%doc README.rst
|
||||||
%{_bindir}/activate-global-python-argcomplete
|
%{_bindir}/activate-global-python-argcomplete
|
||||||
%{_bindir}/python-argcomplete-check-easy-install-script
|
%{_bindir}/python-argcomplete-check-easy-install-script
|
||||||
%{_bindir}/python-argcomplete-tcsh
|
|
||||||
%{_bindir}/register-python-argcomplete
|
%{_bindir}/register-python-argcomplete
|
||||||
%{_sysconfdir}/bash_completion.d/%{name}
|
%{_sysconfdir}/bash_completion.d/_%{name}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
%autochangelog
|
%autochangelog
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (argcomplete-2.0.0.tar.gz) = ef2a551e1372ecf3739006fe2c020e9f7ec53c5809680dcd3d9d552290565d8d09ba22bcc989f40644120a129b101f8e2e8ed34723e947a7d8d7884e9b502c31
|
SHA512 (argcomplete-3.1.4.tar.gz) = d5108273fb570ec42667acefd1cf397e2fbedb3d4fbc31bb2b3206cdbb3275fde88b4d40e9dc65045b6a94334e6b5b9136054c6291edc21dcd0542f1369fe4b1
|
||||||
|
Loading…
Reference in New Issue
Block a user