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 index fac7114..1966257 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,26 @@ PyYAML-3.09.tar.gz /PyYAML-3.10.tar.gz /PyYAML-3.11.tar.gz +/PyYAML-3.12.tar.gz +/PyYAML-4.1.tar.gz +/pyyaml-4.1.tar.gz +/PyYAML-4.2b4.tar.gz +/PyYAML-5.1b1.tar.gz +/PyYAML-5.1b3.tar.gz +/PyYAML-5.1b6.tar.gz +/PyYAML-5.1.tar.gz +/PyYAML-5.1.1.tar.gz +/PyYAML-5.1.2.tar.gz +/5.1.2.tar.gz +/5.2.tar.gz +/5.3.tar.gz +/5.3.1.tar.gz +/5.4b1.tar.gz +/5.4b2.tar.gz +/5.4.tar.gz +/5.4.1.tar.gz +/6.0b1.tar.gz +/6.0.tar.gz +/6.0.1.tar.gz +/6.0.2.tar.gz +/6.0.3.tar.gz diff --git a/PyYAML-CVE-2014-9130.patch b/PyYAML-CVE-2014-9130.patch deleted file mode 100644 index c47a9b5..0000000 --- a/PyYAML-CVE-2014-9130.patch +++ /dev/null @@ -1,35 +0,0 @@ -# HG changeset patch -# User Kirill Simonov -# Date 1417197216 21600 -# Node ID ddf211a41bb231c365fece5599b7e484e6dc33fc -# Parent 263dff6f9664ccdc532283ba5c7b282c0e436a7b -Removed invalid simple key assertion. - -diff --git a/lib/yaml/scanner.py b/lib/yaml/scanner.py ---- a/lib/yaml/scanner.py -+++ b/lib/yaml/scanner.py -@@ -297,10 +297,6 @@ - # Check if a simple key is required at the current position. - required = not self.flow_level and self.indent == self.column - -- # A simple key is required only if it is the first token in the current -- # line. Therefore it is always allowed. -- assert self.allow_simple_key or not required -- - # The next token might be a simple key. Let's save it's number and - # position. - if self.allow_simple_key: -diff --git a/lib3/yaml/scanner.py b/lib3/yaml/scanner.py ---- a/lib3/yaml/scanner.py -+++ b/lib3/yaml/scanner.py -@@ -297,10 +297,6 @@ - # Check if a simple key is required at the current position. - required = not self.flow_level and self.indent == self.column - -- # A simple key is required only if it is the first token in the current -- # line. Therefore it is always allowed. -- assert self.allow_simple_key or not required -- - # The next token might be a simple key. Let's save it's number and - # position. - if self.allow_simple_key: diff --git a/PyYAML.spec b/PyYAML.spec index 9f8e3aa..8cb2438 100644 --- a/PyYAML.spec +++ b/PyYAML.spec @@ -1,226 +1,71 @@ -%if 0%{?fedora} > 12 -%global with_python3 1 -%else -%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} -%endif - Name: PyYAML -Version: 3.11 -Release: 7%{?dist} +Version: 6.0.3 +Release: %autorelease Summary: YAML parser and emitter for Python -Group: Development/Libraries +# SPDX License: MIT -URL: http://pyyaml.org/ -Source0: http://pyyaml.org/download/pyyaml/%{name}-%{version}.tar.gz -BuildRequires: python-devel, python-setuptools, libyaml-devel -BuildRequires: Cython +URL: https://github.com/yaml/pyyaml +Source: https://github.com/yaml/pyyaml/archive/%{version}.tar.gz + +BuildRequires: gcc BuildRequires: libyaml-devel -Provides: python-yaml = %{version}-%{release} -Provides: python-yaml%{?_isa} = %{version}-%{release} -%if 0%{?with_python3} -BuildRequires: python3-devel -BuildRequires: python3-setuptools -BuildRequires: python3-Cython -%endif -# debian patch, upstream ticket http://pyyaml.org/ticket/247 and -# https://bitbucket.org/xi/pyyaml/issue/35/test-fails-on-be-s390-x-ppc64 -Patch0: debian-big-endian-fix.patch +BuildRequires: python3-devel +BuildRequires: python3-pytest -# CVE-2014-9130 assert failure when processing wrapped strings -# https://bugzilla.redhat.com/show_bug.cgi?id=1204829 -Patch1: PyYAML-CVE-2014-9130.patch -%description -YAML is a data serialization format designed for human readability and -interaction with scripting languages. PyYAML is a YAML parser and -emitter for Python. +%global _description\ +YAML is a data serialization format designed for human readability and\ +interaction with scripting languages. PyYAML is a YAML parser and\ +emitter for Python.\ +\ +PyYAML features a complete YAML 1.1 parser, Unicode support, pickle\ +support, capable extension API, and sensible error messages. PyYAML\ +supports standard YAML tags and provides Python-specific tags that\ +allow to represent an arbitrary Python object.\ +\ +PyYAML is applicable for a broad range of tasks from complex\ +configuration files to object serialization and persistence. -PyYAML features a complete YAML 1.1 parser, Unicode support, pickle -support, capable extension API, and sensible error messages. PyYAML -supports standard YAML tags and provides Python-specific tags that -allow to represent an arbitrary Python object. +%description %_description -PyYAML is applicable for a broad range of tasks from complex -configuration files to object serialization and persistance. -%if 0%{?with_python3} -%package -n python3-PyYAML -Summary: YAML parser and emitter for Python -Group: Development/Libraries +%package -n python3-pyyaml +Summary: %summary +%py_provides python3-yaml +%py_provides python3-PyYAML -%description -n python3-PyYAML -YAML is a data serialization format designed for human readability and -interaction with scripting languages. PyYAML is a YAML parser and -emitter for Python. - -PyYAML features a complete YAML 1.1 parser, Unicode support, pickle -support, capable extension API, and sensible error messages. PyYAML -supports standard YAML tags and provides Python-specific tags that -allow to represent an arbitrary Python object. - -PyYAML is applicable for a broad range of tasks from complex -configuration files to object serialization and persistance. -%endif +%description -n python3-pyyaml %_description %prep -%setup -q -n %{name}-%{version} -%patch0 -p1 -b .be +%autosetup -p1 -n pyyaml-%{version} chmod a-x examples/yaml-highlight/yaml_hl.py -%patch1 -p1 - # remove pre-generated file rm -rf ext/_yaml.c +%generate_buildrequires +%pyproject_buildrequires + + %build -# regenerate ext/_yaml.c -CFLAGS="${RPM_OPT_FLAGS}" %{__python} setup.py --with-libyaml build_ext - -%if 0%{?with_python3} -rm -rf %{py3dir} -# ext/_yaml.c is needed -cp -a . %{py3dir} -pushd %{py3dir} -CFLAGS="${RPM_OPT_FLAGS}" %{__python3} setup.py --with-libyaml build -popd -%endif - -CFLAGS="${RPM_OPT_FLAGS}" %{__python} setup.py --with-libyaml build +%pyproject_wheel %install -%{__python} setup.py install -O1 --skip-build --root %{buildroot} - -%if 0%{?with_python3} -pushd %{py3dir} -%{__python3} setup.py install -O1 --skip-build --root %{buildroot} -popd -%endif +%pyproject_install +%pyproject_save_files yaml _yaml %check -%{__python} setup.py test - -%if 0%{?with_python3} -pushd %{py3dir} -%{__python3} setup.py test -popd -%endif +%pytest -%files -%{!?_licensedir:%global license %%doc} -%license LICENSE -%doc CHANGES PKG-INFO README examples -%{python_sitearch}/* - -%if 0%{?with_python3} -%files -n python3-PyYAML -%{!?_licensedir:%global license %%doc} -%license LICENSE -%doc CHANGES PKG-INFO README examples -%{python3_sitearch}/* -%endif +%files -n python3-pyyaml -f %{pyproject_files} +%doc CHANGES README.md examples %changelog -* Mon Mar 23 2015 John Eckersberg - 3.11-7 -- Add patch for CVE-2014-9130 (bug 1204829) - -* Mon Sep 15 2014 Jakub Čajka - 3.11-6 -- fixed typecast issues using debian patch(int->size_t)(BZ#1140189) -- spec file cleanup - -* Fri Aug 15 2014 Fedora Release Engineering - 3.11-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Mon Aug 4 2014 Tom Callaway - 3.11-4 -- fix license handling - -* Fri Jun 06 2014 Fedora Release Engineering - 3.11-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Wed May 14 2014 Bohuslav Kabrda - 3.11-2 -- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 - -* Mon Apr 21 2014 John Eckersberg - 3.11-1 -- New upstream release 3.11 (BZ#1081521) - -* Thu Aug 8 2013 John Eckersberg - 3.10-9 -- Add check section and run test suite - -* Fri Aug 02 2013 Fedora Release Engineering - 3.10-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Wed Feb 13 2013 Fedora Release Engineering - 3.10-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Sat Aug 04 2012 David Malcolm - 3.10-6 -- rebuild for https://fedoraproject.org/wiki/Features/Python_3.3 - -* Wed Aug 1 2012 David Malcolm - 3.10-5 -- remove rhel logic from with_python3 conditional - -* Wed Jul 18 2012 Fedora Release Engineering - 3.10-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Fri Apr 27 2012 John Eckersberg - 3.10-3 -- Add Provides for python-yaml (BZ#740390) - -* Thu Jan 12 2012 Fedora Release Engineering - 3.10-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Thu Jun 23 2011 John Eckersberg - 3.10-1 -- New upstream release 3.10 - -* Mon Feb 07 2011 Fedora Release Engineering - 3.09-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Wed Feb 2 2011 John Eckersberg - 3.09-7 -- Add support to build for python 3 - -* Tue Jul 27 2010 Mamoru Tasaka - 3.09-6 -- Bump release number for upgrade path - -* Wed Jul 21 2010 David Malcolm - 3.09-3 -- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild - -* Fri Oct 02 2009 John Eckersberg - 3.09-1 -- New upstream release 3.09 - -* Fri Jul 24 2009 Fedora Release Engineering - 3.08-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Wed Jul 22 2009 - John Eckersberg - 3.08-5 -- Minor tweaks to spec file aligning with latest Fedora packaging guidelines -- Enforce inclusion of libyaml in build with --with-libyaml option to setup.py -- Deliver to %%{python_sitearch} instead of %%{python_sitelib} due to _yaml.so -- Thanks to Gareth Armstrong - -* Tue Mar 3 2009 John Eckersberg - 3.08-4 -- Correction, change libyaml to libyaml-devel in BuildRequires - -* Mon Mar 2 2009 John Eckersberg - 3.08-3 -- Add libyaml to BuildRequires - -* Mon Feb 23 2009 Fedora Release Engineering - 3.08-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Wed Feb 18 2009 John Eckersberg - 3.08-1 -- New upstream release - -* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 3.06-2 -- Rebuild for Python 2.6 - -* Fri Oct 24 2008 John Eckersberg - 3.06-1 -- New upstream release - -* Wed Jan 02 2008 John Eckersberg - 3.05-2 -- Remove explicit dependency on python >= 2.3 -- Remove executable on example script in docs - -* Mon Dec 17 2007 John Eckersberg - 3.05-1 -- Initial packaging for Fedora +%autochangelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..bb0e538 --- /dev/null +++ b/changelog @@ -0,0 +1,305 @@ +* 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+ + +* Mon Jul 27 2020 Fedora Release Engineering - 5.3.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri May 22 2020 Miro Hrončok - 5.3.1-3 +- Rebuilt for Python 3.9 + +* Mon May 18 2020 John Eckersberg - 5.3.1-2 +- Fix fedora conditional macro (rhbz#1836656) + +* Thu Mar 19 2020 John Eckersberg - 5.3.1-1 +- New upstream release 5.3.1 (rhbz#1814882) +- Fixes CVE-2020-1747 (rhbz#1807367,1809011) + +* Tue Mar 10 2020 Kalev Lember - 5.3-4 +- Add back PyYAML provides on F31 and older + +* Mon Mar 2 2020 John Eckersberg - 5.3-3 +- Fix python2 on Fedora < 32 (rhbz#1808812) + +* Tue Jan 28 2020 Fedora Release Engineering - 5.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Jan 6 2020 John Eckersberg - 5.3-1 +- New upstream release 5.3 + +* Tue Dec 3 2019 John Eckersberg - 5.2-1 +- New upstream release 5.2 + +* Fri Nov 22 2019 John Eckersberg - 5.1.2-4 +- Build without python2 by default (rhbz#1775075) + +* Thu Sep 19 2019 Miro Hrončok - 5.1.2-3 +- Stop providing PyYAML from python2-pyyaml, Python now means Python 3 + +* Thu Aug 15 2019 Miro Hrončok - 5.1.2-2 +- Rebuilt for Python 3.8 + +* Wed Jul 31 2019 John Eckersberg - 5.1.2-1 +- New upstream release 5.1.2 + +* Wed Jul 24 2019 Fedora Release Engineering - 5.1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Jul 15 2019 Petr Viktorin - 5.1.1-2 +- Remove build dependency on python2-Cython + +* Fri Jun 7 2019 John Eckersberg - 5.1.1-1 +- New upstream release 5.1.1 (rhbz#1718110) + +* Wed Mar 13 2019 John Eckersberg - 5.1-1 +- New upstream release 5.1 (rhbz#1688414) +- Fixes CVE-2017-18342 (rhbz#1595744) + +* Fri Mar 8 2019 John Eckersberg - 5.1-0.1.b6 +- New upstream beta release 5.1b6 (rhbz#1686643) + +* Thu Feb 28 2019 John Eckersberg - 5.1-0.1.b3 +- New upstream beta release 5.1b3 (rhbz#1683884) + +* Mon Feb 25 2019 John Eckersberg - 5.1-0.1.b1 +- New upstream beta release 5.1b1 (rhbz#1680457) +- Typo fix (rhbz#1680463) + +* Thu Jan 31 2019 Fedora Release Engineering - 4.2-0.2.b4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 John Eckersberg - 4.2-0.1.b4 +- New upstream beta release 4.2b4 +- Replaces 4.1 which was retracted upstream + See https://mail.python.org/pipermail/python-announce-list/2018-June/011977.html +- Add BuildRequires for gcc + See https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot + +* Thu Jul 12 2018 Miro Hrončok - 4.1-5 +- Rename python3-PyYAML to python3-pyyaml +- Modernize spec +- Fix python2 invocation + +* Thu Jul 12 2018 Fedora Release Engineering - 4.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jul 02 2018 Miro Hrončok - 4.1-3 +- Rebuilt for Python 3.7 + +* Mon Jul 02 2018 Igor Gnatenko - 4.1-2 +- Rebuilt for Python 3.7 + +* Wed Jun 27 2018 John Eckersberg - 4.1-1 +- New upstream release 4.1 + +* Fri Jun 15 2018 Miro Hrončok - 3.12-11 +- Rebuilt for Python 3.7 + +* Wed Feb 07 2018 Fedora Release Engineering - 3.12-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Dec 11 2017 Iryna Shcherbina - 3.12-9 +- Fix ambiguous Python 2 dependency declarations + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Wed Sep 27 2017 Troy Dawson - 3.12-8 +- Cleanup spec file conditionals + +* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek - 3.12-7 +- Add Provides for the old name without %%_isa + +* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 3.12-6 +- Python 2 binary package renamed to python2-pyyaml + See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 + +* Wed Aug 02 2017 Fedora Release Engineering - 3.12-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 3.12-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 3.12-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 12 2016 Charalampos Stratakis - 3.12-2 +- Rebuild for Python 3.6 + +* Mon Aug 29 2016 John Eckersberg - 3.12-1 +- New upstream release 3.12 (RHBZ#1371150) + +* Tue Jul 19 2016 Fedora Release Engineering - 3.11-13 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Wed Feb 03 2016 Fedora Release Engineering - 3.11-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Dec 8 2015 John Eckersberg - 3.11-11 +- Add provides for python3-yaml (RHBZ#1288807) + +* Tue Nov 03 2015 Robert Kuska - 3.11-10 +- Rebuilt for Python3.5 rebuild + +* Fri Jul 17 2015 John Eckersberg - 3.11-9 +- Add provides for python2-yaml (RHBZ#1241678) + +* Tue Jun 16 2015 Fedora Release Engineering - 3.11-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Mar 23 2015 John Eckersberg - 3.11-7 +- Add patch for CVE-2014-9130 (bug 1204829) + +* Mon Sep 15 2014 Jakub Čajka - 3.11-6 +- fixed typecast issues using debian patch(int->size_t)(BZ#1140189) +- spec file cleanup + +* Fri Aug 15 2014 Fedora Release Engineering - 3.11-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Mon Aug 4 2014 Tom Callaway - 3.11-4 +- fix license handling + +* Fri Jun 06 2014 Fedora Release Engineering - 3.11-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 14 2014 Bohuslav Kabrda - 3.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 + +* Mon Apr 21 2014 John Eckersberg - 3.11-1 +- New upstream release 3.11 (BZ#1081521) + +* Thu Aug 8 2013 John Eckersberg - 3.10-9 +- Add check section and run test suite + +* Fri Aug 02 2013 Fedora Release Engineering - 3.10-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Feb 13 2013 Fedora Release Engineering - 3.10-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sat Aug 04 2012 David Malcolm - 3.10-6 +- rebuild for https://fedoraproject.org/wiki/Features/Python_3.3 + +* Wed Aug 1 2012 David Malcolm - 3.10-5 +- remove rhel logic from with_python3 conditional + +* Wed Jul 18 2012 Fedora Release Engineering - 3.10-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Apr 27 2012 John Eckersberg - 3.10-3 +- Add Provides for python-yaml (BZ#740390) + +* Thu Jan 12 2012 Fedora Release Engineering - 3.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Jun 23 2011 John Eckersberg - 3.10-1 +- New upstream release 3.10 + +* Mon Feb 07 2011 Fedora Release Engineering - 3.09-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Feb 2 2011 John Eckersberg - 3.09-7 +- Add support to build for python 3 + +* Tue Jul 27 2010 Mamoru Tasaka - 3.09-6 +- Bump release number for upgrade path + +* Wed Jul 21 2010 David Malcolm - 3.09-3 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Fri Oct 02 2009 John Eckersberg - 3.09-1 +- New upstream release 3.09 + +* Fri Jul 24 2009 Fedora Release Engineering - 3.08-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jul 22 2009 - John Eckersberg - 3.08-5 +- Minor tweaks to spec file aligning with latest Fedora packaging guidelines +- Enforce inclusion of libyaml in build with --with-libyaml option to setup.py +- Deliver to %%{python_sitearch} instead of %%{python_sitelib} due to _yaml.so +- Thanks to Gareth Armstrong + +* Tue Mar 3 2009 John Eckersberg - 3.08-4 +- Correction, change libyaml to libyaml-devel in BuildRequires + +* Mon Mar 2 2009 John Eckersberg - 3.08-3 +- Add libyaml to BuildRequires + +* Mon Feb 23 2009 Fedora Release Engineering - 3.08-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Feb 18 2009 John Eckersberg - 3.08-1 +- New upstream release + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 3.06-2 +- Rebuild for Python 2.6 + +* Fri Oct 24 2008 John Eckersberg - 3.06-1 +- New upstream release + +* Wed Jan 02 2008 John Eckersberg - 3.05-2 +- Remove explicit dependency on python >= 2.3 +- Remove executable on example script in docs + +* Mon Dec 17 2007 John Eckersberg - 3.05-1 +- Initial packaging for Fedora diff --git a/debian-big-endian-fix.patch b/debian-big-endian-fix.patch deleted file mode 100644 index 7991005..0000000 --- a/debian-big-endian-fix.patch +++ /dev/null @@ -1,73 +0,0 @@ -pyyaml FTBFS on the s390x buildd. It seems this is due to using int -where the libyaml API uses size_t. I tested the attached patch in -zelenka.d.o's sid chroot, and at least the python2 build/test worked (it -failed with the same error as the buildd pre-patching). -Patch by Julien Cristau -Add to the pyyaml package by Scott Kitterman -http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=676536 - -Index: pyyaml-3.10/ext/_yaml.pxd -=================================================================== ---- pyyaml-3.10.orig/ext/_yaml.pxd 2011-05-29 23:31:01.000000000 -0400 -+++ pyyaml-3.10/ext/_yaml.pxd 2012-06-08 16:33:54.309407701 -0400 -@@ -86,15 +86,15 @@ - YAML_MAPPING_END_EVENT - - ctypedef int yaml_read_handler_t(void *data, char *buffer, -- int size, int *size_read) except 0 -+ size_t size, size_t *size_read) except 0 - - ctypedef int yaml_write_handler_t(void *data, char *buffer, -- int size) except 0 -+ size_t size) except 0 - - ctypedef struct yaml_mark_t: -- int index -- int line -- int column -+ size_t index -+ size_t line -+ size_t column - ctypedef struct yaml_version_directive_t: - int major - int minor -@@ -113,7 +113,7 @@ - char *suffix - ctypedef struct _yaml_token_scalar_data_t: - char *value -- int length -+ size_t length - yaml_scalar_style_t style - ctypedef struct _yaml_token_version_directive_data_t: - int major -@@ -152,7 +152,7 @@ - char *anchor - char *tag - char *value -- int length -+ size_t length - int plain_implicit - int quoted_implicit - yaml_scalar_style_t style -Index: pyyaml-3.10/ext/_yaml.pyx -=================================================================== ---- pyyaml-3.10.orig/ext/_yaml.pyx 2011-05-29 23:31:01.000000000 -0400 -+++ pyyaml-3.10/ext/_yaml.pyx 2012-06-08 16:33:54.313409701 -0400 -@@ -905,7 +905,7 @@ - raise error - return 1 - --cdef int input_handler(void *data, char *buffer, int size, int *read) except 0: -+cdef int input_handler(void *data, char *buffer, size_t size, size_t *read) except 0: - cdef CParser parser - parser = data - if parser.stream_cache is None: -@@ -1515,7 +1515,7 @@ - self.ascend_resolver() - return 1 - --cdef int output_handler(void *data, char *buffer, int size) except 0: -+cdef int output_handler(void *data, char *buffer, size_t size) except 0: - cdef CEmitter emitter - emitter = data - if emitter.dump_unicode == 0: diff --git a/plan.fmf b/plan.fmf new file mode 100644 index 0000000..e6427de --- /dev/null +++ b/plan.fmf @@ -0,0 +1,4 @@ +discover: + how: fmf +execute: + how: tmt diff --git a/sources b/sources index 86506a0..b7b81fd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f50e08ef0fe55178479d3a618efe21db PyYAML-3.11.tar.gz +SHA512 (6.0.3.tar.gz) = a0da43e32d127409ad61b11dc1d733b2e9c743977b3d72c05c81fc2ab183b40bc284452b0874dbeae1a736e1cd4a34f0df641ceefd5e9df38b3e53155fc5f633 diff --git a/tests/smoke/main.fmf b/tests/smoke/main.fmf new file mode 100644 index 0000000..7d9c513 --- /dev/null +++ b/tests/smoke/main.fmf @@ -0,0 +1,5 @@ +test: ./runtest.sh +framework: beakerlib +require: + - python3-pyyaml +duration: 5m diff --git a/tests/smoke/pyyaml_dump.py b/tests/smoke/pyyaml_dump.py new file mode 100644 index 0000000..a6f4a6d --- /dev/null +++ b/tests/smoke/pyyaml_dump.py @@ -0,0 +1,3 @@ +#!/usr/bin/env python +import yaml +print(yaml.dump({'name': 'Silenthand Olleander', 'race': 'Human', 'traits': ['ONE_HAND', 'ONE_EYE']})) diff --git a/tests/smoke/pyyaml_load.py b/tests/smoke/pyyaml_load.py new file mode 100644 index 0000000..6bf48f2 --- /dev/null +++ b/tests/smoke/pyyaml_load.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python +import yaml +documents = """ +--- +name: foo +--- +name: bar +--- +name: foobar +""" + +for data in yaml.load_all(documents, Loader=yaml.SafeLoader): + print(data) diff --git a/tests/smoke/pyyaml_object.py b/tests/smoke/pyyaml_object.py new file mode 100644 index 0000000..b689c05 --- /dev/null +++ b/tests/smoke/pyyaml_object.py @@ -0,0 +1,24 @@ +import yaml +class Hero: + def __init__(self, name, hp, sp): + self.name = name + self.hp = hp + self.sp = sp + def __repr__(self): + return "%s(name=%r, hp=%r, sp=%r)" % ( + self.__class__.__name__, self.name, self.hp, self.sp) + +STRING = """ +!!python/object:__main__.Hero +name: Welthyr Syxgon +hp: 1200 +sp: 0 +""" + +try: + yaml.load(STRING, Loader=yaml.SafeLoader) + raise RuntimeError("Didn't raise exception") +except yaml.constructor.ConstructorError: + pass + +print(yaml.unsafe_load(STRING)) diff --git a/tests/smoke/pyyaml_parse.py b/tests/smoke/pyyaml_parse.py new file mode 100644 index 0000000..3850b78 --- /dev/null +++ b/tests/smoke/pyyaml_parse.py @@ -0,0 +1,9 @@ +#!/usr/bin/env python +import yaml +document = """ + a: 1 + b: + c: 3 + d: 4 +""" +print(yaml.dump(yaml.load(document, Loader=yaml.SafeLoader))) diff --git a/tests/smoke/runtest.sh b/tests/smoke/runtest.sh new file mode 100755 index 0000000..72451ed --- /dev/null +++ b/tests/smoke/runtest.sh @@ -0,0 +1,74 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /CoreOS/PyYAML/Sanity/Smoke +# Description: Smoke test for this component +# Author: Stepan Sigut +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2016 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PYTHON=${PYTHON:-"python3"} + +PATTERN1="{'name': 'foo'} +{'name': 'bar'} +{'name': 'foobar'}" +PATTERN3="name: Silenthand Olleander +race: Human +traits: [ONE_HAND, ONE_EYE]" +PATTERN4="a: 1 +b: {c: 3, d: 4}" +PATTERN5="Hero(name='Welthyr Syxgon', hp=1200, sp=0)" + +set -o pipefail + +rlJournalStart + rlPhaseStartSetup + # export python's MAJOR and MINOR version + rlRun "export $($PYTHON -c \ + 'import sys; print("MAJOR={0} MINOR={1}".format(\ + sys.version_info[0],sys.version_info[1]))')" + rlPhaseEnd + + rlPhaseStartTest "Running pyyaml_load.py" + rlRun -s "$PYTHON pyyaml_load.py" + rlAssertGrep "$PATTERN1" "$rlRun_LOG" + rlPhaseEnd + + rlPhaseStartTest "Running pyyaml_dump.py" + rlRun -s "$PYTHON pyyaml_dump.py" + rlAssertGrep "$PATTERN3" "$rlRun_LOG" + rlPhaseEnd + + rlPhaseStartTest "Running pyyaml_parse.py" + rlRun -s "$PYTHON pyyaml_parse.py" + rlAssertGrep "$PATTERN4" "$rlRun_LOG" + rlPhaseEnd + + rlPhaseStartTest "Running pyyaml_object.py" + rlRun -s "$PYTHON pyyaml_object.py" + rlAssertGrep "$PATTERN5" "$rlRun_LOG" + rlPhaseEnd + +rlJournalPrintText +rlJournalEnd