diff --git a/findpython-022.patch b/findpython-022.patch new file mode 100644 index 0000000..0115aaf --- /dev/null +++ b/findpython-022.patch @@ -0,0 +1,100 @@ +From f8ec8b7bda1b88e60b554b5713ca615c9bf94367 Mon Sep 17 00:00:00 2001 +From: Frost Ming +Date: Wed, 16 Nov 2022 09:25:21 +0800 +Subject: [PATCH] fix: test against the latest findpython + +--- + news/1516.bugfix.md | 1 + + src/pdm/cli/actions.py | 16 +++++----------- + src/pdm/models/python.py | 11 +++++++---- + tests/cli/test_use.py | 4 ++-- + 4 files changed, 15 insertions(+), 17 deletions(-) + create mode 100644 news/1516.bugfix.md + +--- /dev/null ++++ b/news/1516.bugfix.md +@@ -0,0 +1 @@ ++Fix the test failure with the latest `findpython` installed. +--- a/src/pdm/cli/actions.py ++++ b/src/pdm/cli/actions.py +@@ -31,12 +31,7 @@ from pdm.cli.utils import ( + set_env_in_reg, + translate_groups, + ) +-from pdm.exceptions import ( +- InvalidPyVersion, +- NoPythonVersion, +- PdmUsageError, +- ProjectError, +-) ++from pdm.exceptions import NoPythonVersion, PdmUsageError, ProjectError + from pdm.formats import FORMATS + from pdm.formats.base import array_of_inline_tables, make_array, make_inline_table + from pdm.models.caches import JSONFileCache +@@ -584,8 +579,10 @@ def do_use( + python = python.strip() + + def version_matcher(py_version: PythonInfo) -> bool: +- return ignore_requires_python or project.python_requires.contains( +- str(py_version.version), True ++ return ( ++ ignore_requires_python ++ or py_version.valid ++ and project.python_requires.contains(str(py_version.version), True) + ) + + if not project.cache_dir.exists(): +@@ -647,9 +644,6 @@ def do_use( + if python: + use_cache.set(python, selected_python.path.as_posix()) + +- if not selected_python.valid: +- path = str(selected_python.path) +- raise InvalidPyVersion(f"Invalid Python interpreter: {path}") + if not save: + return selected_python + old_python = ( +--- a/src/pdm/models/python.py ++++ b/src/pdm/models/python.py +@@ -5,7 +5,7 @@ from pathlib import Path + from typing import Any + + from findpython import PythonVersion +-from packaging.version import Version ++from packaging.version import InvalidVersion, Version + + from pdm.utils import cached_property + +@@ -72,6 +72,9 @@ class PythonInfo: + + @property + def identifier(self) -> str: +- if os.name == "nt" and self.is_32bit: +- return f"{self.major}.{self.minor}-32" +- return f"{self.major}.{self.minor}" ++ try: ++ if os.name == "nt" and self.is_32bit: ++ return f"{self.major}.{self.minor}-32" ++ return f"{self.major}.{self.minor}" ++ except InvalidVersion: ++ return "unknown" +--- a/tests/cli/test_use.py ++++ b/tests/cli/test_use.py +@@ -6,7 +6,7 @@ from pathlib import Path + import pytest + + from pdm.cli import actions +-from pdm.exceptions import InvalidPyVersion ++from pdm.exceptions import NoPythonVersion + from pdm.models.caches import JSONFileCache + + +@@ -56,7 +56,7 @@ echo hello + shim_path = project.root.joinpath("python_shim.sh") + shim_path.write_text(wrapper_script) + shim_path.chmod(0o755) +- with pytest.raises(InvalidPyVersion): ++ with pytest.raises(NoPythonVersion): + actions.do_use(project, shim_path.as_posix()) + + diff --git a/pdm-2.1.5.tar.gz b/pdm-2.1.5.tar.gz deleted file mode 100644 index 91511e6..0000000 --- a/pdm-2.1.5.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5bee41d497cec93a49693fa57b5cf1c833701804eb12bc4d347c3ec7955d7ce7 -size 3282155 diff --git a/pdm-2.2.1.tar.gz b/pdm-2.2.1.tar.gz new file mode 100644 index 0000000..aa17ba6 --- /dev/null +++ b/pdm-2.2.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a861d47d57bc6ef9e99edb09abd620955a37b2835019b6a8918beea3b089a3b7 +size 2770967 diff --git a/python-pdm.changes b/python-pdm.changes index 32ce02c..98a59aa 100644 --- a/python-pdm.changes +++ b/python-pdm.changes @@ -1,3 +1,58 @@ +------------------------------------------------------------------- +Wed Nov 16 08:58:23 UTC 2022 - Matej Cepl + +- Add findpython-022.patch to make package work with findpython + 0.2.2 (from gh#pdm-project/pdm#1516). + +------------------------------------------------------------------- +Tue Nov 15 19:09:33 UTC 2022 - Matej Cepl + +- Skip failing test (gh#pdm-project/pdm#1516). + +------------------------------------------------------------------- +Wed Nov 9 16:22:05 UTC 2022 - Yogalakshmi Arunachalam + +- Update to v2.2.1 + Features & Improvements# + * Make sitecustomize.py respect the PDM_PROJECT_MAX_DEPTH environment variable #1471 + Bug Fixes# + * Fix the comparison of python_version in the environment marker. When the version contains only one digit, the result was incorrect. #1484 + +- Update to v2.2.0 + Features & Improvements# + * Add venv.prompt configuration to allow customizing prompt when a virtualenv is activated #1332 + * Allow the use of custom CA certificates per publish repository using ca_certs or from the command line via pdm publish --ca-certs .... #1392 + * Rename the plugin command to self, and it can not only manage plugins but also all dependencies. Add a subcommand self update to update PDM itself. #1406 + * Allow pdm init to receive a Python path or version via --python option. #1412 + * Add a default value for requires-python when importing from other formats. #1426 + * Use pdm instead of pip to resolve and install build requirements. So that PDM configurations can control the process. #1429 + * Customizable color theme via pdm config command. #1450 + * A new pdm lock --check flag to validate whether the lock is up to date. #1459 + * Add both option and config item to ship pip when creating a new venv. #1463 + * Issue warning and skip the requirement if it has the same name as the current project. #1466 + * Enhance the pdm list command with new formats: --csv,--markdown and add options --fields,--sort to control the output contents. Users can also include + licenses in the --fields option to display the package licenses. #1469 + * A new pre-commit hook to run pdm lock --check in pre-commit. #1471 + Bug Fixes# + * Fix the issue that relative paths don't work well with --project argument. #1220 + * It is now possible to refer to a package from outside the project with relative paths in dependencies. #1381 + * Ensure pypi.[ca,client]_cert[s] config items are passed to distribution builder install steps to allow for custom PyPI index sources with + self signed certificates. #1396 + * Fix a crash issue when depending on editable packages with extras. #1401 + * Do not save the python path when using non-interactive mode in pdm init. #1410 + * Fix the matching of python* command in pdm run. #1414 + * Show the Python path, instead of the real executable, in the Python selection menu. #1418 + * Fix the HTTP client of package publishment to prompt for password and read PDM configurations correctly. #1430 + * Ignore the unknown fields when constructing a requirement object. #1445 + * Fix a bug of unrelated candidates being fetched if the requirement is matching wildcard versions(e.g. ==1.*). #1465 + * Use importlib-metadata from PyPI for Python < 3.10. #1467 + Documentation# + * Clarify the difference between a library and an application. Update the guide of multi-stage docker build. #1371 + * Removals and Deprecations# + * Remove all top-level imports, users should import from the submodules instead. #1404 + * Remove the usages of old config names deprecated since 2.0. #1422 + * Remove the deprecated color functions, use rich's console markup instead. #1452 + ------------------------------------------------------------------- Wed Oct 5 09:47:36 UTC 2022 - Daniel Garcia diff --git a/python-pdm.spec b/python-pdm.spec index a1aeb4f..7e235d2 100644 --- a/python-pdm.spec +++ b/python-pdm.spec @@ -26,12 +26,15 @@ %bcond_with test %endif Name: python-pdm%{psuffix} -Version: 2.1.5 +Version: 2.2.1 Release: 0 Summary: Python Development Master License: MIT URL: https://github.com/pdm-project/pdm/ Source0: https://files.pythonhosted.org/packages/source/p/pdm/pdm-%{version}.tar.gz +# PATCH-FIX-UPSTREAM findpython-022.patch gh#pdm-project/pdm#1516 mcepl@suse.com +# Makes the module work with findpython 0.2.2 +Patch0: findpython-022.patch BuildRequires: %{python_module base >= 3.7} BuildRequires: %{python_module pdm-pep517 >= 1.0} BuildRequires: %{python_module pip} @@ -40,7 +43,7 @@ BuildRequires: python-rpm-macros Requires: python-blinker Requires: python-cachecontrol >= 0.12.11 Requires: python-certifi -Requires: python-findpython >= 0.2.0 +Requires: python-findpython >= 0.2.2 Requires: python-packaging >= 20.9 Requires: python-pep517 >= 0.11.0 Requires: python-platformdirs