#
# Conditional build:
%bcond_without doc # Sphinx documentation
-%bcond_with tests # test target [broken with \--build-base]
+%bcond_without tests # py.test tests
%bcond_without python2 # CPython 2.x module
%bcond_without python3 # CPython 3.x module
Summary: Python 2 library to access the system keyring service
Summary(pl.UTF-8): Biblioteka Pythona 2 do dostępu do systemowego pęku kluczy
Name: python-%{module}
-Version: 9.0
-Release: 1
+Version: 10.3.2
+Release: 2
License: MIT, PSF
Group: Libraries/Python
-Source0: https://pypi.python.org/packages/source/k/keyring/%{module}-%{version}.tar.gz
-# Source0-md5: 7b88030ba5936e95b71c04a069ba111c
+#Source0Download: https://pypi.python.org/simple/keyring
+Source0: https://files.pythonhosted.org/packages/source/k/keyring/%{module}-%{version}.tar.gz
+# Source0-md5: 20a2b23488b9da0c248b6c21a5d1154f
URL: https://pypi.python.org/pypi/keyring
-BuildRequires: rpmbuild(macros) >= 1.710
%if %{with python2}
BuildRequires: python-devel >= 1:2.7
BuildRequires: python-setuptools
-BuildRequires: python-setuptools_scm >= 1.9
+BuildRequires: python-setuptools_scm >= 1.15.0
%if %{with tests}
BuildRequires: python-pytest >= 2.8
-BuildRequires: python-pytest-runner
+BuildRequires: python-secretstorage
%endif
%endif
%if %{with python3}
-BuildRequires: python3-devel >= 1:3.2
+BuildRequires: python3-devel >= 1:3.3
BuildRequires: python3-setuptools
-BuildRequires: python3-setuptools_scm >= 1.9
+BuildRequires: python3-setuptools_scm >= 1.15.0
%if %{with tests}
BuildRequires: python3-pytest >= 2.8
-BuildRequires: python3-pytest-runner
+BuildRequires: python3-secretstorage
%endif
%endif
%if %{with doc}
BuildRequires: python3-Sphinx
BuildRequires: python3-rst.linker
%endif
+BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.714
Requires: python-modules >= 1:2.7
# kwalletd5 through dbus
Suggests: python-dbus
-# SecretService
-Suggests: python-secretstorage
Obsoletes: python-keyring-gnome < 0.5.1
Obsoletes: python-keyring-kwallet < 0.5.1
BuildArch: noarch
Requires: python3-modules >= 1:3.3
# kwalletd5 through dbus
Suggests: python-dbus
-# SecretService
-Suggests: python-secretstorage
%description -n python3-%{module}
The Python keyring lib provides a easy way to access the system
%build
%if %{with python2}
-%py_build %{?with_tests:test}
+%py_build
+
+%{?with_tests:PYTHON_PATH=$(pwd)/build-2/lib %{__python} -m pytest tests keyring/tests}
%endif
%if %{with python3}
-%py3_build %{?with_tests:test} %{?with_doc:build_sphinx}
+%py3_build %{?with_doc:build_sphinx}
+
+%{?with_tests:PYTHON_PATH=$(pwd)/build-3/lib %{__python3} -m pytest tests keyring/tests}
%endif
%install
%if %{with python3}
%py3_install
-%{__rm} -r $RPM_BUILD_ROOT%{py3_sitescriptdir}/%{module}/tests
+# keep base tests classes (for e.g. python-keyrings.alt tests), remove just backends unit tests
+%{__rm} -r $RPM_BUILD_ROOT%{py3_sitescriptdir}/keyring/tests/backends
# "keyring" name is too generic, add -py[version] suffix
%{__mv} $RPM_BUILD_ROOT%{_bindir}/keyring{,-py3}
%endif
%py_install
%py_postclean
-%{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/%{module}/tests
+
+# keep base tests classes (for e.g. python-keyrings.alt tests), remove just backends unit tests
+%{__rm} -r $RPM_BUILD_ROOT%{py_sitescriptdir}/keyring/tests/backends
# "keyring" name is too generic, add -py[version] suffix
%{__mv} $RPM_BUILD_ROOT%{_bindir}/keyring{,-py2}
ln -sf keyring-py2 $RPM_BUILD_ROOT%{_bindir}/keyring-py