# # spec file # # Copyright (c) 2023 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/ # %define skip_python2 1 %define skip_python36 1 %define skip_python38 1 %define skip_python39 1 %define skip_python311 1 %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 %global 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-SecretStorage%{psuffix} Version: 3.3.3 Release: 4.3 Summary: Python bindings to FreeDesktoporg Secret Service API License: BSD-3-Clause URL: https://github.com/mitya57/secretstorage Source: https://files.pythonhosted.org/packages/source/S/SecretStorage/SecretStorage-%{version}.tar.gz BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-cryptography Requires: python-jeepney >= 0.6 BuildArch: noarch %if %{with test} BuildRequires: %{python_module SecretStorage = %{version}} BuildRequires: %{python_module cryptography} BuildRequires: %{python_module jeepney >= 0.6} %if %{?suse_version} >= 1550 BuildRequires: dbus-1-daemon %endif BuildRequires: gnome-keyring %endif %python_subpackages %description This module provides a way for securely storing passwords and other secrets. It uses D-Bus `Secret Service`_ API that is supported by GNOME Keyring (since version 2.30) and KSecretsService. The main classes provided are ``secretstorage.Item``, representing a secret item (that has a *label*, a *secret* and some *attributes*) and ``secretstorage.Collection``, a place items are stored in. SecretStorage supports most of the functions provided by Secret Service, including creating and deleting items and collections, editing items, locking and unlocking collections (asynchronous unlocking is also supported). The documentation can be found on `pythonhosted.org`_. .. _`Secret Service`: https://specifications.freedesktop.org/secret-service/ .. _`pythonhosted.org`: https://pythonhosted.org/SecretStorage/ %prep %setup -q -n SecretStorage-%{version} %build %python_build %install %if !%{with test} %python_install %python_expand %fdupes %{buildroot}%{$python_sitelib} %endif %if %{with test} %check # gnome-keyring "forgets" to create this directory under certain conditions mkdir -p $HOME/.cache %python_expand dbus-run-session -- $python -m unittest discover -s tests %endif %if !%{with test} %files %{python_files} %license LICENSE %doc changelog README.rst %{python_sitelib}/* %endif %changelog * Fri Apr 21 2023 Dirk Müller - add sle15_python_module_pythons (jsc#PED-68) * Thu Apr 13 2023 Matej Cepl - Make calling of %%{sle15modernpython} optional. * Wed Feb 1 2023 Dirk Müller - fix build for older distributions * Mon Sep 19 2022 Dirk Müller - fix build of tests * Mon Sep 12 2022 Steve Kowalik - update to 3.3.3: * Handle case when CreateItem method returns a prompt [`#39`_]. * Reformatted code in accordance with :PEP:`8` standard. * _`#39`: https://github.com/mitya57/secretstorage/issues/39 - Add missing file to enable multibuild * Mon Aug 29 2022 Steve Kowalik - Inject multibuild to prevent a build cycle * Wed May 11 2022 Dirk Müller - update to 3.3.2: * Fixed a deprecation warning with jeepney 0.8. Thanks to Sam McKelvie for the pull request! * Tue Mar 2 2021 Dirk Müller - update to 3.3.1: * Fixed a deprecation warning from cryptography module. * Added a :PEP:`561` ``py.typed`` file to declare typing support. * Mon Feb 1 2021 Dirk Müller - update to 3.3.0: * Use new-style Jeepney blocking I/O API. * Python ≥ 3.6 and Jeepney ≥ 0.6 are now required. * Thu Nov 26 2020 Dirk Mueller - update to 3.2.0: * Added helper function ``check_service_availability`` for checking if the Secret Service daemon is available without using it. * Thu Apr 16 2020 pgajdos@suse.com - version update to 3.1.2 SecretStorage 3.1.2, 2020-01-08 =============================== * Updated the docs to describe how to close the D-Bus connection after use. * For secrets of wrong type, a TypeError is now raised [`#20`_]. SecretStorage 3.1.1, 2019-01-24 =============================== * Fixes TypeError with cryptography 2.5. Thanks Zach Hoffman for the pull request! SecretStorage 3.1.0, 2018-09-02 =============================== * The ``dbus_init`` function no longer accepts any arguments. * The ``dbus_init`` function now converts ``ConnectionError`` and ``ValueError`` to ``SecretServiceNotAvailableException``. * New exception class: ``PromptDismissedException``. * Switched to declarative setup configuration. Build now requires setuptools 30.3 or newer. * Added support for prompts when deleting collections and items. * Added type annotations to all methods. SecretStorage 3.0.1, 2018-04-24 =============================== * When ``DBUS_SESSION_BUS_ADDRESS`` environment variable is unset, and Jeepney raises a ``KeyError`` because of that, SecretStorage now intercepts that error and re-raises it as ``SecretServiceNotAvailableException``. * Uploaded to PyPI with fixed meta-data. SecretStorage 3.0.0, 2018-04-23 =============================== .. warning:: This release is backwards incompatible with the previous versions. * Python 3.5 or newer is now required. * SecretStorage has been ported from dbus-python to Jeepney_, a pure Python D-Bus client. * The asynchronous API has been removed. If you need it, please file a bug and describe your use case. * The ``bus`` argument is now called ``connection`` in all functions that accept it. * Thu Nov 7 2019 Matej Cepl - Run through spec-cleaner * Tue Dec 4 2018 Matej Cepl - Remove superfluous devel dependency for noarch package * Wed Jan 24 2018 tchvatal@suse.com - Fix dbus-python deps to ease the logic and allow python2less build * Mon May 1 2017 toddrme2178@gmail.com - Fix source URL. * Mon May 1 2017 toddrme2178@gmail.com - Implement single-spec version. - Fix source URL. * Thu Jan 19 2017 bwiedemann@suse.com - fix building outside OBS * Tue Nov 22 2016 hpj@urpla.net - add test section * Thu Sep 1 2016 tbechtold@suse.com - Use url with hash as Source url. The pypi.io url is not working. * Thu Sep 1 2016 tbechtold@suse.com - update to 2.3.1: * Update requires line in setup.py for cryptography port. * Documentation is now hosted on ReadTheDocs. * Ported from PyCrypto to cryptography module [#6]. * Item.get_secret() now returns a bytes object rather than a bytearray. - Adjust Requires and BuildRequires * Thu Jul 7 2016 tbechtold@suse.com - Use pypi.io as Source url * Wed Jun 29 2016 tbechtold@suse.com - Initial packaging (version 2.2.1)