15
0

- Fix tests, add fix-tests.patch upstream patch,

gh#devpi/devpi@408273fb7755

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-devpi-client?expand=0&rev=35
This commit is contained in:
2026-02-04 14:04:53 +00:00
committed by Git OBS Bridge
commit 00afb1e0cc
7 changed files with 416 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -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

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

3
_multibuild Normal file
View File

@@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c143368458c3878ba7bee6a1d9b418e2e659571a3856614f58d76b8a28269d7b
size 93460

22
fix-tests.patch Normal file
View File

@@ -0,0 +1,22 @@
From 408273fb77551d69ae88b76666c15ded0d98caf3 Mon Sep 17 00:00:00 2001
From: Florian Schulze <mail@florian-schulze.net>
Date: Mon, 10 Mar 2025 09:04:38 +0100
Subject: [PATCH] Support fully normalized wheel names in tests.
This is caused by setuptools v75.8.1 where the wheel file naming was changed.
---
client/testing/test_test.py | 1 +
1 file changed, 1 insertion(+)
Index: devpi-client-7.2.0/testing/test_test.py
===================================================================
--- devpi-client-7.2.0.orig/testing/test_test.py
+++ devpi-client-7.2.0/testing/test_test.py
@@ -353,6 +353,7 @@ class TestWheel:
"zip" + os.sep + f"{pkgname_norm}-1.0"))
assert wheel1[0].basename in {
f"{pkgname}-1.0-py2.py3-none-any.whl",
+ f"{pkgname_norm}-1.0-py2.py3-none-any.whl",
f"{pkgname_whl}-1.0-py2.py3-none-any.whl"}
assert str(wheel1[1].path_unpacked).endswith(wheel1[0].basename)

233
python-devpi-client.changes Normal file
View File

