python-SecretStorage/python-SecretStorage.spec

84 lines
3.0 KiB
RPMSpec

#
# spec file for package python-SecretStorage
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
Name: python-SecretStorage
Version: 2.3.1
Release: 0
Summary: Python bindings to FreeDesktoporg Secret Service API
License: BSD-3-Clause
Group: Development/Languages/Python
Url: https://github.com/mitya57/secretstorage
# NOTE(toabctl): For whatever reason, the pypi.io url is not working...
#Source: https://pypi.io/packages/source/s/SecretStorage/SecretStorage-%{version}.tar.gz
Source: https://pypi.python.org/packages/a5/a5/0830cfe34a4cfd0d1c3c8b614ede1edb2aaf999091ac8548dd19cb352e79/SecretStorage-2.3.1.tar.gz
BuildRequires: dbus-1-python
BuildRequires: python-devel
BuildRequires: python-setuptools
Requires: dbus-1-python
BuildRequires: python-cryptography
Requires: python-cryptography
# Testing requirements
BuildRequires: dbus-1-x11
BuildRequires: gnome-keyring
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%else
BuildArch: noarch
%endif
%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 setup.py build
%install
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
%check
# gnome-keyring "forgets" to create this directory under certain conditions
mkdir $HOME/.cache
dbus-run-session -- python -m unittest discover -s tests
%files
%defattr(-,root,root,-)
%doc changelog README.rst LICENSE
%{python_sitelib}/*
%changelog