From 24c10b04437a6fc47ce097810c00c8cd6dd9df3b062bf73ebb8b9309d909946e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 3 May 2024 22:54:26 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main python-ruamel.yaml revision 97d71a91262b5dbb0964df142703d5ad --- .gitattributes | 23 ++ 0000-fix-big-endian-issues.patch | 33 +++ python-ruamel.yaml.changes | 380 +++++++++++++++++++++++++++++++ python-ruamel.yaml.spec | 60 +++++ ruamel.yaml-0.17.21.tar.gz | 3 + 5 files changed, 499 insertions(+) create mode 100644 .gitattributes create mode 100644 0000-fix-big-endian-issues.patch create mode 100644 python-ruamel.yaml.changes create mode 100644 python-ruamel.yaml.spec create mode 100644 ruamel.yaml-0.17.21.tar.gz diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/0000-fix-big-endian-issues.patch b/0000-fix-big-endian-issues.patch new file mode 100644 index 0000000..7f11c4f --- /dev/null +++ b/0000-fix-big-endian-issues.patch @@ -0,0 +1,33 @@ +Author: Michael R. Crusoe +Description: Default to pure python parsing on big endian systems +Forwarded: not-needed + +As the cpython code has an endianness bug https://sourceforge.net/p/ruamel-yaml/tickets/360/ + +Thanks to Rebecca N. Palmer for the tip about sys.byteorder! + +Index: ruamel.yaml/main.py +=================================================================== +--- ruamel.yaml.orig/main.py 2021-10-14 00:10:27.265523204 +0200 ++++ ruamel.yaml/main.py 2021-10-14 00:11:02.469504291 +0200 +@@ -51,7 +51,7 @@ + + + class YAML: +- def __init__(self, *, typ=None, pure=False, output=None, plug_ins=None): # input=None, ++ def __init__(self, *, typ=None, pure=None, output=None, plug_ins=None): # input=None, + # type: (Any, Optional[Text], Any, Any, Any) -> None + """ + typ: 'rt'/None -> RoundTripLoader/RoundTripDumper, (default) +@@ -64,6 +64,11 @@ + """ + + self.typ = ['rt'] if typ is None else (typ if isinstance(typ, list) else [typ]) ++ if pure is None: ++ if sys.byteorder == 'big': ++ pure = True ++ else: ++ pure = False + self.pure = pure + + # self._input = input diff --git a/python-ruamel.yaml.changes b/python-ruamel.yaml.changes new file mode 100644 index 0000000..93379f7 --- /dev/null +++ b/python-ruamel.yaml.changes @@ -0,0 +1,380 @@ +------------------------------------------------------------------- +Fri Apr 21 12:33:35 UTC 2023 - Dirk Müller + +- add sle15_python_module_pythons (jsc#PED-68) + +------------------------------------------------------------------- +Tue Jul 19 11:59:38 UTC 2022 - Dirk Müller + +- update to 0.17.21: + * fix bug in calling `.compose()` method with `pathlib.Path` instance. + +------------------------------------------------------------------- +Thu Apr 28 15:21:16 UTC 2022 - Jan Baier + +- add 0000-fix-big-endian-issues.patch to workaround issue 360 on big endian systems + +------------------------------------------------------------------- +Mon Jan 10 22:47:40 UTC 2022 - Dirk Müller + +- update to 0.17.20: + - fix error in microseconds while rounding datetime fractions >= 9999995 + - fix mypy problems + - copy-paste error in folded scalar comment attachment + - fix 411, indent error comment between key empty seq value + +------------------------------------------------------------------- +Mon Nov 29 11:01:04 UTC 2021 - Dirk Müller + +- update to 0.17.17: + * extract timestamp matching/creation to util + +------------------------------------------------------------------- +Sat Oct 16 22:32:20 UTC 2021 - Dirk Müller + +- update to 0.17.16: + - also handle issue 397 when comment is newline + - fix issue 397, insert comment before key when a comment between key and value exists + - fix issue 396, inserting key/val in merged-in dictionary + - minor fix in attr handling + - fix issue with anchor on registered class not preserved and those classes using package + attrs with `@attr.s()` + - fix error baseclass for ``DuplicateKeyErorr`` (reported by `Łukasz Rogalski + - fix typo in reader error message, causing `KeyError` during reader error + +------------------------------------------------------------------- +Sat Jul 17 13:53:25 UTC 2021 - Dirk Müller + +- update to 0.17.10: + - fix issue 388, token with old comment structure != two elements + - fix issue with updating CommentedMap + - fix for issue 387 where templated anchors on tagged object did get set + resulting in potential id reuse. + - issue 385 also affected other deprecated loaders + - merged type annotations update + - deprecated round_trip_loader function not working + - wasted a few hours getting rid of mypy warnings/errors + - fix for issue 384 !!set with aliased entry resulting in broken YAML on rt + +------------------------------------------------------------------- +Sun May 2 14:52:46 UTC 2021 - Matthias Fehring + +- update to 0.17.4 + * prevent (empty) comments from throwing assertion error comments + (or empty line) will be dropped +- update to 0.17.3 + * fix for issue 382 caused by an error in a format string + * allow expansion of aliases by setting + yaml.composer.return_alias = lambda s: copy.deepcopy(s) + +------------------------------------------------------------------- +Tue Mar 30 09:28:23 UTC 2021 - Ondřej Súkup + +- update to 0.17.2 + * fix upstream packaging problems + +------------------------------------------------------------------- +Fri Mar 26 15:28:05 UTC 2021 - Ondřej Súkup + +- update to 0.17.0 + * drop python2 support + * preparation for f-strings + +------------------------------------------------------------------- +Fri Oct 16 08:47:42 UTC 2020 - Matthias Fehring + +- update to 0.16.12 + * update links in doc +- update to 0.16.11 + * workaround issue with setuptools 0.50 and importing pip + +------------------------------------------------------------------- +Fri Feb 21 10:02:08 UTC 2020 - Ondřej Súkup + +- update to 0.16.10 (bsc#1164458, CVE-2019-20478) + * fix typchecking issue on TaggedScalar + * fix error in dumping literal scalar in sequence with comments before element + * fix empty string mapping key roundtripping with preservation of quotes as ? ‘ + * fix incorrect state setting in class constructor + +------------------------------------------------------------------- +Mon Sep 16 15:36:08 UTC 2019 - John Vandenberg + +- Replace => with >= in BuildRequires + +------------------------------------------------------------------- +Fri Sep 6 06:54:38 UTC 2019 - Ondřej Súkup + +- update to 0.16.5 + * allow for YAML(typ=['unsafe', 'pytypes']) + * fix output of TAG directives with # + * move setting of version based on YAML directive to scanner, allowing to + check for file version during TAG directive scanning + * preserve YAML and TAG directives on roundtrip, correctly output # in URL + for YAML 1.2 + +------------------------------------------------------------------- +Mon Aug 12 12:37:27 UTC 2019 - Ondřej Súkup + +- ruamel.yaml.clib is now harddep + +------------------------------------------------------------------- +Thu Aug 8 13:27:29 UTC 2019 - Ondřej Súkup + +- update to 0.16.1 + * Allow '#' in tag URI as these are allowed in YAML 1.2 + +------------------------------------------------------------------- +Wed Aug 7 13:49:46 UTC 2019 - Ondřej Súkup + +- update to 0.16.0 + * split c-library to separeate package (python-ruamel.yaml.clib) + +------------------------------------------------------------------- +Mon Jul 15 07:49:54 UTC 2019 - John Vandenberg + +- Fix %python_exec -> %python_expand +- update to 0.15.99 + * add `py.typed` to distribution + * more accurately specify repository in README +- from 0.15.98 + * pass memo on to deepcopy + * regenerate ext/_ruamel_yaml.c with Cython version 0.29.12 + needed for Python 3.8 betas + +------------------------------------------------------------------- +Tue May 21 11:20:51 UTC 2019 - Ondřej Súkup + +- update to 0.15.96 + * fix failure to round-trip anchored scalars in block sequence + * fix failure to indent comments on round-trip anchored block style + scalars in block sequence + +------------------------------------------------------------------- +Tue May 14 07:23:53 UTC 2019 - Ondřej Súkup + +- update to 0.15.94 + * fix missing line-break after end-of-file comments not ending in + line-break + * fix failure to parse empty implicit flow mapping key + * in YAML 1.1 plains scalars `y`, 'n', `Y`, and 'N' are now + correctly recognised as booleans and such strings dumped quoted + +------------------------------------------------------------------- +Thu Apr 18 13:10:02 UTC 2019 - Ondřej Súkup + +- update to 0.15.92 + * fix failure to parse empty implicit block mapping key + * allowing duplicate keys would not work for merge keys + * fix issue with updating CommentedMap from list of tuples + +------------------------------------------------------------------- +Fri Mar 1 14:17:32 UTC 2019 - Ondřej Súkup + +- update to 0.15.89 + * fix for items with flow-mapping in block sequence output on single line + * fix for safe dumping erroring in creation of representereror when dumping namedtuple + * fix inclusing of python code from the subpackage data + +------------------------------------------------------------------- +Tue Jan 29 09:59:19 UTC 2019 - Ondřej Súkup + +- update to 0.15.87 + * fix problem with empty lists and the code to reinsert merge keys + * reinsert merge key in its old position + * fix for issue with non-ASCII anchor names + * fix for issue when parsing flow mapping value starting with colon + * the types used by `SafeConstructor` for mappings and sequences can + now by set by assigning to `XXXConstructor.yaml_base_dict_type` + (and `..._list_type`), preventing the need to copy two methods + with 50+ lines that had `var = {}` hardcoded. + * fix for `CommentedMap.copy()` not returning `CommentedMap` + * fix for bug in roundtripping aliases used as key + * anchors and aliases on scalar int, float, string and bool are now preserved. + Anchors do not need a referring alias for these + * fix issue saving methods of metaclass derived classes + +------------------------------------------------------------------- +Tue Dec 4 10:06:58 UTC 2018 - Ondřej Súkup + +- update to 0.15.80 + * fix issue emitting BEL character when round-tripping invalid folded input + * fix issue with anchors nested deeper than alias + +------------------------------------------------------------------- +Fri Nov 30 07:43:33 UTC 2018 - Adrian Schröter + +- update to 0.15.78 + * setup issue for 3.8 (reported by Sidney Kuyateh) + * setting yaml.sort_base_mapping_type_on_output = False, will prevent explicit sorting by keys in the base representer of mappings. Roundtrip already did not do this. Usage only makes real sense for Python 3.6+ (feature request by Sebastian Gerber). + * implement Python version check in YAML metadata in _test/test_z_data.py + * fix issue with empty mapping and sequence loaded as flow-style (mapping reported by Min RK, sequence by Maged Ahmed) + * fix issue with single '?' scalar (reported by Terrance) + * fix issue with duplicate merge keys (prompted by answering a StackOverflow question by math) + * fix dropping of comment on rt before sequence item that is sequence item (reported by Thorsten Kampe) + * fix irregular output on pre-comment in sequence within sequence (reported by Thorsten Kampe) + * allow non-compact (i.e. next line) dumping sequence/mapping within sequence. + * fix regression on explicit 1.1 loading with the C based scanner/parser (reported by Tomas Vavra) + +------------------------------------------------------------------- +Mon Oct 1 09:59:45 UTC 2018 - Ondřej Súkup + +- update to 0.15.71 + * added ``key`` and ``reverse`` parameter + * indent root level literal scalars that have directive or document end + markers at the beginning of a line + * fix issue #232 revert to throw ParserError for unexcpected ``]`` + and ``}`` instead of IndexError. + * fix issue with dump_all gobbling end-of-document comments on parsing + * fix issue with parsabel, but incorrect output with nested flow-style sequences + * fix issue with loading Python objects that have __setstate__ and recursion in parameters + * reverted CommentedMap and CommentedSeq to subclass ordereddict resp. list, + reimplemented merge maps so that both ``dict(**commented_map_instance)`` and JSON + dumping works. This also allows checking with ``isinstance()`` on ``dict`` resp. ``list``. + * fix regression where handcrafted CommentedMaps could not be initiated + * fix regression with non-root literal scalars that needed indent indicator + * tag:yaml.org,2002:python/object/apply now also uses __qualname__ on PY3 + +------------------------------------------------------------------- +Fri Aug 31 10:53:13 UTC 2018 - Ondřej Súkup + +- update to 0.15.64 + * support round-trip of tagged sequences: !Arg [a, {b: 1}] + * fix issue when roundtripping floats starting with a dot such as .5 + * C based reader/scanner & emitter now allow setting of 1.2 as YAML version + +------------------------------------------------------------------- +Tue Aug 28 13:20:10 UTC 2018 - mimi.vx@gmail.com + +- update to 0.15.61 + * support for round-tripping folded style scalars + * speed up of scanning (~30% depending on the input) + * cleanup for mypy + * issue with C based loader and leading zeros + * simple mappings can now be used as keys when round-tripping + * Fix that CommentedSeq could no longer be used in adding or do a sort + * fix issue with python -O optimizing away code + * unmade CommentedSeq a subclass of list. + * fix issue where a comment could pop-up twice in the output + * fix issue where JSON object (mapping) without spaces was not parsed properly + * ix issue where comments after empty flow-style mappings were not emitted + * fix issue with flow style mapping with comments gobbled newline + * fix issue where single ‘+’ under YAML 1.2 was interpreted as integer, erroring out + * added .copy() mapping representation for round-tripping + * Fix method name dumps (were not dotted) and loads + * Allow YAML() as a context manager for output + * Fix issue with incorrect type information for load() and dump() + * fixed DeprecationWarning for importing from collections on 3.7 + * After adding failing test for YAML.load_all(Path()), remove StopIteration + +------------------------------------------------------------------- +Sun Jul 15 22:04:22 UTC 2018 - mimi.vx@gmail.com + +- update to 0.15.44 + * fix for losing precision when roundtripping floats by + * decoding unicode escaped tags on Python2 + * add detection of C-compile failure + * fix regression showing only on narrow Python 2.7 + * ``register_class()`` now returns class + +------------------------------------------------------------------- +Wed Apr 4 18:37:46 UTC 2018 - mimi.vx@gmail.com + +- update to 0.15.37 + * fix incompatibility of C extension with 3.7 + +------------------------------------------------------------------- +Tue Jan 9 08:52:38 UTC 2018 - mimi.vx@gmail.com + +- update to 0.15.35 + * allow None as stream when specifying transform parameters to YAML.dump() + +------------------------------------------------------------------- +Thu Oct 12 11:59:03 UTC 2017 - mimi.vx@gmail.com + +- update to 0.15.34 + * fix for issue 157: CDumper not dumping floats + * support for “undefined” round-tripping tagged scalar objects + * fix issue 148: replace cryptic error message when using !!timestamp with + an incorrectly formatted or non- scalar. + * allow setting yaml.default_flow_style = None (default: False) for for typ='rt'. + * fix for issue 149: multiplications on ScalarFloat now return float + * fix Comment dumping + * fix for issue with “compact JSON” not parsing: {"in":{},"out":{}} + * fix issue #51: different indents for mappings and sequences + * fix for flow sequence/mapping as element/value of block sequence + with sequence-indent minus dash-offset not equal two. + * fix issue #61: merge of merge cannot be __repr__-ed + * fix issue 62, YAML 1.2 allows ? and : in plain scalars if non-ambigious + * fix lists within lists which would make comments disappear + * fix for disappearing comment after empty flow sequence + * fix for problem with dumping (unloaded) floats + * added ScalarFloat which supports roundtripping of 23.1, 23.100, 42.00E+56, + 0.0, -0.0 etc. while keeping the format. Underscores in mantissas + are not preserved/supported + * (finally) fixed longstanding issue 23, now handling comment between block + mapping key and value correctly + * warn on YAML 1.1 float input that is incorrect + * allow setting of boolean representation (false, true) + by using: yaml.boolean_representation = [u'False', u'True'] + * fix for round_tripping integers on 2.7.X > sys.maxint + * fix for round_tripping singe excl. mark tags doubling + * fix for writing unicode in new API, + * added object constructor for rt, decorator yaml_object to replace YAMLObject. + * fix for problem using load_all with Path() instance + * fix for load_all in combination with zero indent block style literal + (pure=True only!) + * missing pure attribute on YAML useful for implementing !include tag + constructor for including YAML files in a YAML file + * some documentation improvements + * trigger of doc build on new revision + * support for Unicode supplementary Plane output + * fix for issue 135, typ=’safe’ not dumping in Python 2.7 + * fix for issue 133, in setup.py: change ModuleNotFoundError to ImportError + * suppress duplicate key warning on mappings with merge keys + * remove fatal dependency of setup.py on wheel package + * fix for issue 130, regression in nested merge keys + * top level PreservedScalarString not indented if not explicitly asked to + * some mypy additions + * fix for issue 127: tagged scalars were always quoted and seperated by + a newline when in a block sequence + * allow plug-in install via install ruamel.yaml[jinja2] + * add plug-in mechanism for load/dump pre resp. post-processing + * a set() with duplicate elements now throws error in rt loading + * support for toplevel column zero literal/folded scalar in explicit documents + * repeat load() on a single YAML() instance would fail. + * transform parameter on dump that expects a function taking a string + and returning a string. This allows transformation of the output before + it is written to stream. This forces creation of the complete output in memory! + * some updates to the docs + * update to conform to mypy 0.511: mypy –strict + * duplicate keys in mappings generate an error + * dependecy on ruamel.ordereddict for 2.7 now via extras_require + * it is now allowed to pass in a pathlib.Path as “stream” parameter + to all load/dump functions + * passing in a non-supported object (e.g. a string) as “stream” will result + in a much more meaningful YAMLStreamError. + * assigning a normal string value to an existing CommentedMap key + or CommentedSeq element will result in a value cast to the previous + value’s type if possible. + * added YAML class for new API + * fix for issue 119, deepcopy not returning subclasses + * fix for issue 103 allowing implicit documents after document end marker + line (...) in YAML 1.2 + * fix problem with emitting using cyaml + +------------------------------------------------------------------- +Mon Apr 24 20:16:56 UTC 2017 - aloisio@gmx.com + +- Update to 0.14.9 (see included CHANGES file) +- Converted to single-spec +- LICENSE file is now provided internally, so dropped Source1 +- Dropped python-ruamel.ordereddict as build requirement + +------------------------------------------------------------------- +Tue Oct 11 21:14:56 UTC 2016 - rjschwei@suse.com + +- Initial build (FATE#321630, bsc#1002895) + + Include in SLES 12 + + Version 0.12.14 + diff --git a/python-ruamel.yaml.spec b/python-ruamel.yaml.spec new file mode 100644 index 0000000..8a247ce --- /dev/null +++ b/python-ruamel.yaml.spec @@ -0,0 +1,60 @@ +# +# spec file for package python-ruamel.yaml +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?!python_module:%define python_module() python-%{**} python3-%{**}} +%{?sle15_python_module_pythons} +Name: python-ruamel.yaml +Version: 0.17.21 +Release: 0 +Summary: Python YAML parser +License: MIT +Group: Development/Languages/Python +URL: https://sourceforge.net/p/ruamel-yaml +Source: https://files.pythonhosted.org/packages/source/r/ruamel.yaml/ruamel.yaml-%{version}.tar.gz +Patch0: 0000-fix-big-endian-issues.patch +BuildRequires: %{python_module setuptools} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-ruamel.yaml.clib >= 0.1.2 +BuildArch: noarch +%python_subpackages + +%description +ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation +of comments, seq/map flow style, and map key order. + +%prep +%setup -q -n ruamel.yaml-%{version} +%patch0 -p1 +rm -rf *egg-info + +%build +%python_build + +%install +%python_install --single-version-externally-managed +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%files %{python_files} +%license LICENSE +%doc CHANGES README.rst +%{python_sitelib}/ruamel +%{python_sitelib}/ruamel.yaml-%{version}-py%{python_version}-nspkg.pth +%{python_sitelib}/ruamel.yaml-%{version}-py%{python_version}.egg-info + +%changelog diff --git a/ruamel.yaml-0.17.21.tar.gz b/ruamel.yaml-0.17.21.tar.gz new file mode 100644 index 0000000..b3133dd --- /dev/null +++ b/ruamel.yaml-0.17.21.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af +size 128123