diff --git a/.gitignore b/.gitignore index 714ce90..1a21c7e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,17 +1 @@ -/argcomplete-0.6.3.tar.gz -/argcomplete-0.6.7.tar.gz -/argcomplete-0.7.0.tar.gz -/argcomplete-0.7.1.tar.gz -/argcomplete-0.8.0.tar.gz -/argcomplete-0.8.4.tar.gz -/argcomplete-0.8.1.tar.gz -/argcomplete-0.8.8.tar.gz -/argcomplete-0.8.9.tar.gz -/argcomplete-1.0.0.tar.gz -/argcomplete-1.1.0.tar.gz -/argcomplete-1.1.1.tar.gz -/argcomplete-1.7.0.tar.gz -/argcomplete-1.8.1.tar.gz -/argcomplete-1.8.2.tar.gz -/argcomplete-1.9.2.tar.gz -/argcomplete-1.9.3.tar.gz +argcomplete-3.2.2.tar.gz diff --git a/CHANGELOG.yml b/CHANGELOG.yml deleted file mode 100644 index c2ef815..0000000 --- a/CHANGELOG.yml +++ /dev/null @@ -1,6 +0,0 @@ -- nevr: python-argcomplete-1.8.1-1 - changelog: > - Update to 1.8.1 - - Full changelog available at:: https://github.com/kislyuk/argcomplete/blob/master/Changes.rst - update_type: enhancement diff --git a/gating.yaml b/gating.yaml deleted file mode 100644 index 6985029..0000000 --- a/gating.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- !Policy -product_versions: - - rhel-8 -decision_context: osci_compose_gate -rules: - - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/python-argcomplete.spec b/python-argcomplete.spec index 60d1ee3..37e9e0e 100644 --- a/python-argcomplete.spec +++ b/python-argcomplete.spec @@ -1,108 +1,254 @@ -%global modname argcomplete +## START: Set by rpmautospec +## (rpmautospec version 0.6.5) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 4; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec +# Disable check to avoid pulling unwanted package (fish) into RHEL 9 +%if 0%{?rhel} >= 9 && !0%{?epel} +%bcond_with check +%else %bcond_without check +%endif -Name: python-%{modname} -Summary: Bash tab completion for argparse -Version: 1.9.3 -Release: 6%{?dist} -License: ASL 2.0 -URL: https://github.com/kislyuk/argcomplete -Source0: %{url}/archive/v%{version}/%{modname}-%{version}.tar.gz +# Enable all tests (requires check to be true) +%bcond all_tests 1 + +Name: python-argcomplete +Summary: Bash tab completion for argparse +Version: 3.2.2 +Release: %autorelease +License: Apache-2.0 +URL: https://github.com/kislyuk/argcomplete +Source0: %pypi_source argcomplete + +BuildRequires: python3-devel %if %{with check} -BuildRequires: tcsh +BuildRequires: tcsh +BuildRequires: fish +BuildRequires: zsh %endif -BuildArch: noarch +BuildArch: noarch -%global _description \ -Argcomplete provides easy, extensible command line tab completion of\ -arguments for your Python script.\ -\ -It makes two assumptions:\ -\ - * You are using bash as your shell\ - * You are using argparse to manage your command line arguments/options\ -\ -Argcomplete is particularly useful if your program has lots of\ -options or subparsers, and if your program can dynamically suggest\ -completions for your argument/option values (for example, if the user\ -is browsing resources over the network). +%global _description %{expand: +Tab complete all the things! -%description %{_description} +Argcomplete provides easy, extensible command line tab completion of +arguments for your Python application. -%package -n python3-%{modname} +It makes two assumptions: + + - You're using bash or zsh as your shell + - You're using argparse to manage your command line arguments/options + +Argcomplete is particularly useful if your program has lots of options +or subparsers, and if your program can dynamically suggest completions +for your argument/option values (for example, if the user is browsing +resources over the network).} + +%description %_description + +%package -n python3-argcomplete Summary: %{summary} -%{?python_provide:%python_provide python3-%{modname}} -BuildRequires: python3-devel -BuildRequires: python3-setuptools -# pkg_resources module is used from python-argcomplete-check-easy-install-script -%if 0%{?rhel} && 0%{?rhel} >= 8 -Requires: platform-python-setuptools -%else -Requires: python3-setuptools -%endif - -%description -n python3-%{modname} %{_description} - -Python 3 version. +%description -n python3-argcomplete %_description %prep -%autosetup -n %{modname}-%{version} -# Remove useless BRs -sed -i -r -e '/tests_require = /s/"(coverage|flake8|wheel)"[, ]*//g' setup.py +%autosetup -p1 -n argcomplete-%{version} +# Remove useless BRs (aka linters) +sed -i -r -e '/test = /s/"(coverage|ruff|mypy)"[, ]*//g' pyproject.toml -pathfix.py -pn -i %{__python3} test/test.py -pathfix.py -pn -i %{__python3} scripts/activate-global-python-argcomplete -pathfix.py -pn -i %{__python3} scripts/python-argcomplete-check-easy-install-script -pathfix.py -pn -i %{__python3} scripts/register-python-argcomplete +# https://github.com/kislyuk/argcomplete/issues/255 +# https://github.com/kislyuk/argcomplete/issues/256 +sed -i -e "1s|#!.*python.*|#!%{__python3}|" test/prog scripts/* +sed -i -e "s|python |python3 |" test/test.py + +%generate_buildrequires +%pyproject_buildrequires %{?with_check:-x test} %build -%py3_build +%pyproject_wheel %install -%py3_install -mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d/ -install -p -m0644 %{buildroot}%{python3_sitelib}/%{modname}/bash_completion.d/python-argcomplete.sh %{buildroot}%{_sysconfdir}/bash_completion.d/ +%pyproject_install +%pyproject_save_files argcomplete + + +# 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} %if %{with check} %check -export LC_ALL=C.UTF-8 - -# FIXME: Tests depend on Python 2, they aren't compatible with Python 3 -#{__python3} setup.py test -# - Dropped test dependency on python3-pexpect since the tests weren't being -# run, and python3-pexpect is being dropped from RHEL8 as part of component -# trimming. If tests are needed in the future, they can be run by QE. - +%if %{with all_tests} +%{py3_test_envvars} %{python3} test/test.py -v +%else +# 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 %endif -%files -n python3-%{modname} +%files -n python3-argcomplete -f %{pyproject_files} %license LICENSE.rst %doc README.rst -%{python3_sitelib}/%{modname}-*.egg-info/ -%{python3_sitelib}/%{modname}/ %{_bindir}/activate-global-python-argcomplete %{_bindir}/python-argcomplete-check-easy-install-script -%{_bindir}/python-argcomplete-tcsh %{_bindir}/register-python-argcomplete -%{_sysconfdir}/bash_completion.d/python-argcomplete.sh +%{_sysconfdir}/bash_completion.d/_%{name} %changelog -* Fri Nov 16 2018 Lumír Balhar - 1.9.3-6 -- Require platform-python-setuptools instead of python3-setuptools -- Resolves: rhbz#1650517 +## START: Generated by rpmautospec +* Tue Oct 29 2024 Troy Dawson - 3.2.2-4 +- Bump release for October 2024 mass rebuild: -* Tue Jun 12 2018 Tomas Orsava - 1.9.3-5 -- Dropped test dependency on python3-pexpect since the tests weren't being - run, and python3-pexpect is being dropped from RHEL8 as part of component - trimming. If tests are needed in the future, they can be run by QE. +* Mon Jun 24 2024 Troy Dawson - 3.2.2-3 +- Bump release for June 2024 mass rebuild -* Tue May 29 2018 Petr Viktorin - 1.9.3-4 -- Remove the Python 2 version -- Point shebangs to Python 3 -- Skip tests (which depend on Python 2) +* Tue Feb 06 2024 Sandro - 3.2.2-2 +- Add Packit config + +* Tue Feb 06 2024 Sandro - 3.2.2-1 +- Update to 3.2.2 (RHBZ#2259943) + +* Fri Jan 26 2024 Fedora Release Engineering - 3.2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 3.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Dec 13 2023 Sandro - 3.2.1-1 +- Update to 3.2.1 (RHBZ#2175448) + +* Sun Dec 10 2023 Sandro - 3.2.0-1 +- Update to 3.2.0 (RHBZ#2175448) +- Drop patches (merged upstream) + +* Sat Nov 25 2023 Sandro - 3.1.6-2 +- Apply patches from upstream regarding zsh tests + +* Mon Nov 13 2023 Sandro - 3.1.6-1 +- Update to 3.1.6 (RHBZ#2175448) + +* Thu Nov 09 2023 Sandro - 3.1.4-3 +- Add conditional for running all tests + +* Thu Nov 09 2023 Sandro - 3.1.4-2 +- Update description + +* Thu Nov 09 2023 Sandro - 3.1.4-1 +- 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 + +* Thu Sep 14 2023 Miro Hrončok - 2.0.0-12 +- Second attempt to fix KeyError: 'console_scripts' +- Fixes: rhbz#2231593 + +* Sun Aug 13 2023 Miro Hrončok - 2.0.0-11 +- Fix KeyError: 'console_scripts' +- Fixes: rhbz#2231593 + +* Fri Jul 21 2023 Fedora Release Engineering - 2.0.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jun 14 2023 Python Maint - 2.0.0-9 +- Rebuilt for Python 3.12 + +* Mon Jun 05 2023 Miro Hrončok - 2.0.0-8 +- Move the Bash completion files to /etc/bash_completion.d to fix rhbz#2211862 + +* Mon May 22 2023 Miro Hrončok - 2.0.0-7 +- Fix build with pip 23.1.2+ +- Fixes: rhbz#2209020 + +* Fri Jan 20 2023 Fedora Release Engineering - 2.0.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Nov 12 2022 Todd Zullinger - 2.0.0-5 +- Install bash-completion in default location + +* Fri Jul 22 2022 Fedora Release Engineering - 2.0.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 2.0.0-3 +- Rebuilt for Python 3.11 + +* Fri Jan 21 2022 Fedora Release Engineering - 2.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Jan 04 2022 Tomáš Hrnčiar - 2.0.0-1 +- Update to 2.0.0 +- Fixes: rhbz#2036728 +- Fixes: rhbz#2034200 + +* Fri Jul 23 2021 Fedora Release Engineering - 1.12.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jun 03 2021 Python Maint - 1.12.3-2 +- Rebuilt for Python 3.10 + +* Thu Apr 29 2021 Tomas Hrnciar - 1.12.3-1 +- Update to 1.12.3 +- Resolves: rhbz#1951096 + +* Wed Feb 17 2021 Lumír Balhar - 1.12.2-1 +- Update to 1.12.2 +Resolves: rhbz#1882968 + +* Wed Jan 27 2021 Fedora Release Engineering - 1.12.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.12.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 24 2020 Miro Hrončok - 1.12.0-1 +- Update to 1.12.0 +- Fixes rhbz#1856103 + +* Sat May 23 2020 Miro Hrončok - 1.11.1-2 +- Rebuilt for Python 3.9 + +* Fri Feb 28 2020 Miro Hrončok - 1.11.1-1 +- Update to 1.11.1 (#1709038) +- Fix tests with Fish 3.1 (#1808322) + +* Thu Jan 30 2020 Fedora Release Engineering - 1.10.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Oct 03 2019 Miro Hrončok - 1.10.0-3 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Fri Aug 16 2019 Miro Hrončok - 1.10.0-2 +- Rebuilt for Python 3.8 + +* Thu Jul 25 2019 Pierre-Yves Chibon - 1.10.0-1 +- Update to 1.10.0 +- Adjust source0 to point to pypi + +* Tue Apr 02 2019 Miro Hrončok - 1.9.5-1 +- Update to 1.9.5 + +* Sat Feb 02 2019 Fedora Release Engineering - 1.9.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sun Aug 12 2018 Igor Gnatenko - 1.9.4-1 +- Update to 1.9.4 +- Drop python2 subpackage + +* Fri Jul 13 2018 Fedora Release Engineering - 1.9.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Jun 15 2018 Miro Hrončok - 1.9.3-4 +- Rebuilt for Python 3.7 * Fri Feb 09 2018 Igor Gnatenko - 1.9.3-3 - Escape macros in %%changelog @@ -210,3 +356,5 @@ export LC_ALL=C.UTF-8 * Thu Jan 31 2013 - Marco Neciarini 0.3.5-1 - Initial packaging. + +## END: Generated by rpmautospec diff --git a/sources b/sources index adfd175..894b9eb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (argcomplete-1.9.3.tar.gz) = 6f793b1f34df171478af2c477b5ddeff3f44a4c08d1a9205cff19fcc97e65d19a39ddd5c1d7653a70c738507ee1fb5603c437e16e64b3943a87247426bd270b6 +SHA512 (argcomplete-3.2.2.tar.gz) = dd94795c561a692286341be234cd15ae684f0af6b11475322e6d616e640c27e7c9d9c73686790cecc09535b7f1287f95be2faa8b62329b12a6dbf9e2d403e439 diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100644 index 10c86cd..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- -- hosts: localhost - tags: - - classic - pre_tasks: - - name: Copy spec file to remote machine - copy: - src: "{{ playbook_dir }}/../python-argcomplete.spec" - dest: /tmp/python-argcomplete.spec - - name: Install build dependencies - shell: dnf -y build-dep /tmp/python-argcomplete.spec - args: - warn: false - roles: - - role: standard-test-source - - role: standard-test-basic - tests: - - smoke: - dir: ./source - run: sed -i -e "1s|#!.*python.*|#!/usr/bin/python3|" test/prog scripts/* && - sed -i -e "s|python |python3 |" test/test.py && - python3 setup.py test