From 3b210661829ded97075e231df237b6e3121b6ef8bf1765dda328b25ab0d22e47 Mon Sep 17 00:00:00 2001 From: Nico Krapp Date: Fri, 30 Aug 2024 09:19:49 +0000 Subject: [PATCH] - drop optional test dependency on python-commentjson OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-resolvelib?expand=0&rev=25 --- .gitattributes | 23 ++++++++ .gitignore | 1 + python-resolvelib.changes | 117 ++++++++++++++++++++++++++++++++++++++ python-resolvelib.spec | 60 +++++++++++++++++++ resolvelib-1.0.1.tar.gz | 3 + 5 files changed, 204 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 python-resolvelib.changes create mode 100644 python-resolvelib.spec create mode 100644 resolvelib-1.0.1.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/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/python-resolvelib.changes b/python-resolvelib.changes new file mode 100644 index 0000000..5eca646 --- /dev/null +++ b/python-resolvelib.changes @@ -0,0 +1,117 @@ +------------------------------------------------------------------- +Fri Aug 23 10:09:20 UTC 2024 - pgajdos@suse.com + +- drop optional test dependency on python-commentjson + +------------------------------------------------------------------- +Fri Dec 8 13:39:00 UTC 2023 - Dirk Müller + +- update to 1.0.1: + * Fix calls to opaque objects and use provider interface calls + instead. `#126 + * Implement backjumping to significantly speed up the + resolution process by skipping over irrelevant parts of the + resolution search space. `#113 + * A new reporter hook ``rejecting_candidate`` is added, + replacing ``backtracking``. + * The hook is called every time the resolver rejects a + conflicting candidate before trying out the next one in line. + * Some valid states that were previously rejected are now + accepted. This affects states where multiple candidates for + the same dependency conflict with each other. + The ``information`` argument passed to + ``AbstractProvider.get_preference`` may now contain empty + iterators. This has always been allowed by the method + definition but it was previously not possible in practice. + +------------------------------------------------------------------- +Mon May 8 05:29:06 UTC 2023 - Johannes Kastl + +- add sle15_python_module_pythons + +------------------------------------------------------------------- +Wed Jan 18 08:12:49 UTC 2023 - Torsten Gruner + +- ignore some faulty tests + Because of python-packaging version: gh#sarugaku/resolvelib#114 + +------------------------------------------------------------------- +Thu Dec 15 21:03:50 UTC 2022 - Dirk Müller + +- add comment on why we need to stay with < 0.9.0 (bsc#1206225) + +------------------------------------------------------------------- +Sun Jul 17 08:24:27 UTC 2022 - Dirk Müller + +- update to 0.8.1: + * A new reporter hook ``resolving_conflicts`` is added. The resolver triggers + * this hook when it detects conflicts in the dependency tree, and before it + * attempts to fix them. The hook accepts one single argument ``causes``, which + * is a list of ``(requirement, parent)`` 2-tuples that represents all the + * edges that lead to the detected conflicts. + +------------------------------------------------------------------- +Sun Nov 7 18:26:54 UTC 2021 - Dirk Müller + +- update to 0.8.0: + * Add ``backtrack_causes`` to ``get_preference``, which contains information + about the requirements involved in the most recent backtrack. This allows + the provider to utilise this information to tweak the ordering as well as + for recording/reporting conflicts. + * When merging a candidate's dependencies, make sure the merge target is + up-to-date within the loop, so the merge does not lose information when a + candidate returns multiple dependency specifications under one identifier + (e.g. specifyiung two dependencies ``a>1`` and ``a<2``, instead of one single + ``a>1,<2`` dependency). `#80 `_ + * Redesign ``get_preference()`` to include resolution state on dependencies + other than the currently working one, to allow the provider to better take + account of the global resolver knowledge and determine the best strategy. The + provider now can, for example, correctly calculate how far a dependency is + from the root node in the graph. `#74 `_ + * A new argument ``incompatibilities`` is now passed to the ``find_matches()`` + hook, which the provider must use to exclude matches from the return value. + * Redesign ``find_matches()`` to include resolution state on dependencies other + than the currently working one, to handle usages that need to return candidates + based on non-local states. One such example is PEP 508 direct URLs specified + on a package, which need to be available to the same package specified with + extras (which would have a different identifier). + * The resolver no longer relies on implicit candidate equality to detect + incompatibilities. This is done by an additional ``find_matches()`` argument; + see the *Features* section to learn more. + * Provide type stubs for most classes. + * Fix a state management bug that causes the resolver to enter an infinite loop + in certain backtracking cases. + * Fix a performance regression if ``find_matches()`` returns a non-built-in sequence instance. + * ``find_matches()`` now may return a ``Callable[[], Iterator[Candidate]]`` to + avoid needing to provide all candidates eagerly for the resolver. This + improves performance when fetching candidates is costly, but not always + required. + * Add ``parent`` argument to the ``add_requirement()`` reporter hook. + * Redesign ``find_matches()`` to support a requirement "adding" candidates to + the set, and nudge the provider away from implementing ``find_matches()`` and + ``is_satisfied_by()`` with incorrect set properties. + +------------------------------------------------------------------- +Wed Apr 15 15:49:52 UTC 2020 - Marketa Calabkova + +- Update to 0.3.0 + * Provide both the requirements and their parents as exceptiondata for the + ``ResolutionImpossible`` exception, via a ``causes`` attribute that replaces + the previous ``requirements`` attribute. + * Make resolver backtrack when none of the candidates requested for a package + are able to resolve due to them requesting unworkable requirements, or a + package has no candidates at all. Previously the resolver would give up on the + spot. + * Ensure the result returned by the resolver only contains candidates that are + actually needed. This is done by tracing the graph after resolution completes, + snipping nodes that don’t have a route to the root. + +------------------------------------------------------------------- +Sat Mar 16 17:27:15 UTC 2019 - Jan Engelhardt + +- Use noun phrase in descriptions. + +------------------------------------------------------------------- +Fri Mar 1 01:57:24 PM UTC 2019 - John Vandenberg + +- Initial spec for v0.2.2 diff --git a/python-resolvelib.spec b/python-resolvelib.spec new file mode 100644 index 0000000..89bdd4d --- /dev/null +++ b/python-resolvelib.spec @@ -0,0 +1,60 @@ +# +# spec file for package python-resolvelib +# +# Copyright (c) 2024 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/ +# + + +%{?sle15_python_module_pythons} +Name: python-resolvelib +# ansible-core 2.14.x is currently requiring < 0.9.0 +Version: 1.0.1 +Release: 0 +Summary: Module to resolve abstract dependencies into concrete ones +License: ISC +Group: Development/Languages/Python +URL: https://github.com/sarugaku/resolvelib +Source: https://github.com/sarugaku/resolvelib/archive/%{version}.tar.gz#/resolvelib-%{version}.tar.gz +BuildRequires: %{python_module pip} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +BuildArch: noarch +%python_subpackages + +%description +A Python module to resolve abstract dependencies into concrete ones. + +%prep +%autosetup -p1 -n resolvelib-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +# Ignoring some faulty tests because of python-packaging version: +# gh#sarugaku/resolvelib#114 +%pytest --ignore tests/functional/cocoapods/test_resolvers_cocoapods.py --ignore tests/functional/python/test_resolvers_python.py + +%files %{python_files} +%doc README.rst +%{python_sitelib}/resolvelib +%{python_sitelib}/resolvelib-%{version}*info + +%changelog diff --git a/resolvelib-1.0.1.tar.gz b/resolvelib-1.0.1.tar.gz new file mode 100644 index 0000000..03fc7ba --- /dev/null +++ b/resolvelib-1.0.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:717e92fcf64e4b7f535ebbf00d0ba21a083fa27031045af2f5040bcd38612187 +size 769608