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.3.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 | ||||
| Summary:       Bash tab completion for argparse | ||||
| Version:       2.0.0 | ||||
| Version:       3.1.4 | ||||
| Release:       %autorelease | ||||
| License:       Apache-2.0 | ||||
| URL:           https://github.com/kislyuk/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 | ||||
| 
 | ||||
| %if %{with check} | ||||
| BuildRequires: tcsh | ||||
| BuildRequires: fish | ||||
| BuildRequires: /usr/bin/pip | ||||
| BuildRequires: python3-pexpect | ||||
| BuildRequires: python3-wheel | ||||
| BuildRequires: zsh | ||||
| %endif | ||||
| 
 | ||||
| BuildArch:     noarch | ||||
| @ -61,8 +45,8 @@ Summary:        %{summary} | ||||
| 
 | ||||
| %prep | ||||
| %autosetup -p1 -n argcomplete-%{version} | ||||
| # Remove useless BRs | ||||
| sed -i -r -e '/tests_require = /s/"(coverage|flake8|wheel)"[, ]*//g' setup.py | ||||
| # Remove useless BRs (aka linters) | ||||
| 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/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 | ||||
| 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} | ||||
| %check | ||||
| # workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1914782 | ||||
| # upstream: https://github.com/kislyuk/argcomplete/issues/337 | ||||
| echo "set enable-bracketed-paste off" > .inputrc | ||||
| export INPUTRC=$PWD/.inputrc | ||||
| 
 | ||||
| %{python3} setup.py test | ||||
| # Disable zsh tests. They fail for mysterious reasons. | ||||
| # https://github.com/kislyuk/argcomplete/issues/447 | ||||
| %{py3_test_envvars} %{python3} test/test.py -v -k "TestArgcomplete" | ||||
| %{py3_test_envvars} %{python3} test/test.py -v -k "TestBash" | ||||
| %{py3_test_envvars} %{python3} test/test.py -v -k "TestCheckModule" | ||||
| %{py3_test_envvars} %{python3} test/test.py -v -k "TestSplitLine" | ||||
| %endif | ||||
| 
 | ||||
| %files -n python3-argcomplete -f %{pyproject_files} | ||||
| @ -98,9 +82,8 @@ export INPUTRC=$PWD/.inputrc | ||||
| %doc README.rst | ||||
| %{_bindir}/activate-global-python-argcomplete | ||||
| %{_bindir}/python-argcomplete-check-easy-install-script | ||||
| %{_bindir}/python-argcomplete-tcsh | ||||
| %{_bindir}/register-python-argcomplete | ||||
| %{_sysconfdir}/bash_completion.d/%{name} | ||||
| %{_sysconfdir}/bash_completion.d/_%{name} | ||||
| 
 | ||||
| %changelog | ||||
| %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