From b050523a4d0030c35731e9c90dcec977556be4be Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Wed, 14 Oct 2020 20:51:54 -0700 Subject: [PATCH] RHEL 9.0.0 Alpha bootstrap The content of this branch was automatically imported from Fedora ELN with the following as its source: https://src.fedoraproject.org/rpms/python-wheel#07699ca83e5b709a98c681b347f11e053f92e2b7 --- .gitignore | 12 +++ python-wheel.spec | 267 ++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + tests/tests.yml | 47 ++++++++ 4 files changed, 327 insertions(+) create mode 100644 python-wheel.spec create mode 100644 sources create mode 100644 tests/tests.yml diff --git a/.gitignore b/.gitignore index e69de29..e4c777a 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,12 @@ +/wheel-0.22.0.tar.gz +/wheel-0.24.0.tar.gz +/wheel-0.26.0.tar.gz +/wheel-0.29.0.tar.gz +/wheel-0.30.0a0.tar.gz +/wheel-0.30.0.tar.gz +/wheel-0.31.1.tar.gz +/wheel-0.32.0.tar.gz +/wheel-0.33.1.tar.gz +/wheel-0.33.6.tar.gz +/wheel-0.34.2.tar.gz +/wheel-0.35.1.tar.gz diff --git a/python-wheel.spec b/python-wheel.spec new file mode 100644 index 0000000..5d2054b --- /dev/null +++ b/python-wheel.spec @@ -0,0 +1,267 @@ +# The function of bootstrap is that it disables the wheel subpackage +%bcond_with bootstrap + +# Default: when bootstrapping -> disable tests +%if %{with bootstrap} +%bcond_with tests +%else +%bcond_without tests +%endif + +# Similar to what we have in pythonX.Y.spec files. +# If enabled, provides unversioned executables and other stuff. +# Disable it if you build this package in an alternative stack. +%bcond_without main_python + +%global pypi_name wheel +%global python_wheelname %{pypi_name}-%{version}-py2.py3-none-any.whl +%global python_wheeldir %{_datadir}/python-wheels + +Name: python-%{pypi_name} +Version: 0.35.1 +Release: 1%{?dist} +Epoch: 1 +Summary: Built-package format for Python + +# packaging is ASL 2.0 or BSD +License: MIT and (ASL 2.0 or BSD) +URL: https://github.com/pypa/wheel +Source0: %{url}/archive/%{version}/%{pypi_name}-%{version}.tar.gz +BuildArch: noarch + +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools + +# python3 bootstrap: this is rebuilt before the final build of python3, which +# adds the dependency on python3-rpm-generators, so we require it manually +BuildRequires: python3-rpm-generators + +%if %{with tests} +BuildRequires: python%{python3_pkgversion}-pytest +# several tests compile extensions +# those tests are skipped if gcc is not found +BuildRequires: gcc +%endif + +%global _description %{expand: +Wheel is the reference implementation of the Python wheel packaging standard, +as defined in PEP 427. + +It has two different roles: + + 1. A setuptools extension for building wheels that provides the bdist_wheel + setuptools command. + 2. A command line tool for working with wheel files.} + +%description %{_description} + +# Virtual provides for the packages bundled by wheel. +# Actual version is written in src/wheel/vendored/packaging/_typing.py +# and src/wheel/vendored/packaging/tags.py +%global bundled %{expand: +Provides: bundled(python3dist(packaging)) = 20.4 +} + + +%package -n python%{python3_pkgversion}-%{pypi_name} +Summary: %{summary} +%{bundled} + +%description -n python%{python3_pkgversion}-%{pypi_name} %{_description} + + +%if %{without bootstrap} +%package wheel +Summary: The Python wheel module packaged as a wheel +%{bundled} + +%description wheel +A Python wheel of wheel to use with virtualenv. +%endif + + +%prep +%autosetup -n %{pypi_name}-%{version} -p1 + + +%build +%py3_build + + +%install +%py3_install +mv %{buildroot}%{_bindir}/%{pypi_name}{,-%{python3_version}} +%if %{with main_python} +ln -s %{pypi_name}-%{python3_version} %{buildroot}%{_bindir}/%{pypi_name}-3 +ln -s %{pypi_name}-3 %{buildroot}%{_bindir}/%{pypi_name} +%endif + +%if %{without bootstrap} +# We can only use bdist_wheel when wheel is installed, hence we don't build the wheel in %%build +export PYTHONPATH=%{buildroot}%{python3_sitelib} +%py3_build_wheel +mkdir -p %{buildroot}%{python_wheeldir} +install -p dist/%{python_wheelname} -t %{buildroot}%{python_wheeldir} +%endif + + +%if %{with tests} +%check +rm setup.cfg # to drop pytest coverage options configured there +%pytest -v --ignore build +%endif + +%files -n python%{python3_pkgversion}-%{pypi_name} +%license LICENSE.txt +%doc README.rst +%{_bindir}/%{pypi_name}-%{python3_version} +%if %{with main_python} +%{_bindir}/%{pypi_name} +%{_bindir}/%{pypi_name}-3 +%endif +%{python3_sitelib}/%{pypi_name}*/ + +%if %{without bootstrap} +%files wheel +%license LICENSE.txt +# we own the dir for simplicity +%dir %{python_wheeldir}/ +%{python_wheeldir}/%{python_wheelname} +%endif + +%changelog +* Thu Sep 10 2020 Tomas Hrnciar - 1:0.35.1-1 +- Update to 0.35.1 +- Fixes: rhbz#1868821 + +* Mon Aug 10 2020 Miro Hrončok - 1:0.34.2-1 +- Update to 0.34.2 +- Drops Python 3.4 support +- Fixes: rhbz#1795134 + +* Wed Jul 29 2020 Fedora Release Engineering - 1:0.33.6-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri May 22 2020 Miro Hrončok - 1:0.33.6-5 +- Rebuilt for Python 3.9 + +* Thu May 21 2020 Miro Hrončok - 1:0.33.6-4 +- Bootstrap for Python 3.9 + +* Thu Jan 30 2020 Fedora Release Engineering - 1:0.33.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Sep 09 2019 Miro Hrončok - 1:0.33.6-2 +- Drop python2-wheel + +* Tue Aug 27 2019 Miro Hrončok - 1:0.33.6-1 +- Update to 0.33.6 (#1708194) +- Don't add the m ABI flag to wheel names on Python 3.8 + +* Thu Aug 15 2019 Miro Hrončok - 1:0.33.1-5 +- Rebuilt for Python 3.8 + +* Wed Aug 14 2019 Miro Hrončok - 1:0.33.1-4 +- Bootstrap for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 1:0.33.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Jul 16 2019 Miro Hrončok - 1:0.33.1-2 +- Make /usr/bin/wheel Python 3 + +* Mon Feb 25 2019 Charalampos Stratakis - 1:0.33.1-1 +- Update to 0.33.1 + +* Sat Feb 02 2019 Fedora Release Engineering - 1:0.32.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sun Sep 30 2018 Miro Hrončok - 1:0.32.0-1 +- Update to 0.32.0 + +* Wed Aug 15 2018 Miro Hrončok - 1:0.31.1-3 +- Create python-wheel-wheel package with the wheel of wheel + +* Sat Jul 14 2018 Fedora Release Engineering - 1:0.31.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Sat Jul 07 2018 Igor Gnatenko - 1:0.31.1-1 +- Update to 0.31.1 + +* Mon Jun 18 2018 Miro Hrončok - 1:0.30.0-3 +- Rebuilt for Python 3.7 + +* Wed Jun 13 2018 Miro Hrončok - 1:0.30.0-2 +- Bootstrap for Python 3.7 + +* Fri Feb 23 2018 Igor Gnatenko - 1:0.30.0-1 +- Update to 0.30.0 + +* Fri Feb 09 2018 Fedora Release Engineering - 0.30.0a0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Aug 29 2017 Tomas Orsava - 0.30.0a0-8 +- Switch macros to bcond's and make Python 2 optional to facilitate building + the Python 2 and Python 3 modules + +* Thu Jul 27 2017 Fedora Release Engineering - 0.30.0a0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 0.30.0a0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Jan 03 2017 Charalampos Stratakis - 0.30.0a0-5 +- Enable tests + +* Fri Dec 09 2016 Charalampos Stratakis - 0.30.0a0-4 +- Rebuild for Python 3.6 without tests + +* Tue Dec 06 2016 Igor Gnatenko - 0.30.0a0-3 +- Add bootstrap method + +* Mon Sep 19 2016 Charalampos Stratakis - 0.30.0a0-2 +- Use the python_provide macro + +* Mon Sep 19 2016 Charalampos Stratakis - 0.30.0a0-1 +- Update to 0.30.0a0 +- Added patch to remove keyrings.alt dependency + +* Wed Aug 10 2016 Igor Gnatenko - 0.29.0-1 +- Update to 0.29.0 +- Cleanups and fixes + +* Tue Jul 19 2016 Fedora Release Engineering - 0.26.0-3 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Thu Feb 04 2016 Fedora Release Engineering - 0.26.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Oct 13 2015 Robert Kuska - 0.26.0-1 +- Update to 0.26.0 +- Rebuilt for Python3.5 rebuild + +* Thu Jun 18 2015 Fedora Release Engineering - 0.24.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Jan 13 2015 Slavek Kabrda - 0.24.0-3 +- Make spec buildable in EPEL 6, too. +- Remove additional sources added to upstream tarball. + +* Sat Jan 03 2015 Matej Cepl - 0.24.0-2 +- Make python3 conditional (switched off for RHEL-7; fixes #1131111). + +* Mon Nov 10 2014 Slavek Kabrda - 0.24.0-1 +- Update to 0.24.0 +- Remove patches merged upstream + +* Sun Jun 08 2014 Fedora Release Engineering - 0.22.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Apr 25 2014 Matej Stuchlik - 0.22.0-3 +- Another rebuild with python 3.4 + +* Fri Apr 18 2014 Matej Stuchlik - 0.22.0-2 +- Rebuild with python 3.4 + +* Thu Nov 28 2013 Bohuslav Kabrda - 0.22.0-1 +- Initial package. diff --git a/sources b/sources new file mode 100644 index 0000000..04677fc --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (wheel-0.35.1.tar.gz) = 34cd6d1a649842abd895418c0183e68f44e228be905041e1dd8562987fbab8aa617da9b78479cb8d56fb6bb8714ec1085b87640c385bfc933e215f6e33ccf55b diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..8ee0680 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,47 @@ +--- +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + repositories: + - repo: "https://src.fedoraproject.org/tests/python.git" + dest: "python" + - repo: "https://src.fedoraproject.org/rpms/pyproject-rpm-macros.git" + dest: "pyproject-rpm-macros" + tests: + - smoke27: + dir: python/smoke + run: VERSION=2.7 METHOD=virtualenv ./venv.sh + - smoke35: + dir: python/smoke + run: VERSION=3.5 METHOD=virtualenv ./venv.sh + - smoke36: + dir: python/smoke + run: VERSION=3.6 METHOD=virtualenv ./venv.sh + - smoke37: + dir: python/smoke + run: VERSION=3.7 METHOD=virtualenv ./venv.sh + - smoke38: + dir: python/smoke + run: VERSION=3.8 METHOD=virtualenv ./venv.sh + - pyproject_pytest: + dir: pyproject-rpm-macros/tests + run: ./mocktest.sh python-pytest + - pyproject_pluggy: + dir: pyproject-rpm-macros/tests + run: ./mocktest.sh python-pluggy + required_packages: + - gcc + - virtualenv + - python27 + - python35 + - python36 + - python37 + - python38 + - python2-devel + - python3-devel + - python3-tox + - mock + - rpmdevtools + - rpm-build