diff --git a/_multibuild b/_multibuild
index 73ab5e8..fcc7b97 100644
--- a/_multibuild
+++ b/_multibuild
@@ -1,5 +1,3 @@
- test-py38
- test-py39
- test-py310
+ test
diff --git a/pdm-1.15.3.tar.gz b/pdm-1.15.3.tar.gz
deleted file mode 100644
index b392bea..0000000
--- a/pdm-1.15.3.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7ba68767b626db874b7cca89476beecca397f4fddd53bdff8cf5dcd6c56e8bd3
-size 3258328
diff --git a/pdm-2.1.2.tar.gz b/pdm-2.1.2.tar.gz
new file mode 100644
index 0000000..e431066
--- /dev/null
+++ b/pdm-2.1.2.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:53c697b24ab73dd2155cd8544d9ed3551cdae1d7b166885e1ced463b46869dea
+size 3280137
diff --git a/python-pdm.changes b/python-pdm.changes
index 1c856e8..b449188 100644
--- a/python-pdm.changes
+++ b/python-pdm.changes
@@ -1,3 +1,82 @@
+-------------------------------------------------------------------
+Sun Aug 14 10:47:53 UTC 2022 - Ben Greiner
+
+- Update to v2.1.2
+ * Fix a bug that dependencies from different versions of the same
+ package override each other. #1307
+ * Forward SIGTERM to child processes in pdm run. #1312
+ * Fix errors when running on FIPS 140-2 enabled systems using
+ Python 3.9 and newer. #1313
+ * Fix the build failure when the subprocess outputs with non-UTF8
+ characters. #1319
+ * Delay the trigger of post_lock for add and update operations,
+ to ensure the pyproject.toml is updated before the hook is run.
+ #1320
+- Release 2.1.1
+ * Add a env_file.override option that allows the user to specify
+ that the env_file should override any existing environment
+ variables. This is not the default as the environment the code
+ runs it should take precedence. #1299
+ * Fix a bug that unnamed requirements can't override the old ones
+ in either add or update command. #1287
+ * Support mutual TLS to private repositories via pypi.client_cert
+ and pypi.client_key config options. #1290
+ * Set a minimum version for the packaging dependency to ensure
+ that packaging.utils.parse_wheel_filename is available. #1293
+ * Fix a bug that checking for PDM update creates a venv. #1301
+ * Prefer compatible packages when fetching metadata. #1302
+- Release 2.1.0
+ * Allow the use of custom CA certificates using the pypi.ca_certs
+ config entry. #1240
+ * Add pdm export to available pre-commit hooks. #1279
+ * Skip incompatible requirements when installing build
+ dependencies. #1264
+ * Fix a crash when pdm tries to publish a package with non-ASCII
+ characters in the metadata. #1270
+ * Try to read the lock file even if the lock version is
+ incompatible. #1273
+ * For packages that are only available as source distribution,
+ the summary field in pdm.lock contains the description from the
+ package's pyproject.toml. #1274
+ * Do not crash when calling pdm show for a package that is only
+ available as source distribution. #1276
+ * Fix a bug that completion scripts are interpreted as rich
+ markups. #1283
+ * Remove the dependency of pip. #1268
+ * Deprecate the top-level imports from pdm module, it will be
+ removed in the future. #1282
+- Release 2.0.3
+ * Support Conda environments when detecting the project
+ environment. #1253
+ * Fix the interpreter resolution to first try python executable
+ in the PATH. #1255
+ * Stabilize sorting of URLs in metadata.files in pdm.lock. #1256
+ * Don't expand credentials in the file URLs in the [metada.files]
+ table of the lock file. #1259
+- Release 2.0.2
+ * env_file variables no longer override existing environment
+ variables. #1235
+ * Support referencing other optional groups in
+ optional-dependencies with [group1, group2]
+ #1241
+ * Respect requires-python when creating the default venv. #1237
+- Release 2.0.1
+ * Write lockfile before calling 'post_lock' hook #1224
+ * Suppress errors when cache dir isn't accessible. #1226
+ * Don't save python path for venv commands. #1230
+- Release 2.0.0
+ * Fix a bug that the running env overrides the PEP 582
+ PYTHONPATH. #1211
+ * Add pwsh as an alias of powershell for shell completion. #1216
+ * Fixed a bug with zsh completion regarding --pep582 flag. #1218
+ * Fix a bug of requirement checking under non-isolated mode.
+ #1219
+ * Fix a bug when removing packages, TOML document might become
+ invalid. #1221
+- Back to testing all python flavors in one go: CLI tests fail if
+ only one python interpreter is found. The test suite runs under 3
+ minutes per flavor on a normal workstation.
+
-------------------------------------------------------------------
Sun Jun 19 22:03:26 UTC 2022 - Ben Greiner
diff --git a/python-pdm.spec b/python-pdm.spec
index b0e9450..ee5f67a 100644
--- a/python-pdm.spec
+++ b/python-pdm.spec
@@ -16,25 +16,9 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define skip_python2 1
%global flavor @BUILD_FLAVOR@%{nil}
-%if "%{flavor}" == "test-py38"
-%define psuffix -test-py38
-%define skip_python39 1
-%define skip_python310 1
-%bcond_without test
-%endif
-%if "%{flavor}" == "test-py39"
-%define psuffix -test-py39
-%define skip_python38 1
-%define skip_python310 1
-%bcond_without test
-%endif
-%if "%{flavor}" == "test-py310"
-%define psuffix -test-py310
-%define skip_python38 1
-%define skip_python39 1
+%if "%{flavor}" == "test"
+%define psuffix -test
%bcond_without test
%endif
%if "%{flavor}" == ""
@@ -42,46 +26,52 @@
%bcond_with test
%endif
Name: python-pdm%{psuffix}
-Version: 1.15.3
+Version: 2.1.2
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
BuildRequires: %{python_module base >= 3.7}
-BuildRequires: %{python_module pdm-pep517 >= 0.9}
-BuildRequires: %{python_module pip >= 20.1}
+BuildRequires: %{python_module pdm-pep517 >= 1.0}
+BuildRequires: %{python_module pip}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-blinker
-Requires: python-click >= 7
-Requires: python-findpython
-Requires: python-installer >= 0.5.1
-Requires: python-packaging
-Requires: python-pdm-pep517 >= 0.9
-Requires: python-pep517 >= 0.11
-Requires: python-pip >= 20.1
+Requires: python-cachecontrol >= 0.12.11
+Requires: python-certifi
+Requires: python-findpython >= 0.2.0
+Requires: python-packaging >= 20.9
+Requires: python-pep517 >= 0.11.0
Requires: python-platformdirs
Requires: python-python-dotenv >= 0.15
-Requires: python-resolvelib >= 0.8
-Requires: python-setuptools
+Requires: python-requests-toolbelt
+Requires: python-rich >= 12.3.0
Requires: python-shellingham >= 1.3.2
+Requires: python-unearth >= 0.6.0
+Requires: python-virtualenv >= 20
+Requires: (python-installer >= 0.5.1 with python-installer < 0.6)
+Requires: (python-pdm-pep517 >= 1.0.0 with python-pdm-pep517 < 2.0.0)
+Requires: (python-resolvelib >= 0.8 with python-resolvelib < 0.9)
+Requires: (python-tomlkit >= 0.8.0 with python-tomlkit < 1)
+# from python-cachecontrol[filecache]
+Requires: python-lockfile >= 0.9
+%if 0%{?python_version_nodots} < 311
Requires: python-tomli >= 1.1.0
-Requires: python-tomlkit >= 0.8.0
-Requires: python-wheel >= 0.36.2
+%endif
+%if 0%{?python_version_nodots} < 38
+Requires: python-importlib-metadata
+Requires: python-typing-extensions
+%endif
Requires(post): update-alternatives
Requires(postun):update-alternatives
BuildArch: noarch
# SECTION test requirements
%if %{with test}
BuildRequires: %{python_module pdm = %{version}}
-BuildRequires: %{python_module pytest-cov}
BuildRequires: %{python_module pytest-mock}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest}
-BuildRequires: ca-certificates
-BuildRequires: git
-BuildRequires: git-lfs
%endif
# /SECTION
%python_subpackages
@@ -93,6 +83,8 @@ doesn't need to create a virtualenv at all!
%prep
%autosetup -p1 -n pdm-%{version}
+# we don't care about certifi version, the distro package replaces the certificates with system ones anyway
+sed -i 's/"certifi>=[0-9.]*"/"certifi"/' pyproject.toml
%build
%if !%{with test}
@@ -106,23 +98,28 @@ doesn't need to create a virtualenv at all!
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%endif
+%if %{with test}
+%check
+# no network
+donttest="network"
+# mock testing finds the wrong python versions in our multiflavor setup
+donttest="$donttest or test_project_packages_path or test_conda_backend_create"
+%pytest -k "not ($donttest)"
+%endif
+
%post
%python_install_alternative pdm
%postun
%python_uninstall_alternative pdm
-%if %{with test}
-%check
-%pytest -x -k 'not (network or path or test_use_command)'
-%endif
-
%if !%{with test}
%files %{python_files}
%doc README.md
%license LICENSE
%python_alternative %{_bindir}/pdm
-%{python_sitelib}/pdm*
+%{python_sitelib}/pdm
+%{python_sitelib}/pdm-%{version}*-info
%endif
%changelog