@@ -0,0 +1,233 @@
-------------------------------------------------------------------
Wed Feb 4 14:04:07 UTC 2026 - Daniel Garcia <daniel.garcia@suse.com>
- Fix tests, add fix-tests.patch upstream patch,
gh#devpi/devpi@408273fb7755
-------------------------------------------------------------------
Thu Nov 7 12:26:57 UTC 2024 - Markéta Machová <mmachova@suse.com>
- Update to 7.2.0
* Support --no-docs and --only-docs for push command.
* Support --register-project for push command to external index.
* Add support for uv.conf to devpi use --set-cfg.
* fixed encoding issues when decoding output of subprocesses.
* require pkginfo >= 1.10.0 which supports newer metadata versions.
-------------------------------------------------------------------
Thu Oct 3 10:50:15 UTC 2024 - Markéta Machová <mmachova@suse.com>
- update to 7.1.0
* Require build>=0.7.0 to prevent import error with older versions.
* Provide proper error message if the API request for devpi use fails.
* Fix #1011: change HTTP status codes >=400 to use self.fatal instead
of raw SystemExit, protect 403 and 404 errors from SystemExit
* Support using various kinds of devpi tools with pyproject.toml.
-------------------------------------------------------------------
Thu Feb 29 14:11:26 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- Skip some tests that are failing for python 3.12, because it tries
to install setuptools package during tests.
* test_main_example
* test_specific_version
* test_pkgname_with_dashes
-------------------------------------------------------------------
Sat Nov 25 13:49:38 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 7.0.2:
* Fix #992: Fix error added in 6.0.4 when old authentication
data from before 6.x exists.
-------------------------------------------------------------------
Tue Oct 17 03:16:43 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 7.0.1:
* Bug Fixes
+ Fix #1005: use ``shutil.move`` instead of ``Path.rename`` to move
distribution after building to prevent cross-device link errors.
+ Fix #1008: pass ``--no-isolation`` option to ``build`` when determining
name/version for documentation.
+ Fix #946: output ``name==version`` instead of ``name-version`` for
``devpi list -v``.
* Deprecations and Removals
+ Use ``build`` instead of deprecated ``pep517`` package.
+ Removed dependency on py package.
+ Dropped support for Python <= 3.6.
- Drop patch switch-to-build-module.patch, included upstream.
- Switch to autosetup macro.
-------------------------------------------------------------------
Tue Jul 4 10:32:15 UTC 2023 - Torsten Gruner <simmphonie@opensuse.org>
- update to 6.0.5
* Remember URL when ``devpi use`` causes a 403, so one can
use ``devpi login`` afterwards.
* Fix #978: Quote username and password when adding to URL.
* Fix #980: Remove long deprecated backward compatibility for
old pluggy versions to fix error with pluggy 1.1.0.
- split package to prevent build dependency with python-tox (multibuild)
-------------------------------------------------------------------
Mon Jul 3 13:00:13 UTC 2023 - Matej Cepl <mcepl@suse.com>
- Add missing dependency
-------------------------------------------------------------------
Fri Jun 9 07:34:26 UTC 2023 - ecsos <ecsos@opensuse.org>
- Add %{?sle15_python_module_pythons}
-------------------------------------------------------------------
Wed Apr 26 02:20:24 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
- Add patch switch-to-build-module.patch:
- Drop {Build,}Requires on pep517.
-------------------------------------------------------------------
Wed Apr 19 09:33:04 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 6.0.4:
* Fix precedence of URL from command line over DEVPI_INDEX
environment variable for ``devpi use``.
* Fix relative DEVPI_INDEX environment variable with user and
index causing an invalid URL in some cases.
* Fix persistence of username when DEVPI_INDEX environment
variable is used with ``devpi login``.
* Fix precedence of ``--sdist`` and ``--wheel`` over
``formats`` setting from setup.cfg ``[devpi:upload]``
section.
-------------------------------------------------------------------
Mon Apr 10 09:35:55 UTC 2023 - Daniel Garcia <daniel.garcia@suse.com>
- Update to 6.0.3:
* Fix #919: Retry 3 times and wait a moment on PermissionError
during file removal to fix race condition after running tox.
* Restore ability to build docs if project uses separate build and
source directories for documentation.
* Fix for changes in pypitoken 6.x.
- 6.0.2 (2022-09-28)
* Better error message when trying to use ``devpi index`` which
requires authentication (devpi-lockdown).
- 6.0.1 (2022-08-16)
* fix #913: ``main.Hub.workdir`` cleanup (exit) can now handle
read-only files (like those created by git).
* Print info when ``DEVPI_INDEX`` environment variable is in use and
allow relative index specification for it.
- 6.0.0 (2022-07-19)
* Removed support for ``--detox`` option.
* When uploading we no longer "register" the package first. That
requirement was removed from PyPI and devpi-server for some time.
* Use ``sphinx-build`` command instead of ``setup.py build_sphinx``
when building documentation.
* Removed tox dependency, instead ``devpi test`` looks for the
``tox`` binary in the path.
* The ``--venv`` option will abort when no virtualenv exists at the
location, it will not create a virtualenv anymore.
* Fix #218: use new pip.conf location by default and warn if the
legacy location exists.
* Fix #38: add ``--user``/``-u`` option to ``use`` command to limit
index listing to a specific user.
* Fix #437: when the ``DEVPI_INDEX`` environment variable is set, it
temporarily overwrites the current index.
* Fix #691: allow anonymous uploads if the server has
``acl_upload=:ANONYMOUS:`` set on index.
* Fix #863: allow ``--only-docs`` upload for files containing
``.docs.`` instead of ``.doc.`` and support gzipped tar files.
* The ``--user/-u`` option for ``devpi use`` can be used to switch
the current user and the authentication data of previous logins is
preserved.
* Use `build <https://pypi.org/project/build/>`_ package when
possible and fall back to ``setup.py`` only for deprecated release
types.
* When the ``DEVPI_USER`` environment variable is set, it
temporarily overwrites the current user name.
* Support query strings on ``path`` for ``getjson`` command. This
enables using ``?no_projects=``.
* The ``devpi index -l [username]`` command now actually lists
indexes of other users and works without login.
* Fix #443 and #444: pass authentication info to pip via environment
variable for ``devpi install`` and ``devpi test``.
* When pushing to an external index with ``pypi:...``, a PyPI token
is detected and ``pypitoken`` is installed a new unique time
limited token is derived for the upload.
* With ``devpi use --local`` a local configuration is created in the
currently active virtualenv and automatically used as long as the
virtualenv is activated.
* Warn if the server changes the scheme, host or port during ``devpi
use``.
* Using ``--list`` or ``--urls`` with ``use`` command and a URL
won't change the current index anymore.
* Existing authentication data is validated on ``devpi use`` and
removed if expired.
* Fix #562: encode username and url in devpiclient_get_password with
sys.stdout.encoding.
* Fix #627: support ``--index`` option when no index is currently
selected.
* Fix #808: Use mkdtemp from Python tempfile module to prevent
permission and locking errors during ``devpi test`` and ``devpi
upload``.
* Fix #831: only download matching wheels if ``--select`` is in use.
* Give helpful error message when specified/configured virtualenv is
missing.
* When there is no json error message only the HTML error code and
reason is printed now, to get the full HTML output use the
``--debug`` flag.
-------------------------------------------------------------------
Tue Jun 14 05:59:02 UTC 2022 - Matej Cepl <mcepl@suse.com>
- Update to 5.2.3:
- Bump upper version limit on pluggy to <2.0.
- fix #406: support ``--all`` to show all versions when listing
more than one project.
- Pin tox to <4dev. The next major version of devpi-client will
use tox as a binary to support newer versions.
- Support for basic authentication and client side certificates
is deprecated now. Take a look at devpi-lockdown instead.
- Hide password from index url in pip config with ``devpi
use``.
- Remove upstreamed patch test_sys_executable.patch.
-------------------------------------------------------------------
Tue Jun 9 19:25:40 UTC 2020 - Dirk Mueller <dmueller@suse.com>
- update to 5.2.0:
- fix #799: proper error message for devpi login without prior devpi use
- Support for check_manifest>=0.42.
-------------------------------------------------------------------
Tue May 26 07:22:38 UTC 2020 - Petr Gajdos <pgajdos@suse.com>
- %python3_only -> %python_alternative
-------------------------------------------------------------------
Sun Jan 12 00:54:29 CET 2020 - Matej Cepl <mcepl@suse.com>
- Update to 5.1.1:
- Fix removing a range of versions with index inheritance.
- Add keyring support for devpi push to external repositories
like pypi.org. This is compatible with twine, see
https://twine.readthedocs.io/en/latest/#keyring-support
- fix #666: output nicer error message when section couldnt be
found in pypirc.
- the 410 status for the register action isnt marked as error
anymore for push to external repository.
-------------------------------------------------------------------
Tue Sep 17 11:16:11 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Use upstream description.
-------------------------------------------------------------------
Tue Sep 10 11:58:58 UTC 2019 - John Vandenberg <jayvdb@gmail.com>
- Update to v5.0.0
-------------------------------------------------------------------
Thu Mar 21 01:44:49 AM UTC 2019 - John Vandenberg <jayvdb@gmail.com>
- Initial spec for v4.3.0

