From b8c60a3bec7bf46239f5ca9ee8d111aba1756629 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 2 Dec 2024 15:04:04 +0100 Subject: [PATCH 01/15] Fix build with Python 3.14 - Fixes: rhzb#2323169 --- 9.patch | 63 +++++++++++++++++++++++++++++++++++++++++ python-ruamel-yaml.spec | 5 ++++ 2 files changed, 68 insertions(+) create mode 100644 9.patch diff --git a/9.patch b/9.patch new file mode 100644 index 0000000..34e5743 --- /dev/null +++ b/9.patch @@ -0,0 +1,63 @@ +# HG changeset patch +# User Miro Hrončok +# Date 1733146158 -3600 +# Mon Dec 02 14:29:18 2024 +0100 +# Branch python3.14 +# Node ID 677f1d63658f35e43446776e637248d0729405f3 +# Parent 0bef9fa8b3c43637cd90ce3f2e299e81c2122128 +Adjust setup.py for the removal of deprecated ast classes + +Those were deprecated since Python 3.8 and are removed in 3.14+. + +diff -r 0bef9fa8b3c4 -r 677f1d63658f setup.py +--- a/setup.py Thu Mar 14 10:13:16 2024 +0100 ++++ b/setup.py Mon Dec 02 14:29:18 2024 +0100 +@@ -76,7 +76,7 @@ + print(*args, **kw1) + + if sys.version_info >= (3, 8): +- from ast import Str, Num, Bytes, NameConstant # NOQA ++ from ast import Constant # NOQA + + + def literal_eval(node_or_string): +@@ -98,15 +98,21 @@ + raise TypeError('only string or AST nodes supported') + + def _convert(node): +- if isinstance(node, Str): +- if sys.version_info < (3,) and not isinstance(node.s, unicode): +- return node.s.decode('utf-8') +- return node.s +- elif isinstance(node, Bytes): +- return node.s +- elif isinstance(node, Num): +- return node.n +- elif isinstance(node, Tuple): ++ if sys.version_info >= (3, 8): ++ if isinstance(node, Constant): ++ return node.value ++ else: ++ if isinstance(node, Str): ++ if sys.version_info < (3,) and not isinstance(node.s, unicode): ++ return node.s.decode('utf-8') ++ return node.s ++ elif isinstance(node, Bytes): ++ return node.s ++ elif isinstance(node, Num): ++ return node.n ++ elif isinstance(node, NameConstant): ++ return node.value ++ if isinstance(node, Tuple): + return tuple(map(_convert, node.elts)) + elif isinstance(node, List): + return list(map(_convert, node.elts)) +@@ -114,8 +120,6 @@ + return set(map(_convert, node.elts)) + elif isinstance(node, Dict): + return {_convert(k): _convert(v) for k, v in zip(node.keys, node.values)} +- elif isinstance(node, NameConstant): +- return node.value + elif sys.version_info < (3, 4) and isinstance(node, Name): + if node.id in _safe_names: + return _safe_names[node.id] diff --git a/python-ruamel-yaml.spec b/python-ruamel-yaml.spec index 4d24128..c17972b 100644 --- a/python-ruamel-yaml.spec +++ b/python-ruamel-yaml.spec @@ -14,6 +14,11 @@ URL: https://sourceforge.net/projects/ruamel-yaml # The PyPI sdist does not contain tests, so we use a snapshot from SourceForge Source: https://sourceforge.net/code-snapshots/hg/r/ru/ruamel-yaml/code/ruamel-yaml-code-%{commit}.zip +# Adjust setup.py for the removal of deprecated ast classes +# Fixes build with Python 3.14 +# https://sourceforge.net/p/ruamel-yaml/code/merge-requests/9/ +Patch: 9.patch + BuildArch: noarch %global _description %{expand: From 7ce90a363885435de491f1c8b7962dd14135394b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 2 Dec 2024 15:04:47 +0100 Subject: [PATCH 02/15] Fix the bootstrap build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Related: rhbz#2323169 The problem this fixes is a bit complex. It goes like this: 1. %pyproject_buildrequires runs for the first time. There is no pyproject.toml, only setup.py, so a dependency on setuptools is generated. A build dependency on wheel is not generated (as it is not needed on Fedora 42+). 2. %pyproject_buildrequires runs again. There is no pyproject.toml, only setup.py, so it is used. A build dependency on wheel is still not generated. A build dependency on ruamel-yaml-clib is generated when building without bootstrap, as it is a runtime dependency. Here it comes: setup.py code creates a pyproject.toml file (with a dependency on wheel) 😱 3a. Without bootstrap, dnf installs ruamel-yaml-clib and %%pyproject_buildrequires runs once more. It uses pyproject.toml (which now exists). A build dependency on wheel is now generated and %pyproject_buildrequires runs once more, dnf install wheel. 3b. With bootstrap, this step is skipped as there was no new dependency (on ruamel-yaml-clib) to trigger it. 4. The final (verification) %pyproject_buildrequires round uses pyproject.toml (which now exists). Without bootstrap, all is fine, no new dependency is generated. With bootstrap, the wheel dependency is generated for the first time, but at this point, it fails rpmbuild (because missing dependencies now fail the build). We see errors like this as a result: error: Failed build dependencies: python3dist(wheel) is needed by python-ruamel-yaml-0.18.6-2.fc42~bootstrap.noarch Considering the wheel dependency is entirely unneeded I proposed removal for upstream. An alternative solution is to rm -f pyproject.toml before calling %pyproject_buildrequires in %generate_buildrequires. But if upstream switches to a proper pyproject.toml, we might not notice that. --- 10.patch | 28 ++++++++++++++++++++++++++++ python-ruamel-yaml.spec | 5 +++++ 2 files changed, 33 insertions(+) create mode 100644 10.patch diff --git a/10.patch b/10.patch new file mode 100644 index 0000000..35a36fd --- /dev/null +++ b/10.patch @@ -0,0 +1,28 @@ +# HG changeset patch +# User Miro Hrončok +# Date 1733147018 -3600 +# Mon Dec 02 14:43:38 2024 +0100 +# Node ID 0c7d924a643f990dd365db57ac3d52baf7db34fb +# Parent 0bef9fa8b3c43637cd90ce3f2e299e81c2122128 +Do not specificity build-system.requires on wheel + +When building from pyproject.toml, setuptools only needed wheel for building wheels. +It was never needed needed to build sdists. +Setuptools knww this and properly generated the dependency on wheel only when needed. + +With the current setuptools version, wheel is not needed at all. + +See also https://github.com/pypa/pip/pull/12728 + +diff -r 0bef9fa8b3c4 -r 0c7d924a643f setup.py +--- a/setup.py Thu Mar 14 10:13:16 2024 +0100 ++++ b/setup.py Mon Dec 02 14:43:38 2024 +0100 +@@ -830,7 +830,7 @@ + with open(file_name, 'w') as fp: + fp.write(dedent("""\ + [build-system] +- requires = ["setuptools", "wheel"] ++ requires = ["setuptools"] + # test + build-backend = "setuptools.build_meta" + """)) diff --git a/python-ruamel-yaml.spec b/python-ruamel-yaml.spec index c17972b..d9f7066 100644 --- a/python-ruamel-yaml.spec +++ b/python-ruamel-yaml.spec @@ -19,6 +19,11 @@ Source: https://sourceforge.net/code-snapshots/hg/r/ru/ruamel-yaml/code/ # https://sourceforge.net/p/ruamel-yaml/code/merge-requests/9/ Patch: 9.patch +# Do not specificity build-system.requires on wheel +# Fixes the bootstrap build (see commit message for details) +# https://sourceforge.net/p/ruamel-yaml/code/merge-requests/10/ +Patch: 10.patch + BuildArch: noarch %global _description %{expand: From 6399b356b80955ef8a2ada310eb58bdc43b5497b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ondrej=20Mosn=C3=A1=C4=8Dek?= Date: Sun, 5 Jan 2025 18:36:55 +0100 Subject: [PATCH 03/15] Add TMT test for upstream ticket 534 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ondrej Mosnáček --- .fmf/version | 1 + plans/ci.fmf | 6 ++++++ tests/main.fmf | 1 + tests/sf534/main.fmf | 5 +++++ tests/sf534/test.py | 32 ++++++++++++++++++++++++++++++++ 5 files changed, 45 insertions(+) create mode 100644 .fmf/version create mode 100644 plans/ci.fmf create mode 100644 tests/main.fmf create mode 100644 tests/sf534/main.fmf create mode 100644 tests/sf534/test.py 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/plans/ci.fmf b/plans/ci.fmf new file mode 100644 index 0000000..d890aec --- /dev/null +++ b/plans/ci.fmf @@ -0,0 +1,6 @@ +summary: Run CI tests +discover: + how: fmf +execute: + how: tmt + diff --git a/tests/main.fmf b/tests/main.fmf new file mode 100644 index 0000000..1cfafe2 --- /dev/null +++ b/tests/main.fmf @@ -0,0 +1 @@ +component: python-ruamel-yaml diff --git a/tests/sf534/main.fmf b/tests/sf534/main.fmf new file mode 100644 index 0000000..5480ac5 --- /dev/null +++ b/tests/sf534/main.fmf @@ -0,0 +1,5 @@ +summary: Regression test for upstream ticket 534 +require: python3-ruamel-yaml +link: + - verifies: https://sourceforge.net/p/ruamel-yaml/tickets/534/ +test: python3 test.py diff --git a/tests/sf534/test.py b/tests/sf534/test.py new file mode 100644 index 0000000..8302605 --- /dev/null +++ b/tests/sf534/test.py @@ -0,0 +1,32 @@ +# Taken from https://sourceforge.net/p/ruamel-yaml/tickets/534/ + +from io import StringIO +from ruamel.yaml import YAML + +original = '0: foo\n' +py_original = {0: 'foo'} +prefix = '%YAML 1.1\n---\n' + +yaml = YAML() +yaml.version = (1, 1) + +loaded = yaml.load(original) +assert loaded == py_original + +print('Fresh') +stream = StringIO() +yaml.dump(py_original, stream) +fresh = stream.getvalue() +print(fresh) +assert fresh.startswith(prefix) +trimmed = fresh[len(prefix):] +assert trimmed == original, f"{trimmed!r} != {original!r}" + +print('Round trip') +stream = StringIO() +yaml.dump(loaded, stream) +round_tripped = stream.getvalue() +print(round_tripped) +assert round_tripped.startswith(prefix) +trimmed = round_tripped[len(prefix):] +assert trimmed == original, f"{trimmed!r} != {original!r}" From f4ffb1b349ecbbd7a05fdb88a6c66c81f14193e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ondrej=20Mosn=C3=A1=C4=8Dek?= Date: Sun, 5 Jan 2025 19:02:06 +0100 Subject: [PATCH 04/15] Update to version 0.18.10 (fedora#2334967) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ondrej Mosnáček --- 10.patch | 28 ------------------ 9.patch | 63 ----------------------------------------- python-ruamel-yaml.spec | 14 ++------- sources | 2 +- 4 files changed, 3 insertions(+), 104 deletions(-) delete mode 100644 10.patch delete mode 100644 9.patch diff --git a/10.patch b/10.patch deleted file mode 100644 index 35a36fd..0000000 --- a/10.patch +++ /dev/null @@ -1,28 +0,0 @@ -# HG changeset patch -# User Miro Hrončok -# Date 1733147018 -3600 -# Mon Dec 02 14:43:38 2024 +0100 -# Node ID 0c7d924a643f990dd365db57ac3d52baf7db34fb -# Parent 0bef9fa8b3c43637cd90ce3f2e299e81c2122128 -Do not specificity build-system.requires on wheel - -When building from pyproject.toml, setuptools only needed wheel for building wheels. -It was never needed needed to build sdists. -Setuptools knww this and properly generated the dependency on wheel only when needed. - -With the current setuptools version, wheel is not needed at all. - -See also https://github.com/pypa/pip/pull/12728 - -diff -r 0bef9fa8b3c4 -r 0c7d924a643f setup.py ---- a/setup.py Thu Mar 14 10:13:16 2024 +0100 -+++ b/setup.py Mon Dec 02 14:43:38 2024 +0100 -@@ -830,7 +830,7 @@ - with open(file_name, 'w') as fp: - fp.write(dedent("""\ - [build-system] -- requires = ["setuptools", "wheel"] -+ requires = ["setuptools"] - # test - build-backend = "setuptools.build_meta" - """)) diff --git a/9.patch b/9.patch deleted file mode 100644 index 34e5743..0000000 --- a/9.patch +++ /dev/null @@ -1,63 +0,0 @@ -# HG changeset patch -# User Miro Hrončok -# Date 1733146158 -3600 -# Mon Dec 02 14:29:18 2024 +0100 -# Branch python3.14 -# Node ID 677f1d63658f35e43446776e637248d0729405f3 -# Parent 0bef9fa8b3c43637cd90ce3f2e299e81c2122128 -Adjust setup.py for the removal of deprecated ast classes - -Those were deprecated since Python 3.8 and are removed in 3.14+. - -diff -r 0bef9fa8b3c4 -r 677f1d63658f setup.py ---- a/setup.py Thu Mar 14 10:13:16 2024 +0100 -+++ b/setup.py Mon Dec 02 14:29:18 2024 +0100 -@@ -76,7 +76,7 @@ - print(*args, **kw1) - - if sys.version_info >= (3, 8): -- from ast import Str, Num, Bytes, NameConstant # NOQA -+ from ast import Constant # NOQA - - - def literal_eval(node_or_string): -@@ -98,15 +98,21 @@ - raise TypeError('only string or AST nodes supported') - - def _convert(node): -- if isinstance(node, Str): -- if sys.version_info < (3,) and not isinstance(node.s, unicode): -- return node.s.decode('utf-8') -- return node.s -- elif isinstance(node, Bytes): -- return node.s -- elif isinstance(node, Num): -- return node.n -- elif isinstance(node, Tuple): -+ if sys.version_info >= (3, 8): -+ if isinstance(node, Constant): -+ return node.value -+ else: -+ if isinstance(node, Str): -+ if sys.version_info < (3,) and not isinstance(node.s, unicode): -+ return node.s.decode('utf-8') -+ return node.s -+ elif isinstance(node, Bytes): -+ return node.s -+ elif isinstance(node, Num): -+ return node.n -+ elif isinstance(node, NameConstant): -+ return node.value -+ if isinstance(node, Tuple): - return tuple(map(_convert, node.elts)) - elif isinstance(node, List): - return list(map(_convert, node.elts)) -@@ -114,8 +120,6 @@ - return set(map(_convert, node.elts)) - elif isinstance(node, Dict): - return {_convert(k): _convert(v) for k, v in zip(node.keys, node.values)} -- elif isinstance(node, NameConstant): -- return node.value - elif sys.version_info < (3, 4) and isinstance(node, Name): - if node.id in _safe_names: - return _safe_names[node.id] diff --git a/python-ruamel-yaml.spec b/python-ruamel-yaml.spec index d9f7066..9b8de79 100644 --- a/python-ruamel-yaml.spec +++ b/python-ruamel-yaml.spec @@ -1,10 +1,10 @@ # Breaks the circular dependency with ruamel.yaml.clib. %bcond_with bootstrap -%global commit 6f41eb6001661917fceb0e88ed0693ae1a7c50f4 +%global commit 04ba5ead9be050430fac2ca1d4e88b8e91f7be02 Name: python-ruamel-yaml -Version: 0.18.6 +Version: 0.18.10 Release: %autorelease Summary: YAML 1.2 loader/dumper package for Python @@ -14,16 +14,6 @@ URL: https://sourceforge.net/projects/ruamel-yaml # The PyPI sdist does not contain tests, so we use a snapshot from SourceForge Source: https://sourceforge.net/code-snapshots/hg/r/ru/ruamel-yaml/code/ruamel-yaml-code-%{commit}.zip -# Adjust setup.py for the removal of deprecated ast classes -# Fixes build with Python 3.14 -# https://sourceforge.net/p/ruamel-yaml/code/merge-requests/9/ -Patch: 9.patch - -# Do not specificity build-system.requires on wheel -# Fixes the bootstrap build (see commit message for details) -# https://sourceforge.net/p/ruamel-yaml/code/merge-requests/10/ -Patch: 10.patch - BuildArch: noarch %global _description %{expand: diff --git a/sources b/sources index f52e86d..898c9bb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ruamel-yaml-code-6f41eb6001661917fceb0e88ed0693ae1a7c50f4.zip) = 49fc9ef87e59b723803659300a8dc2c33d596bc2e1effa5235f26cf51fb08c0e6e0d2c386d54c290f97d63dc2a8956802a02c90e4a52881a2cd5d38daf1b0318 +SHA512 (ruamel-yaml-code-04ba5ead9be050430fac2ca1d4e88b8e91f7be02.zip) = 2e94f334d5750df28922c2efc58527fca696d6b41be91e70d2897647ac93e946d34bc7c2cce3185c7117b7444552feb19f6b952ba5ca598663549f3048486a80 From 829e0922a366bcb42147237db3bd23f187ce2507 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 18 Jan 2025 19:03:17 +0000 Subject: [PATCH 05/15] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From c7cb48c9c1bdbaf3a53351505f5d548a2a01ca4d Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 2 Jun 2025 22:53:51 +0200 Subject: [PATCH 06/15] Bootstrap for Python 3.14 --- python-ruamel-yaml.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/python-ruamel-yaml.spec b/python-ruamel-yaml.spec index 9b8de79..951097a 100644 --- a/python-ruamel-yaml.spec +++ b/python-ruamel-yaml.spec @@ -1,3 +1,4 @@ +%global _with_bootstrap 1 # Breaks the circular dependency with ruamel.yaml.clib. %bcond_with bootstrap From 4236d32316fc6558bd73a8047f08db9e228857ff Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 2 Jun 2025 23:35:06 +0200 Subject: [PATCH 07/15] Rebuilt for Python 3.14 --- python-ruamel-yaml.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/python-ruamel-yaml.spec b/python-ruamel-yaml.spec index 951097a..9b8de79 100644 --- a/python-ruamel-yaml.spec +++ b/python-ruamel-yaml.spec @@ -1,4 +1,3 @@ -%global _with_bootstrap 1 # Breaks the circular dependency with ruamel.yaml.clib. %bcond_with bootstrap From 209e8e8f4ad830260f5ad13eeda11277cc266b96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ondrej=20Mosn=C3=A1=C4=8Dek?= Date: Thu, 5 Jun 2025 09:25:18 +0200 Subject: [PATCH 08/15] Update to version 0.18.14 (fedora#2368448) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also pull tarballs from https://yaml.dev/, which is referenced in CHANGES as an additional official source. Signed-off-by: Ondrej Mosnáček --- .gitignore | 2 +- python-ruamel-yaml.spec | 8 +++----- sources | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index e3fb872..e28cffa 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -/*.tar.gz +/*.tar.xz /*.zip diff --git a/python-ruamel-yaml.spec b/python-ruamel-yaml.spec index 9b8de79..6394ac8 100644 --- a/python-ruamel-yaml.spec +++ b/python-ruamel-yaml.spec @@ -1,10 +1,8 @@ # Breaks the circular dependency with ruamel.yaml.clib. %bcond_with bootstrap -%global commit 04ba5ead9be050430fac2ca1d4e88b8e91f7be02 - Name: python-ruamel-yaml -Version: 0.18.10 +Version: 0.18.14 Release: %autorelease Summary: YAML 1.2 loader/dumper package for Python @@ -12,7 +10,7 @@ Summary: YAML 1.2 loader/dumper package for Python License: MIT URL: https://sourceforge.net/projects/ruamel-yaml # The PyPI sdist does not contain tests, so we use a snapshot from SourceForge -Source: https://sourceforge.net/code-snapshots/hg/r/ru/ruamel-yaml/code/ruamel-yaml-code-%{commit}.zip +Source: https://yaml.dev/ruamel-dl-tagged-releases/ruamel.yaml-%{version}.tar.xz BuildArch: noarch @@ -33,7 +31,7 @@ BuildRequires: python3-pytest %description -n python3-ruamel-yaml %{_description} %prep -%autosetup -n ruamel-yaml-code-%{commit} +%autosetup -n ruamel.yaml-%{version} # Upstream upper-bounds the Python interpeter versions with which the C # implementation (ruamel.yaml.clib dependency) may be used. Patch this out. sed -r -i 's/( and python_version<"[^"]+")(.*ruamel\.yaml\.clib)/\2/' \ diff --git a/sources b/sources index 898c9bb..343d4ad 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ruamel-yaml-code-04ba5ead9be050430fac2ca1d4e88b8e91f7be02.zip) = 2e94f334d5750df28922c2efc58527fca696d6b41be91e70d2897647ac93e946d34bc7c2cce3185c7117b7444552feb19f6b952ba5ca598663549f3048486a80 +SHA512 (ruamel.yaml-0.18.14.tar.xz) = 1245dbaf184cf98257df5d78c32f3775acf4873cb0696b852cf145cdcb7bd0c24c3c4bac5470f18341537a04fa56df4629b554d742341de3774cc78cdd0d1f8a From b9a3871a83e3c6096ad3de727d305f41bcd6bd3f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 10:16:32 +0000 Subject: [PATCH 09/15] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From a45b1d803f99e6ea86cd6936db86ce4998b1f578 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 15 Aug 2025 14:47:54 +0200 Subject: [PATCH 10/15] Rebuilt for Python 3.14.0rc2 bytecode From 7e8dc99058282dcad0e3f6e7804a0084f67162ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ondrej=20Mosn=C3=A1=C4=8Dek?= Date: Tue, 19 Aug 2025 14:55:53 +0200 Subject: [PATCH 11/15] Update to version 0.18.15 (fedora#2389387) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ondrej Mosnáček --- python-ruamel-yaml.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/python-ruamel-yaml.spec b/python-ruamel-yaml.spec index 6394ac8..5b54205 100644 --- a/python-ruamel-yaml.spec +++ b/python-ruamel-yaml.spec @@ -2,7 +2,7 @@ %bcond_with bootstrap Name: python-ruamel-yaml -Version: 0.18.14 +Version: 0.18.15 Release: %autorelease Summary: YAML 1.2 loader/dumper package for Python diff --git a/sources b/sources index 343d4ad..33fd911 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ruamel.yaml-0.18.14.tar.xz) = 1245dbaf184cf98257df5d78c32f3775acf4873cb0696b852cf145cdcb7bd0c24c3c4bac5470f18341537a04fa56df4629b554d742341de3774cc78cdd0d1f8a +SHA512 (ruamel.yaml-0.18.15.tar.xz) = 1802ae9428078aa580ed7fb0d787e021db142c49d26e89745bf2130af4738c850d0aafb5ae9e091f934b6d20ec7275c3fcd4506591617dbdc396bac377bdf243 From dbfc5f06666a320d0c000df55130fc62be1aafeb Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 19 Sep 2025 14:22:49 +0200 Subject: [PATCH 12/15] Rebuilt for Python 3.14.0rc3 bytecode From b7baece53fa912a88c8dbd9340b9fffdc5a11c35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ondrej=20Mosn=C3=A1=C4=8Dek?= Date: Thu, 23 Oct 2025 08:50:25 +0200 Subject: [PATCH 13/15] Update to version 0.18.16 (fedora#2405874) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ondrej Mosnáček --- python-ruamel-yaml.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/python-ruamel-yaml.spec b/python-ruamel-yaml.spec index 5b54205..10cd123 100644 --- a/python-ruamel-yaml.spec +++ b/python-ruamel-yaml.spec @@ -2,7 +2,7 @@ %bcond_with bootstrap Name: python-ruamel-yaml -Version: 0.18.15 +Version: 0.18.16 Release: %autorelease Summary: YAML 1.2 loader/dumper package for Python diff --git a/sources b/sources index 33fd911..b90ca66 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ruamel.yaml-0.18.15.tar.xz) = 1802ae9428078aa580ed7fb0d787e021db142c49d26e89745bf2130af4738c850d0aafb5ae9e091f934b6d20ec7275c3fcd4506591617dbdc396bac377bdf243 +SHA512 (ruamel.yaml-0.18.16.tar.xz) = 1d4c28c6769167d044cfc506035a0d7e13b533ecbfa2287b00035e9036c400c9cbd86fa96921a7e6a9c9b286f9bf4970637a09d4747c5bf7315b37db353720f6 From d39270652a7d9778d1c89bc23fbbdd17600c5f12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ondrej=20Mosn=C3=A1=C4=8Dek?= Date: Thu, 18 Dec 2025 08:58:54 +0100 Subject: [PATCH 14/15] Update to version 0.18.17 (fedora#2423406) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ondrej Mosnáček --- python-ruamel-yaml.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/python-ruamel-yaml.spec b/python-ruamel-yaml.spec index 10cd123..f183a59 100644 --- a/python-ruamel-yaml.spec +++ b/python-ruamel-yaml.spec @@ -2,7 +2,7 @@ %bcond_with bootstrap Name: python-ruamel-yaml -Version: 0.18.16 +Version: 0.18.17 Release: %autorelease Summary: YAML 1.2 loader/dumper package for Python diff --git a/sources b/sources index b90ca66..8a3b9d4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ruamel.yaml-0.18.16.tar.xz) = 1d4c28c6769167d044cfc506035a0d7e13b533ecbfa2287b00035e9036c400c9cbd86fa96921a7e6a9c9b286f9bf4970637a09d4747c5bf7315b37db353720f6 +SHA512 (ruamel.yaml-0.18.17.tar.xz) = f39585da4463bb28957549b08debb2cb01ee15f926b20412b50e3dce24643a7de9790f7bd0aeb4191ade449738ff5642e1b1f71dbb199ad70c35c6392279c22c From cdec57db9dad4ca3f472574438de11a509cc2749 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ondrej=20Mosn=C3=A1=C4=8Dek?= Date: Mon, 5 Jan 2026 16:47:10 +0100 Subject: [PATCH 15/15] Update to version 0.19.1 (fedora#2426465) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ondrej Mosnáček --- python-ruamel-yaml.spec | 19 ++++++++++--------- sources | 2 +- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/python-ruamel-yaml.spec b/python-ruamel-yaml.spec index f183a59..93c571e 100644 --- a/python-ruamel-yaml.spec +++ b/python-ruamel-yaml.spec @@ -2,7 +2,7 @@ %bcond_with bootstrap Name: python-ruamel-yaml -Version: 0.18.17 +Version: 0.19.1 Release: %autorelease Summary: YAML 1.2 loader/dumper package for Python @@ -28,20 +28,19 @@ BuildRequires: python3-pytest %py_provides python3-ruamel.yaml +%if !%{with bootstrap} +# ruamel.yaml.clibz is not available in Fedora (and probably never will +# be), so require the old clib backend +Requires: python3-ruamel-yaml+oldlibyaml = %{version}-%{release} +%endif + %description -n python3-ruamel-yaml %{_description} %prep %autosetup -n ruamel.yaml-%{version} -# Upstream upper-bounds the Python interpeter versions with which the C -# implementation (ruamel.yaml.clib dependency) may be used. Patch this out. -sed -r -i 's/( and python_version<"[^"]+")(.*ruamel\.yaml\.clib)/\2/' \ - __init__.py -%if %{with bootstrap} -sed -r -i 's/^([[:blank:]]*)(.*ruamel\.yaml\.clib)/\1# \2/' __init__.py -%endif %generate_buildrequires -%pyproject_buildrequires +%pyproject_buildrequires %{!?with_bootstrap:-x oldlibyaml} %build %pyproject_wheel @@ -63,5 +62,7 @@ k="${k-}${k+ and }not test_dump_cyaml_1_2" %files -n python3-ruamel-yaml -f %{pyproject_files} %doc README.md +%pyproject_extras_subpkg -n python3-ruamel-yaml oldlibyaml + %changelog %autochangelog diff --git a/sources b/sources index 8a3b9d4..f0e723c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ruamel.yaml-0.18.17.tar.xz) = f39585da4463bb28957549b08debb2cb01ee15f926b20412b50e3dce24643a7de9790f7bd0aeb4191ade449738ff5642e1b1f71dbb199ad70c35c6392279c22c +SHA512 (ruamel.yaml-0.19.1.tar.xz) = bf9eb8e40f506d6f3f34aee5f5ec74eb93bfda2b27022f6ad62dfac724b9e0847d61e3159d284bada7dec147992aaf509804f7139818de5bc85aa328bc32601f