diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index 12c5076..14dd33f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,22 +1,2 @@ /packaging-16.7.tar.gz /packaging-16.8.tar.gz -/packaging-17.1.tar.gz -/packaging-19.0.tar.gz -/packaging-19.2.tar.gz -/packaging-20.0.tar.gz -/packaging-20.1.tar.gz -/packaging-20.3.tar.gz -/packaging-20.4.tar.gz -/packaging-20.7.tar.gz -/packaging-20.8.tar.gz -/packaging-20.9.tar.gz -/packaging-21.0.tar.gz -/packaging-21.2.tar.gz -/packaging-21.3.tar.gz -/packaging-23.0.tar.gz -/packaging-23.1.tar.gz -/packaging-23.2.tar.gz -/packaging-24.0.tar.gz -/packaging-24.1.tar.gz -/packaging-24.2.tar.gz -/packaging-25.0.tar.gz diff --git a/changelog b/changelog deleted file mode 100644 index c998f50..0000000 --- a/changelog +++ /dev/null @@ -1,199 +0,0 @@ -* Sat Nov 09 2024 Lumír Balhar - 24.2-1 -- Update to 24.2 (rhbz#2324709) - -* Fri Jul 19 2024 Fedora Release Engineering - 24.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Mon Jun 10 2024 Lumír Balhar - 24.1-1 -- Update to 24.1 (rhbz#2291172) - -* Sun Jun 09 2024 Python Maint - 24.0-3 -- Rebuilt for Python 3.13 - -* Thu Jun 06 2024 Python Maint - 24.0-2 -- Bootstrap for Python 3.13 - -* Mon Mar 11 2024 Lumír Balhar - 24.0-1 -- Update to 24.0 (rhbz#2268783) - -* Fri Jan 26 2024 Fedora Release Engineering - 23.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Jan 22 2024 Fedora Release Engineering - 23.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Oct 09 2023 Miro Hrončok - 23.2-2 -- Use the furo Sphinx theme, as intended upstream - -* Mon Oct 02 2023 Lumír Balhar - 23.2-1 -- Update to 23.2 (rhbz#2241653) - -* Tue Aug 08 2023 Karolina Surma - 23.1-5 -- Declare the license as an SPDX expression - -* Fri Jul 21 2023 Fedora Release Engineering - 23.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Fri Jun 16 2023 Python Maint - 23.1-3 -- Rebuilt for Python 3.12 - -* Tue Jun 13 2023 Python Maint - 23.1-2 -- Bootstrap for Python 3.12 - -* Mon Apr 17 2023 Lumír Balhar - 23.1-1 -- Update to 23.1 (rhbz#2186423) - -* Fri Feb 03 2023 Tomáš Hrnčiar - 23.0-1 -- Update to 23.0.0 -- https://fedoraproject.org/wiki/Changes/Update_python-packaging_to_version_22_plus -- Fixes: rhbz#2151743 - -* Fri Jan 20 2023 Fedora Release Engineering - 21.3-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Tue Aug 23 2022 Miro Hrončok - 21.3-7 -- Fix tests on Big Endian builders - -* Fri Jul 22 2022 Fedora Release Engineering - 21.3-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Tue Jul 19 2022 Zbigniew Jędrzejewski-Szmek - 21.3-5 -- Rebuilt for pyparsing-3.0.9 - -* Mon Jun 13 2022 Python Maint - 21.3-4 -- Rebuilt for Python 3.11 - -* Mon Jun 13 2022 Python Maint - 21.3-3 -- Bootstrap for Python 3.11 - -* Fri Jan 21 2022 Fedora Release Engineering - 21.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Thu Nov 18 2021 Lumír Balhar - 21.3-1 -- Update to 21.3 -Resolves: rhbz#2024413 - -* Mon Nov 01 2021 Lumír Balhar - 21.2-1 -- Update to 21.2 -Resolves: rhbz#2018534 - -* Fri Jul 23 2021 Fedora Release Engineering - 21.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jul 07 2021 Lumír Balhar - 21.0-1 -- Update to 21.0 -Resolves: rhbz#1978925 - -* Thu Jun 03 2021 Python Maint - 20.9-3 -- Rebuilt for Python 3.10 - -* Tue Jun 01 2021 Python Maint - 20.9-2 -- Bootstrap for Python 3.10 - -* Mon Feb 01 2021 Lumír Balhar - 20.9-1 -- Update to 20.9 -Resolves: rhbz#1922545 - -* Wed Jan 27 2021 Fedora Release Engineering - 20.8-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Dec 14 2020 Lumír Balhar - 20.8-1 -- Update to 20.8 (#1906985) - -* Mon Nov 30 2020 Lumír Balhar - 20.7-1 -- Update to 20.7 (#1902369) - -* Fri Oct 02 2020 Miro Hrončok - 20.4-3 -- Drop the dependency on six to make the package lighter - -* Wed Jul 29 2020 Fedora Release Engineering - 20.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jun 01 2020 Lumír Balhar - 20.4-1 -- Update to 20.4 (#1838285) - -* Sat May 23 2020 Miro Hrončok - 20.3-3 -- Rebuilt for Python 3.9 - -* Fri May 22 2020 Miro Hrončok - 20.3-2 -- Bootstrap for Python 3.9 - -* Fri Mar 06 2020 Lumír Balhar - 20.3-1 -- Update to 20.3 (#1810738) - -* Thu Jan 30 2020 Fedora Release Engineering - 20.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Mon Jan 27 2020 Lumír Balhar - 20.1-1 -- Update to 20.1 (#1794865) - -* Mon Jan 06 2020 Lumír Balhar - 20.0-2 -- Ignore broken tests - -* Mon Jan 06 2020 Lumír Balhar - 20.0-1 -- Update to 20.0 (#1788012) - -* Thu Sep 26 2019 Lumír Balhar - 19.2-1 -- New upstream version 19.2 (bz#1742388) - -* Mon Sep 23 2019 Lumír Balhar - 19.0-6 -- Remove Python 2 subpackage -- Make spec fedora-specific - -* Mon Sep 02 2019 Miro Hrončok - 19.0-5 -- Reduce Python 2 build time dependencies - -* Fri Aug 16 2019 Miro Hrončok - 19.0-4 -- Rebuilt for Python 3.8 - -* Thu Aug 15 2019 Miro Hrončok - 19.0-3 -- Bootstrap for Python 3.8 - -* Fri Jul 26 2019 Fedora Release Engineering - 19.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Mon Feb 04 2019 Lumír Balhar - 19.0-1 -- New upstream version - -* Sat Feb 02 2019 Fedora Release Engineering - 17.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Tue Jul 31 2018 Charalampos Stratakis - 17.1-1 -- Update to 17.1 - -* Sat Jul 14 2018 Fedora Release Engineering - 16.8-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Sat Jun 16 2018 Miro Hrončok - 16.8-10 -- Rebuilt for Python 3.7 - -* Thu Jun 14 2018 Miro Hrončok - 16.8-9 -- Bootstrap for Python 3.7 - -* Fri Feb 09 2018 Iryna Shcherbina - 16.8-8 -- Update Python 2 dependency declarations to new packaging standards - (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) - -* Fri Feb 09 2018 Fedora Release Engineering - 16.8-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 16.8-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Wed Mar 22 2017 Lumir Balhar - 16.8-5 -- Epel7 compatible spec/package - -* Mon Feb 13 2017 Charalampos Stratakis - 16.8-4 -- Rebuild as wheel - -* Sat Feb 11 2017 Fedora Release Engineering - 16.8-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Mon Dec 19 2016 Miro Hrončok - 16.8-2 -- Rebuild for Python 3.6 - -* Wed Nov 02 2016 Lumir Balhar - 16.8-1 -- New upstream version - -* Fri Sep 16 2016 Lumir Balhar - 16.7-1 -- Initial package. diff --git a/gating.yaml b/gating.yaml deleted file mode 100644 index 282e16b..0000000 --- a/gating.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- !Policy -product_versions: - - fedora-* -decision_context: bodhi_update_push_stable -subject_type: koji_build -rules: - - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} diff --git a/plan.fmf b/plan.fmf deleted file mode 100644 index bd248b6..0000000 --- a/plan.fmf +++ /dev/null @@ -1,51 +0,0 @@ -execute: - how: tmt - -discover: - - name: same_repo - how: shell - tests: - - name: smoke - test: ./smoke/runtest.sh - path: /tests - - name: rpms_pyproject-rpm-macros - how: shell - url: https://src.fedoraproject.org/rpms/pyproject-rpm-macros.git - tests: - - name: pyproject_pytest - path: /tests - test: ./mocktest.sh python-pytest - - name: pyproject_entrypoints - path: /tests - test: ./mocktest.sh python-entrypoints - - name: pyproject_pluggy - path: /tests - test: ./mocktest.sh python-pluggy - - name: pyproject_clikit - path: /tests - test: ./mocktest.sh python-clikit - - name: rpms_python-rpm-generators - how: shell - test: | - # Need to clone on our own, tmt clones it into 'tests' subdirectory - # which breaks fedpkg-minimal pkgname detection - git clone --depth=1 https://src.fedoraproject.org/rpms/python-rpm-generators.git python-rpm-generators && - cd python-rpm-generators && - ./tests/download_data_and_run_pytest.sh -prepare: - - name: Install dependencies - how: install - package: - - fedpkg-minimal - - mock - - python3-pip - - python3-pytest - - python3-pyyaml - - python3-setuptools - - python3-wheel - - rpmdevtools - - rpm-build - - dnf - - name: Update packages - how: shell - script: dnf upgrade -y diff --git a/python-packaging.spec b/python-packaging.spec index 3ccae48..ea93e7a 100644 --- a/python-packaging.spec +++ b/python-packaging.spec @@ -1,139 +1,196 @@ %global pypi_name packaging -# Specify --with bootstrap to build in bootstrap mode -# This mode is needed, because python3-rpm-generators need packaging -%bcond_with bootstrap - -# When bootstrapping, the tests and docs are disabled because the dependencies are not yet available. -# We don't want python-pretend in future RHEL, so we disable tests on RHEL as well. -# No reason to ship the documentation in RHEL either, so it is also disabled by default. -%if %{without bootstrap} && %{undefined rhel} -# Specify --without docs to prevent the dependency loop on python-sphinx -# Doc subpackage is disabled because it requires sphinx-toolbox since packaging 24.1 -# and that package is not available in Fedora yet. -%bcond_with docs - -# Specify --without tests to prevent the dependency loop on python-pytest -%bcond_without tests -%else -%bcond_with docs -%bcond_with tests +%if 0%{?fedora} +%global build_wheel 1 +%global with_python3 1 %endif +%global python2_wheelname %{pypi_name}-%{version}-py2.py3-none-any.whl +%global python3_wheelname %python2_wheelname + Name: python-%{pypi_name} -Version: 25.0 -Release: %autorelease +Version: 16.8 +Release: 8%{?dist} Summary: Core utilities for Python packages -License: BSD-2-Clause OR Apache-2.0 +License: BSD or ASL 2.0 URL: https://github.com/pypa/packaging -Source0: %{url}/archive/%{version}/%{pypi_name}-%{version}.tar.gz - +Source0: https://files.pythonhosted.org/packages/source/p/%{pypi_name}/%{pypi_name}-%{version}.tar.gz BuildArch: noarch -BuildRequires: python%{python3_pkgversion}-devel -BuildRequires: pyproject-rpm-macros -BuildRequires: unzip - -%if %{with bootstrap} -BuildRequires: python%{python3_pkgversion}-flit-core +# Dependencies with different names in Fedora and Epel7 +%if 0%{?fedora} +BuildRequires: python2-setuptools +BuildRequires: python2-devel +BuildRequires: python2-pytest +BuildRequires: python2-pyparsing +%else +BuildRequires: python-setuptools +BuildRequires: python-devel +BuildRequires: pytest +BuildRequires: pyparsing +BuildRequires: python-sphinx %endif -# Upstream uses nox for testing, we specify the test deps manually as well. -%if %{with tests} +BuildRequires: python2-pretend +BuildRequires: python2-six + +# Build Python 3 subpackage only for Fedora +%if 0%{?with_python3} +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-pytest BuildRequires: python%{python3_pkgversion}-pretend -%endif -%if %{with docs} +BuildRequires: python%{python3_pkgversion}-pyparsing +BuildRequires: python%{python3_pkgversion}-six BuildRequires: python%{python3_pkgversion}-sphinx -BuildRequires: python%{python3_pkgversion}-furo %endif +%if 0%{?build_wheel} +BuildRequires: python2-pip +BuildRequires: python2-wheel +%if 0%{?with_python3} +BuildRequires: python%{python3_pkgversion}-pip +BuildRequires: python%{python3_pkgversion}-wheel +%endif +%endif -%global _description %{expand: +%description python-packaging provides core utilities for Python packages like utilities for -dealing with versions, specifiers, markers etc.} +dealing with versions, specifiers, markers etc. -%description %_description +%package -n python2-%{pypi_name} +Summary: %{summary} +%{?python_provide:%python_provide python2-%{pypi_name}} +%if 0%{?fedora} +Requires: python2-pyparsing +%else +Requires: pyparsing +%endif +Requires: python2-six + +%description -n python2-%{pypi_name} +python2-packaging provides core utilities for Python packages like utilities for +dealing with versions, specifiers, markers etc. + +%if 0%{?with_python3} %package -n python%{python3_pkgversion}-%{pypi_name} Summary: %{summary} - -%if %{with bootstrap} -Provides: python%{python3_pkgversion}dist(packaging) = %{version} -Provides: python%{python3_version}dist(packaging) = %{version} -Requires: python(abi) = %{python3_version} +%{?python_provide:%python_provide python%{python3_pkgversion}-%{pypi_name}} + +Requires: python%{python3_pkgversion}-pyparsing +Requires: python%{python3_pkgversion}-six +%description -n python%{python3_pkgversion}-%{pypi_name} +python3-packaging provides core utilities for Python packages like utilities for +dealing with versions, specifiers, markers etc. %endif -%description -n python%{python3_pkgversion}-%{pypi_name} %_description - - -%if %{with docs} %package -n python-%{pypi_name}-doc Summary: python-packaging documentation - %description -n python-%{pypi_name}-doc Documentation for python-packaging -%endif - %prep -%autosetup -p1 -n %{pypi_name}-%{version} - - -%if %{without bootstrap} -%generate_buildrequires -%pyproject_buildrequires -r -%endif - +%autosetup -n %{pypi_name}-%{version} +# Remove bundled egg-info +rm -rf %{pypi_name}.egg-info %build -%if %{with bootstrap} -%{python3} -m flit_core.wheel +%if 0%{?build_wheel} +%py2_build_wheel %else -%pyproject_wheel +%py2_build +%endif + +%if 0%{?with_python3} +%if 0%{?build_wheel} +%py3_build_wheel +%else +%py3_build +%endif %endif -%if %{with docs} # generate html docs +%if 0%{?with_python3} sphinx-build-3 docs html +%else +sphinx-build docs html +%endif + # remove the sphinx-build leftovers rm -rf html/.{doctrees,buildinfo} # Do not bundle fonts rm -rf html/_static/fonts/ -%endif - %install -%if %{with bootstrap} -mkdir -p %{buildroot}%{python3_sitelib} -unzip dist/packaging-%{version}-py3-none-any.whl -d %{buildroot}%{python3_sitelib} -x packaging-%{version}.dist-info/RECORD -echo '%{python3_sitelib}/packaging*' > %{pyproject_files} +%if 0%{?build_wheel} +%py2_install_wheel %{python2_wheelname} %else -%pyproject_install -%pyproject_save_files %{pypi_name} +%py2_install %endif +%if 0%{?with_python3} +%if 0%{?build_wheel} +%py3_install_wheel %{python3_wheelname} +%else +%py3_install +%endif +%endif %check -%{!?with_bootstrap:%pyproject_check_import} -%if %{with tests} -%pytest +%if 0%{?fedora} +%{__python2} -m pytest tests/ +%{__python3} -m pytest tests/ +%else +# Disable non-working tests in Epel7 +%{__python2} -m pytest --ignore=tests/test_requirements.py tests/ %endif - -%files -n python%{python3_pkgversion}-%{pypi_name} -f %{pyproject_files} +%files -n python2-%{pypi_name} %license LICENSE LICENSE.APACHE LICENSE.BSD %doc README.rst CHANGELOG.rst CONTRIBUTING.rst +%{python2_sitelib}/%{pypi_name}/ +%{python2_sitelib}/%{pypi_name}-*-info/ +%if 0%{?with_python3} +%files -n python%{python3_pkgversion}-%{pypi_name} +%license LICENSE LICENSE.APACHE LICENSE.BSD +%doc README.rst CHANGELOG.rst CONTRIBUTING.rst +%{python3_sitelib}/%{pypi_name}/ +%{python3_sitelib}/%{pypi_name}-*-info/ +%endif -%if %{with docs} %files -n python-%{pypi_name}-doc %doc html %license LICENSE LICENSE.APACHE LICENSE.BSD -%endif - %changelog -%autochangelog +* Fri Feb 09 2018 Iryna Shcherbina - 16.8-8 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Fri Feb 09 2018 Fedora Release Engineering - 16.8-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 16.8-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Mar 22 2017 Lumir Balhar - 16.8-5 +- Epel7 compatible spec/package + +* Mon Feb 13 2017 Charalampos Stratakis - 16.8-4 +- Rebuild as wheel + +* Sat Feb 11 2017 Fedora Release Engineering - 16.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro Hrončok - 16.8-2 +- Rebuild for Python 3.6 + +* Wed Nov 02 2016 Lumir Balhar - 16.8-1 +- New upstream version + +* Fri Sep 16 2016 Lumir Balhar - 16.7-1 +- Initial package. diff --git a/sources b/sources index b75606d..5a8f473 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (packaging-25.0.tar.gz) = fb8419f81f0f817440c0b297fc6e963832e219e7a324bf4e0321f1e131a4822f17a19f2eb033a8d4adb622ccb16db59776ec44906a0c0b34f2877b59b9558c18 +53895cdca04ecff80b54128e475b5d3b packaging-16.8.tar.gz diff --git a/tests/smoke/runtest.sh b/tests/smoke/runtest.sh deleted file mode 100755 index d0e4f06..0000000 --- a/tests/smoke/runtest.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -set -eux - -# Currently there is no easy way to see the versions of installed packages. -# Let's list them to make sure we're testing against the correct package set. -rpm -qa | sort -python3 -c 'import packaging' -python3 -c 'from packaging import version; version.Version("2.5.1rc2")' -python3 -c 'from packaging import specifiers; specifiers.SpecifierSet("~=1.0")' -python3 -c 'from packaging import markers; markers.Marker("python_version>'"'"'2'"'"'")' -python3 -c 'from packaging import requirements; requirements.Requirement('"'"'name[foo]>=2,<3; python_version>"2.0"'"'"')' -python3 -c 'from packaging import tags; tags.Tag("py39", "none", "any")' -python3 -c 'from packaging.utils import canonicalize_name; canonicalize_name("Django_foobar")'