131
python-devpi-client.spec Normal file
View File

@@ -0,0 +1,131 @@
#
# spec file for package python-devpi-client
#
# Copyright (c) 2026 SUSE LLC and contributors
#
# 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/
#
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
%{?sle15_python_module_pythons}
Name: python-devpi-client%{psuffix}
Version: 7.2.0
Release: 0
Summary: Client for devpi
License: MIT
URL: https://github.com/devpi/devpi
Source: https://files.pythonhosted.org/packages/source/d/devpi-client/devpi-client-%{version}.tar.gz
# PATCH-FIX-UPSTREAM fix-tests.patch -- gh#devpi/devpi@408273fb7755
Patch0: fix-tests.patch
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-build >= 0.7.0
Requires: python-check-manifest >= 0.28
Requires: python-devpi-common >= 4.0
Requires: python-iniconfig
Requires: python-pkginfo >= 1.10.0
Requires: python-platformdirs
Requires: python-pluggy >= 0.6.0
Requires: python-tox >= 3.1.0
Requires: python-virtualenv
Requires(post): update-alternatives
Requires(postun): update-alternatives
Recommends: git-core
Recommends: python-Sphinx
BuildArch: noarch
# SECTION test requirements
%if %{with test}
BuildRequires: %{python_module Sphinx}
BuildRequires: %{python_module colorama}
BuildRequires: %{python_module devpi-client = %{version}}
BuildRequires: %{python_module devpi-common >= 4}
BuildRequires: %{python_module devpi-server}
BuildRequires: %{python_module pytest-mock}
BuildRequires: %{python_module pytest}
BuildRequires: git-core
%endif
# /SECTION
%python_subpackages
%description
devpi-client is a command line tool with sub commands for creating users, using
indexes, uploading to and installing from indexes, as well as a "test" command
for invoking tox.
%prep
%autosetup -p1 -n devpi-client-%{version}
rm tox.ini
sed -i 's/"python \(setup.py[^"]*\)"/(sys.executable + " \1")/' testing/test_upload.py
sed -i 's/"python", "setup.py"/sys.executable, "setup.py"/' testing/test_test.py
%build
%pyproject_wheel
%install
%if !%{with test}
%pyproject_install
%python_clone -a %{buildroot}%{_bindir}/devpi
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%endif
%check
%if %{with test}
export LANG=en_US.UTF-8
export PYTHONDONTWRITEBYTECODE=1
export PATH=$PATH:%{buildroot}/%{_bindir}
# Unknown failures gh#devpi/devpi#706
# test_help: devpi binary is not available (update-alternatives)
donttest="test_simple_install_new_venv_workflow or test_simple_install_activated_venv_workflow or test_help"
# test_upload: requires network to work
donttest+=" or test_upload"
donttest+=" or test_main_example_with_basic_auth"
# No module named 'pypitoken'
donttest+=" or test_derive_devpi_token or test_derive_legacy_token or test_derive_token"
# error deleting VIRTUAL_ENV
donttest+=" or test_simple_install_missing_venvdir"
# Broken tests with python3.12 because missing setuptools
donttest+=" or test_main_example or test_specific_version or test_pkgname_with_dashes"
# broken tests with tox
donttest+=" or test_toxresult_forbidden"
# broken test because of pyramid: gh#Pylons/pyramid#3731
donttest+=" or test_whitelist_setting"
%pytest -k "not ($donttest)"
%endif
%post
%python_install_alternative devpi
%postun
%python_uninstall_alternative devpi
%if !%{with test}
%files %{python_files}
%doc AUTHORS CHANGELOG README.rst
%license LICENSE
%python_alternative %{_bindir}/devpi
%{python_sitelib}/devpi
%{python_sitelib}/devpi_client-%{version}*-info
%endif
%changelog