From c45e48eeab7109c937070c3104d2b36a29d3bfbf Mon Sep 17 00:00:00 2001 From: James Antill Date: Mon, 8 Aug 2022 14:02:31 -0400 Subject: [PATCH] Import rpm: 419429934421600cc834be5890be0400bfb7620a --- .fmf/version | 1 + .gitignore | 1 + gating.yaml | 6 ++ plans/basic.fmf | 7 ++ python-packaging.spec | 184 ++++++++++++++++++++++++++++++++++++++++++ sources | 1 + tests/main.fmf | 22 +++++ 7 files changed, 222 insertions(+) create mode 100644 .fmf/version create mode 100644 .gitignore create mode 100644 gating.yaml create mode 100644 plans/basic.fmf create mode 100644 python-packaging.spec create mode 100644 sources create mode 100644 tests/main.fmf diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f3108a5 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/packaging-19.2.tar.gz diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..648918d --- /dev/null +++ b/gating.yaml @@ -0,0 +1,6 @@ +--- !Policy +product_versions: + - rhel-9 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/plans/basic.fmf b/plans/basic.fmf new file mode 100644 index 0000000..19553de --- /dev/null +++ b/plans/basic.fmf @@ -0,0 +1,7 @@ +summary: python-packaging tests +description: + Basic python-packaging tests +discover: + how: fmf +execute: + how: tmt diff --git a/python-packaging.spec b/python-packaging.spec new file mode 100644 index 0000000..37dbbd4 --- /dev/null +++ b/python-packaging.spec @@ -0,0 +1,184 @@ +%global pypi_name packaging + +# Specify --without wheel to prevent building the wheel +%bcond_with wheel + +# Specify --without docs to prevent the dependency loop on python-sphinx +%bcond_with docs + +# Specify --without tests to prevent the dependency loop on python-pytest +%bcond_with tests + +%global python_wheelname %{pypi_name}-%{version}-py2.py3-none-any.whl + +Name: python-%{pypi_name} +Version: 19.2 +Release: 3%{?dist} +Summary: Core utilities for Python packages + +License: BSD or ASL 2.0 +URL: https://github.com/pypa/packaging +Source0: https://files.pythonhosted.org/packages/source/p/%{pypi_name}/%{pypi_name}-%{version}.tar.gz +BuildArch: noarch +# Exclude i686 arch. Due to a modularity issue it's being added to the +# x86_64 compose of CRB, but we don't want to ship it at all. +# See: https://projects.engineering.redhat.com/browse/RCM-72605 +ExcludeArch: i686 + +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-pyparsing +BuildRequires: python%{python3_pkgversion}-six +BuildRequires: python%{python3_pkgversion}-rpm-macros +%if %{with tests} +BuildRequires: python%{python3_pkgversion}-pytest +BuildRequires: python%{python3_pkgversion}-pretend +%endif +%if %{with docs} +BuildRequires: python%{python3_pkgversion}-sphinx +%endif + +%if %{with wheel} +BuildRequires: python%{python3_pkgversion}-pip +BuildRequires: python%{python3_pkgversion}-wheel +%endif + +%description +python-packaging provides core utilities for Python packages like utilities for +dealing with versions, specifiers, markers etc. + +%package -n python%{python3_pkgversion}-%{pypi_name} +Summary: %{summary} +%{?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. + +%if %{with docs} +%package -n python%{python3_pkgversion}-%{pypi_name}-doc +Summary: python-packaging documentation + +%description -n python%{python3_pkgversion}-%{pypi_name}-doc +Documentation for python-packaging +%endif + +%prep +%autosetup -n %{pypi_name}-%{version} +# Remove bundled egg-info +rm -rf %{pypi_name}.egg-info + +%build +%if %{with wheel} +%py3_build_wheel +%else +%py3_build +%endif + +%if %{with docs} +# generate html docs +sphinx-build-3 docs html +# remove the sphinx-build leftovers +rm -rf html/.{doctrees,buildinfo} +# Do not bundle fonts +rm -rf html/_static/fonts/ +%endif + +%install +%if %{with wheel} +%py3_install_wheel %{python_wheelname} +%else +%py3_install +%endif + +%if %{with tests} +%check +%{__python3} -m pytest tests/ +%endif + +%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/ + +%if %{with docs} +%files -n python%{python3_pkgversion}-%{pypi_name}-doc +%doc html +%license LICENSE LICENSE.APACHE LICENSE.BSD +%endif + +%changelog +* Fri Dec 13 2019 Tomas Orsava - 19.2-3 +- Exclude unsupported i686 arch + +* Tue Nov 19 2019 Lumír Balhar - 19.2-2 +- Adjusted for Python 3.8 module in RHEL 8 + +* 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/sources b/sources new file mode 100644 index 0000000..8c383f7 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA1 (packaging-19.2.tar.gz) = ae4aeb07c330d623c3d8fa8414c6080d2c9a4192 diff --git a/tests/main.fmf b/tests/main.fmf new file mode 100644 index 0000000..b36a14c --- /dev/null +++ b/tests/main.fmf @@ -0,0 +1,22 @@ +summary: Tests for python-packaging + +require: + - python3 + - python3-packaging + +# 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. +/display-installed-packages: + test: | + rpm -qa | sort + +/smoke: + test: | + set -eux + 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")'