diff --git a/.PyYAML.metadata b/.PyYAML.metadata deleted file mode 100644 index 25165c3..0000000 --- a/.PyYAML.metadata +++ /dev/null @@ -1 +0,0 @@ -efbe83434843c1963a9e56f36a9afa74a38c60a8 SOURCES/5.4.1.tar.gz diff --git a/.gitignore b/.gitignore index 2fc0d35..41e5e87 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/5.4.1.tar.gz +6.0.1.tar.gz diff --git a/731.patch b/731.patch new file mode 100644 index 0000000..4c924f4 --- /dev/null +++ b/731.patch @@ -0,0 +1,39 @@ +From 17dc5b6cd96dcfe64fd71789c771ca9b96d260e5 Mon Sep 17 00:00:00 2001 +From: "Andrew J. Hesford" +Date: Fri, 21 Jul 2023 09:50:00 -0400 +Subject: [PATCH] Fix builds with Cython 3 + +This is a *de minimis* fix for building with Cython 3. Recent Cython<3 +releases provided `Cython.Distutils.build_ext` as an alias to +`Cython.Distutils.old_build_ext.old_build_ext`; Cython 3 drops this +alias and instead uses a wholly new `Cython.Distutils.build_ext` that +does not provide the `cython_sources` function used in `setup.py`. + +Explicitly importing `old_build_ext` preserves the existing behavior for +recent Cython<3 and uses the correct behavior for Cython 3. Should the +import fail (*e.g.*, because the version of Cython available predates +the availability of `old_build_ext`), the import falls back to just +`Cython.Distutils.build_ext`. + +Signed-off-by: Andrew J. Hesford +--- + setup.py | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 944e7fa2..462b1e95 100644 +--- a/setup.py ++++ b/setup.py +@@ -82,7 +82,11 @@ + with_cython = True + try: + from Cython.Distutils.extension import Extension as _Extension +- from Cython.Distutils import build_ext as _build_ext ++ try: ++ from Cython.Distutils.old_build_ext import old_build_ext as _build_ext ++ except ImportError: ++ from Cython.Distutils import build_ext as _build_ext ++ + with_cython = True + except ImportError: + if with_cython: diff --git a/SPECS/PyYAML.spec b/PyYAML.spec similarity index 70% rename from SPECS/PyYAML.spec rename to PyYAML.spec index e0d2294..bd09bc6 100644 --- a/SPECS/PyYAML.spec +++ b/PyYAML.spec @@ -1,33 +1,30 @@ -# RHEL8: disable building python2 in the python39 module -%bcond_with python2 +## START: Set by rpmautospec +## (rpmautospec version 0.6.5) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 19; + 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 Name: PyYAML -Version: 5.4.1 -Release: 1%{?dist} -%global uversion %{version} +Version: 6.0.1 +Release: %autorelease Summary: YAML parser and emitter for Python +# SPDX License: MIT URL: https://github.com/yaml/pyyaml -Source0: https://github.com/yaml/pyyaml/archive/%{uversion}.tar.gz +Source: https://github.com/yaml/pyyaml/archive/%{version}.tar.gz -# 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 +# Fix build with Cython 3 +# Proposed upstream but refused (upstream does not want Cython 3) +Patch: https://github.com/yaml/pyyaml/pull/731.patch BuildRequires: gcc BuildRequires: libyaml-devel - -%if %{with python2} -BuildRequires: python2-devel -BuildRequires: python2-setuptools -%endif - -BuildRequires: python%{python3_pkgversion}-devel -BuildRequires: python%{python3_pkgversion}-rpm-macros -BuildRequires: python%{python3_pkgversion}-setuptools -BuildRequires: python%{python3_pkgversion}-Cython +BuildRequires: python3-devel %global _description\ @@ -46,83 +43,133 @@ configuration files to object serialization and persistence. %description %_description -%if %{with python2} -%package -n python2-pyyaml +%package -n python3-pyyaml Summary: %summary -Provides: python-yaml = %{version}-%{release} -Provides: python-yaml%{?_isa} = %{version}-%{release} -Provides: python2-yaml = %{version}-%{release} -Provides: python2-yaml%{?_isa} = %{version}-%{release} -Provides: PyYAML = %{version}-%{release} -Provides: PyYAML%{?_isa} = %{version}-%{release} -%{?python_provide:%python_provide python2-pyyaml} +%py_provides python3-yaml +%py_provides python3-PyYAML -%description -n python2-pyyaml %_description -%endif - -%package -n python%{python3_pkgversion}-pyyaml -Summary: %summary -Provides: python%{python3_pkgversion}-yaml = %{version}-%{release} -Provides: python%{python3_pkgversion}-yaml%{?_isa} = %{version}-%{release} -%{?python_provide:%python_provide python%{python3_pkgversion}-pyyaml} -Provides: python%{python3_pkgversion}-PyYAML = %{version}-%{release} -Provides: python%{python3_pkgversion}-PyYAML%{?_isa} = %{version}-%{release} - -%description -n python%{python3_pkgversion}-pyyaml %_description +%description -n python3-pyyaml %_description %prep -%setup -q -n pyyaml-%{uversion} +%autosetup -p1 -n pyyaml-%{version} chmod a-x examples/yaml-highlight/yaml_hl.py # remove pre-generated file rm -rf ext/_yaml.c +# we have a patch for Cython 3 +sed -i 's/Cython<3.0/Cython/' pyproject.toml + + +%generate_buildrequires +%pyproject_buildrequires + %build -%py3_build - -%if %{with python2} -# py2_build reuses Cython output from py3_build -%py2_build -%endif +%pyproject_wheel %install -%if %{with python2} -%py2_install -%endif -%py3_install +%pyproject_install +%pyproject_save_files yaml _yaml %check -%if %{with python2} -%{__python2} setup.py test -%endif -%{__python3} setup.py test +%{py3_test_envvars} %{python3} tests/lib/test_all.py -%if %{with python2} -%files -n python2-pyyaml -%license LICENSE -%doc CHANGES README examples -%{python2_sitearch}/* -%endif - -%files -n python%{python3_pkgversion}-pyyaml -%license LICENSE -%doc CHANGES README examples -%{python3_sitearch}/* +%files -n python3-pyyaml -f %{pyproject_files} +%doc CHANGES README.md examples %changelog -* Tue Mar 23 2021 Tomas Orsava - 5.4.1-1 -- Rebase to version 5.4.1 to fix CVE-2020-14343 -- Resolves: rhbz#1860466 +## START: Generated by rpmautospec +* Tue Oct 29 2024 Troy Dawson - 6.0.1-19 +- Bump release for October 2024 mass rebuild: -* Mon Jan 18 2021 Tomas Orsava - 5.3.1-6 -- Add PyYAML to the python39 module in RHEL8 -- Resolves: rhbz#1877430 +* Mon Jun 24 2024 Troy Dawson - 6.0.1-18 +- Bump release for June 2024 mass rebuild + +* Tue Apr 16 2024 Miro Hrončok - 6.0.1-17 +- Add RHEL gating configuration + +* Thu Apr 11 2024 Lukáš Zachar - 6.0.1-16 +- CI: Modernize runtest.sh + +* Thu Apr 11 2024 Štěpán Šigut - 6.0.1-15 +- Import CI tests from RHEL + +* Mon Jan 22 2024 Fedora Release Engineering - 6.0.1-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 6.0.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Aug 10 2023 Karolina Surma - 6.0.1-12 +- Declare the license as an SPDX expression + +* Fri Jul 28 2023 Miro Hrončok - 6.0.1-4 +- Fix build with Cython 3 + +* Tue Jul 25 2023 Miro Hrončok - 6.0.1-3 +- Pin Cython < 3 to build this package + +* Wed Jul 19 2023 Fedora Release Engineering - 6.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 18 2023 John Eckersberg - 6.0.1-1 +- New upstream release 6.0.1 (rhbz#2223462) + +* Tue Jun 13 2023 Python Maint - 6.0-8 +- Rebuilt for Python 3.12 + +* Tue Apr 11 2023 John Eckersberg - 6.0-7 +- Rebuilt for Python 3.12 / Cython 0.29.34 (rhbz#2177815) + +* Wed Jan 18 2023 Fedora Release Engineering - 6.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 6.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 6.0-4 +- Rebuilt for Python 3.11 + +* Tue Feb 08 2022 Miro Hrončok - 6.0-3 +- Remove some outdated Obsoletes and Provides, + but keep providing python3-yaml and python3-PyYAML for users + +* Wed Jan 19 2022 Fedora Release Engineering - 6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Oct 13 2021 John Eckersberg - 6.0-1 +- New upstream release 6.0 + +* Mon Oct 4 2021 John Eckersberg - 6.0-0.1.b1 +- New upstream beta release 6.0b1 (rhbz#2010501) + +* Wed Jul 21 2021 Fedora Release Engineering - 5.4.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jun 02 2021 Python Maint - 5.4.1-3 +- Rebuilt for Python 3.10 + +* Mon Jan 25 2021 Fedora Release Engineering - 5.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Jan 21 2021 John Eckersberg - 5.4.1-1 +- New upstream release 5.4.1 (rhbz#1918523) + +* Wed Jan 20 2021 John Eckersberg - 5.4-1 +- New upstream release 5.4 +- Fixes CVE-2020-14343 + +* Fri Jan 15 2021 John Eckersberg - 5.4-0.1.b2 +- New upstream beta release 5.4b2 (rhbz#1916496) + +* Thu Jan 14 2021 John Eckersberg - 5.4-0.1.b1 +- New upstream beta release 5.4b1 (rhbz#1916034) * Mon Nov 23 2020 Miro Hrončok - 5.3.1-5 - Disable Python 2 build on RHEL 9+ @@ -367,3 +414,5 @@ rm -rf ext/_yaml.c * Mon Dec 17 2007 John Eckersberg - 3.05-1 - Initial packaging for Fedora + +## END: Generated by rpmautospec diff --git a/sources b/sources new file mode 100644 index 0000000..e041a66 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (6.0.1.tar.gz) = 1c74a92a4ad7d47854dc7bcb2e89b3c8e0b14fa815c7dbfbc22b24480dbba6c81e971c77ee384c494a960914b95f06edf943d7431925a5ed674a0ba830d258e0