diff --git a/.gitignore b/.gitignore index 0fe56ac..78be7e2 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/argparse-manpage-1.0.0.tar.gz +/argparse_manpage-*.tar.gz diff --git a/argparse-manpage.spec b/argparse-manpage.spec index 811a7f6..7d88f6f 100644 --- a/argparse-manpage.spec +++ b/argparse-manpage.spec @@ -1,7 +1,11 @@ -%if 0%{?fedora} - %bcond_without python2 - %bcond_without python3 +%global pip_module_name argparse_manpage + +%if 0%{?fedora} || 0%{?rhel} >= 9 + %bcond_without pyproject + %bcond_with python2 + %bcond_with python3 %else + %bcond_with pyproject %if 0%{?rhel} > 7 %bcond_with python2 %bcond_without python3 @@ -25,32 +29,47 @@ There is a limited support for (deprecated) optparse objects, too. Name: argparse-manpage -Version: 1.0.0 -Release: 1%{?dist} +Version: 4.7 +Release: 5%{?dist} Summary: %{sum Python} BuildArch: noarch -License: ASL 2.0 +License: Apache-2.0 URL: https://github.com/praiskup/%{name} -Source0: https://github.com/praiskup/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz +Source0: %pypi_source %pip_module_name %if %{with python2} BuildRequires: python2-setuptools python2-devel +BuildRequires: python2-packaging +BuildRequires: python2-toml %if %{with check} %if 0%{?rhel} && 0%{?rhel} == 7 -BuildRequires: pytest python-six +BuildRequires: pytest %else -BuildRequires: python2-pytest python2-six +BuildRequires: python2-pytest %endif %endif %endif + %if %{with python3} BuildRequires: python3-setuptools python3-devel +BuildRequires: python3-packaging +BuildRequires: python3-tomli %if %{with check} -BuildRequires: python3-pytest python3-six +BuildRequires: python3-pytest %endif %endif -%if %{with python3} + +%if %{with pyproject} +BuildRequires: python3-devel +# EL9 needs this explicitly +BuildRequires: pyproject-rpm-macros +%if %{with check} +BuildRequires: python3-pytest +%endif +%endif + +%if %{with python3} || %{with pyproject} Requires: python3-%name = %version-%release %else Requires: python2-%name = %version-%release @@ -62,6 +81,8 @@ Requires: python2-%name = %version-%release %package -n python2-%name Summary: %{sum Python 2} +Requires: python2-setuptools +Requires: python2-toml %description -n python2-%name %{desc} @@ -69,13 +90,26 @@ Summary: %{sum Python 2} %package -n python3-%name Summary: %{sum Python 3} +%if %{without pyproject} +Requires: python3-setuptools +%endif %description -n python3-%name %{desc} +%if %{with pyproject} +%pyproject_extras_subpkg -n python3-%{name} setuptools +%endif + + %prep -%setup -q +%setup -q -n %{pip_module_name}-%{version} + +%if %{with pyproject} +%generate_buildrequires +%pyproject_buildrequires +%endif %build @@ -85,6 +119,9 @@ Summary: %{sum Python 3} %if %{with python3} %py3_build %endif +%if %{with pyproject} +%pyproject_wheel +%endif %install @@ -94,16 +131,26 @@ Summary: %{sum Python 3} %if %{with python3} %py3_install %endif +%if %{with pyproject} +%pyproject_install +%endif %if %{with check} %check +# Disable pip build isolation to make the tests work in offline environment +# Fixes https://bugzilla.redhat.com/2417959 +export PIP_NO_BUILD_ISOLATION=0 + %if %{with python2} -PYTHONPATH=%buildroot%python2_sitearch %__python2 -m pytest +PYTHONPATH=%buildroot%python2_sitearch %__python2 -m pytest -vv %endif %if %{with python3} -PYTHONPATH=%buildroot%python3_sitearch %__python3 -m pytest +PYTHONPATH=%buildroot%python3_sitearch %__python3 -m pytest -vv +%endif +%if %{with pyproject} +%pytest -vv %endif %endif @@ -112,10 +159,10 @@ PYTHONPATH=%buildroot%python3_sitearch %__python3 -m pytest %license LICENSE %{_bindir}/argparse-manpage %_mandir/man1/argparse-manpage.1.* -%if %{with python3} -%python3_sitelib/build_manpages/cli +%if %{with python3} || %{with pyproject} +%python3_sitelib/argparse_manpage/cli.py %else -%python2_sitelib/build_manpages/cli +%python2_sitelib/argparse_manpage/cli.py %endif @@ -123,20 +170,178 @@ PYTHONPATH=%buildroot%python3_sitearch %__python3 -m pytest %files -n python2-%name %license LICENSE %python2_sitelib/build_manpages +%python2_sitelib/argparse_manpage %python2_sitelib/argparse_manpage-%{version}*.egg-info -%exclude %python2_sitelib/build_manpages/cli +%exclude %python2_sitelib/argparse_manpages/cli.py %endif -%if %{with python3} +%if %{with python3} || %{with pyproject} %files -n python3-%name %license LICENSE %python3_sitelib/build_manpages +%python3_sitelib/argparse_manpage +%if %{with pyproject} +%python3_sitelib/argparse_manpage-*dist-info +%else %python3_sitelib/argparse_manpage-%{version}*.egg-info -%exclude %python3_sitelib/build_manpages/cli +%endif +%exclude %python3_sitelib/argparse_manpage/cli.py %endif %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 4.7-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Mon Dec 01 2025 Miro Hrončok - 4.7-4 +- Fix build with pip 25.3+ +- Fixes: rhbz#2417959 + +* Fri Sep 19 2025 Python Maint - 4.7-3 +- Rebuilt for Python 3.14.0rc3 bytecode + +* Fri Aug 15 2025 Python Maint - 4.7-2 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Fri Aug 15 2025 Pavel Raiskup - 4.7-1 +- new upstream release: https://github.com/praiskup/argparse-manpage/releases/tag/v4.7 + +* Wed Jul 23 2025 Fedora Release Engineering - 4.6-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Jun 02 2025 Python Maint - 4.6-6 +- Rebuilt for Python 3.14 + +* Thu Apr 03 2025 Lumír Balhar - 4.6-5 +- Fix build with newer setuptools + +* Thu Jan 16 2025 Fedora Release Engineering - 4.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Jul 17 2024 Fedora Release Engineering - 4.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Jun 07 2024 Python Maint - 4.6-2 +- Rebuilt for Python 3.13 + +* Wed Jun 05 2024 Pavel Raiskup - 4.6-1 +- new upstream release (rhbz#2279987) + +* Mon Jan 22 2024 Fedora Release Engineering - 4.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 4.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Sep 22 2023 Pavel Raiskup - 4.5-1 +- new upstream release https://github.com/praiskup/argparse-manpage/releases/tag/v4.4 + +* Mon Sep 04 2023 Pavel Raiskup - 4.4-1 +- new upstream release: https://github.com/praiskup/argparse-manpage/releases/tag/v4.4 +- license tag in SPDX format + +* Wed Jul 19 2023 Fedora Release Engineering - 4.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jun 13 2023 Python Maint - 4.3-2 +- Rebuilt for Python 3.12 + +* Thu May 18 2023 Pavel Raiskup - 4.3-1 +- new upstream release, tomli dep instead of toml + https://github.com/praiskup/argparse-manpage/releases/tag/v4.3 + +* Sun May 14 2023 Pavel Raiskup - 4.2-1 +- new upstream release, upport for pyproject.toml specs, and --manfile option + +* Sat Apr 15 2023 Pavel Raiskup - 4.1-1 +- new `--include` feature, inspired by `help2man --include` +- allow overriding build date with SOURCE_DATE_EPOCH environment variable +- the AUTHORS section was changed to more standard AUTHOR + +* Wed Jan 18 2023 Fedora Release Engineering - 4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Oct 31 2022 Pavel Raiskup - 4-1 +- new upstream release: + https://github.com/praiskup/argparse-manpage/releases/tag/v4 + +* Fri Jul 22 2022 Charalampos Stratakis - 3-4 +- Fix tests compatibility with pip >= 21.3 + +* Wed Jul 20 2022 Fedora Release Engineering - 3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 3-2 +- Rebuilt for Python 3.11 + +* Wed Apr 27 2022 Pavel Raiskup - 3-1 +- new upstream release: https://github.com/praiskup/argparse-manpage/releases/tag/v3 + +* Thu Mar 03 2022 Pavel Raiskup - 2.2-1 +- new release - fix build for the setuptools v60+ + +* Wed Jan 19 2022 Fedora Release Engineering - 2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jan 12 2022 Pavel Raiskup - 2.1-1 +- new upstream release: + https://github.com/praiskup/argparse-manpage/releases/tag/v2.1 + +* Sun Nov 28 2021 Pavel Raiskup - 2-1 +- new upstream release: + https://github.com/praiskup/argparse-manpage/releases/tag/v2 + +* Wed Jul 21 2021 Fedora Release Engineering - 1.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 1.5-3 +- Rebuilt for Python 3.10 + +* Tue Jan 26 2021 Fedora Release Engineering - 1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Dec 14 2020 Pavel Raiskup - 1.5-1 +- new release + +* Mon Jul 27 2020 Fedora Release Engineering - 1.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 26 2020 Miro Hrončok - 1.4-3 +- Rebuilt for Python 3.9 + +* Tue Jan 28 2020 Fedora Release Engineering - 1.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jan 24 2020 Pavel Raiskup - 1.4-1 +- new release to fix testsuite against Python 3.9 + +* Tue Jan 07 2020 Pavel Raiskup - 1.3-1 +- new release + +* Sat Sep 07 2019 Pavel Raiskup - 1.2.2-1 +- new release + +* Mon Aug 19 2019 Miro Hrončok - 1.1-6 +- Rebuilt for Python 3.8 + +* Wed Jul 24 2019 Fedora Release Engineering - 1.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 1.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Oct 02 2018 Pavel Raiskup - 1.1-3 +- drop python3 on F30+ (rhbz#1634992) + +* Thu Jul 12 2018 Fedora Release Engineering - 1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jun 25 2018 Pavel Raiskup - 1.1-1 +- v1.1 + +* Tue Jun 19 2018 Miro Hrončok - 1.0.0-2 +- Rebuilt for Python 3.7 + * Mon Feb 19 2018 Pavel Raiskup - 1.0.0-1 - initial RPM packaging diff --git a/build-and-update-all-branches b/build-and-update-all-branches new file mode 100755 index 0000000..dd74154 --- /dev/null +++ b/build-and-update-all-branches @@ -0,0 +1,31 @@ +#! /bin/sh + +# Prepare master branch, review the list of branches below and then execute this +# script. + +main=main +branches="$main epel8 epel9 epel10 epel10.0 f41 f42 f43" + +exit_handler () +{ + git checkout "$main" +} + +trap exit_handler EXIT + +set -e +set -x + +koji hello + +tasks= +for branch in $branches; do + if test $branch != "$main"; then + git checkout "$branch" + git merge "$main" + fi + git push + tasks="${tasks}`fedpkg build --nowait | grep 'Created task' | cut -d: -f2`" +done + +koji watch-task $tasks diff --git a/sources b/sources index f058367..e28ee18 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (argparse-manpage-1.0.0.tar.gz) = a097e78d766617f3b5224964b5d543a289187360cf96e5ded6787e43bf520e1a7b15278c8e5d7566567748c5478da7b203f07c93f0a93739fcd6360c1ac6c7eb +SHA512 (argparse_manpage-4.7.tar.gz) = 88c2e0e0747f5950b131d5456b1bc153e64d11ca41d87e3c995d91f7ffb662685a5c58f7ea99f011151aa72e45a5bcab98ac6729e20a19d086a7798d9c783452