Blob Blame History Raw
#global bzr		83
%global srcname SecretStorage

%if 0%{?fedora} >= 13 || 0%{?el} >= 8
%global with_python3 1
%else
%global with_python3 0
%endif

Name:			python-%{srcname}
Version:		2.3.1
%if 0%{?bzr}
Release:		0.9.bzr%{?bzr}%{?dist}
%else
Release:		4%{?dist}
%endif
Summary:		Python bindings to FreeDesktop.org Secret Service API
URL:			http://launchpad.net/python-secretstorage
%if 0%{?bzr}
# Bazaar revision 83 snapshot downloaded at 2013-11-15 from launchpad via:
# bzr branch -r 83 lp:python-secretstorage python-secretstorage-bzr
# pushd python-secretstorage-bzr
# bzr export ../python-secretstorage-bzr83.tgz
# popd
Source0:		python-secretstorage-bzr%{bzr}.tgz
%else
Source0:		https://files.pythonhosted.org/packages/source/S/%{srcname}/%{srcname}-%{version}.tar.gz
%endif
License:		BSD
BuildArch:		noarch

BuildRequires:	python-nose
BuildRequires:	python2-devel

# Needed for building docs.
BuildRequires:	python-sphinx

# Tests only.
BuildRequires:	gnome-keyring
BuildRequires:	python2-cryptography
BuildRequires:	dbus-python

# Emulate the X environment for the tests.
BuildRequires:	xorg-x11-server-Xvfb
BuildRequires:	dbus-x11

%if 0%{?with_python3}
BuildRequires:	python3-devel
BuildRequires:	python3-nose

# For python 3 tests.
BuildRequires:	python3-dbus
BuildRequires:	python3-cryptography
%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 (>= 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).

%package -n python2-%{srcname}
Summary:		Python 2.x module for secure storing of passwords and secrets

Requires:		dbus-python
Requires:		python2-cryptography
Recommends:		python-gobject

%{?python_provide:%python_provide python2-%{srcname}}

%description -n python2-%{srcname}
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 (>= 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).

%if 0%{?with_python3}
%package -n     python3-%{srcname}
Summary:		Python 3.x module for secure storing of passwords and secrets

Requires:		python3-dbus
Requires:		python3-cryptography
Recommends:		python3-gobject

%{?python_provide:%python_provide python3-%{srcname}}

%description -n python3-%{srcname}
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 (>= 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).
%endif

%package -n python-%{srcname}-doc
Summary:	SecretStorage documentation

%description -n python-%{srcname}-doc
Documentation for SecretStorage

%prep
%if 0%{?bzr}
%setup -qn python-secretstorage-bzr%{bzr}
%else
%setup -qn %{srcname}-%{version}
%endif
%if 0%{?with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
%endif

# Remove bundled egg info
rm -rf %{srcname}.egg-info
# Remove .gitignore file
rm .gitignore

%build
%py2_build
%if 0%{?with_python3}
pushd %{py3dir}
%py3_build
popd
%endif

# Build the documentation
%{__python2} setup.py build_sphinx

%install
%py2_install
%if 0%{?with_python3}
pushd %{py3dir}
%py3_install
popd
%endif

# Remove unnecessary files generated by python-sphinx
find %{_builddir} -name '.buildinfo' -delete -print
find %{_builddir} -name 'doctrees' -type d -print -exec rm -r '{}' +

%check
pushd tests
PYTHONPATH=%{buildroot}%{python2_sitelib} xvfb-run -a %{__python2} -m unittest discover
popd
%if 0%{?with_python3}
pushd %{py3dir}
PYTHONPATH=%{buildroot}%{python3_sitelib} xvfb-run -a %{__python3} -m unittest discover
popd
%endif

%files -n python2-%{srcname}
%doc docs changelog README.rst
%license LICENSE
%{python2_sitelib}/%{srcname}-%{version}-py?.?.egg-info
%{python2_sitelib}/secretstorage

%if 0%{?with_python3}
%files -n python3-%{srcname}
%doc docs changelog README.rst
%license LICENSE
%{python3_sitelib}/%{srcname}-%{version}-py?.?.egg-info
%{python3_sitelib}/secretstorage
%endif

%files -n python-%{srcname}-doc
%doc build/sphinx/html/*

%changelog
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Mon Dec 19 2016 Miro HronĨok <mhroncok@redhat.com> - 2.3.1-3
- Rebuild for Python 3.6

* Fri Nov 25 2016 Charalampos Stratakis <cstratak@redhat.com> - 2.3.1-2
- Use python-cryptography instead of python-crypto as runtime requirement

* Sun Aug 28 2016 Charalampos Stratakis <cstratak@redhat.com> - 2.3.1-1
- Update to 2.3.1
- Replace python-crypto BuildRequires with python-cryptography

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-2
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Tue Jul 12 2016 Charalampos Stratakis <cstratak@redhat.com> - 2.2.1-1
- Update to 2.2.1

* Mon May 16 2016 Charalampos Stratakis <cstratak@redhat.com> - 2.1.4-1
- Update to 2.1.4
- Provide a python 2 subpackage
- Use python provides macros
- Use newest python macros
- Added license tag
- Enabled tests
- Added missing dependencies

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5

* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Thu Jul 17 2014 Christopher Meng <rpm@cicku.me> - 2.1.1-1
- Update to 2.1.1

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Thu May 29 2014 Christopher Meng <rpm@cicku.me> - 2.1.0-1
- Update to 2.1.0

* Wed May 28 2014 Kalev Lember <kalevlember@gmail.com> - 2.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4

* Sun Mar 30 2014 Christopher Meng <rpm@cicku.me> - 2.0.0-1
- Update to 2.0.0

* Wed Nov 20 2013 Christopher Meng <rpm@cicku.me> - 1.1.0-1
- Update to 1.1.0

* Fri Nov 15 2013 Christopher Meng <rpm@cicku.me> - 1.0.0-0.3.bzr83
- Add license for doc package.
- Disable tests not runnable in Koji.

* Fri Nov 15 2013 Christopher Meng <rpm@cicku.me> - 1.0.0-0.2.bzr83
- Snapshot 83 rev to allow tests in mock.

* Tue Oct 22 2013 Christopher Meng <rpm@cicku.me> - 1.0.0-1
- Initial Package.