diff --git a/custodia.spec b/custodia.spec index 0a47ad5..bbc00f6 100644 --- a/custodia.spec +++ b/custodia.spec @@ -12,7 +12,7 @@ Name: custodia Version: 0.5.0 -Release: 5%{?dist} +Release: 7%{?dist} Summary: A service to manage, retrieve and store secrets for other processes License: GPLv3+ @@ -27,36 +27,36 @@ BuildArch: noarch BuildRequires: systemd BuildRequires: python2-devel -BuildRequires: python-jwcrypto +BuildRequires: python2-jwcrypto >= 0.4.2 BuildRequires: python2-requests BuildRequires: python2-setuptools >= 18 BuildRequires: python2-coverage -BuildRequires: python-tox >= 2.3.1 +BuildRequires: python2-tox >= 2.3.1 BuildRequires: python2-pytest %if %{?with_etcd} BuildRequires: python2-python-etcd %endif -BuildRequires: python-docutils +BuildRequires: python2-docutils BuildRequires: python2-configparser BuildRequires: python2-systemd %if 0%{?with_python3} -BuildRequires: python3-devel -BuildRequires: python3-jwcrypto -BuildRequires: python3-requests -BuildRequires: python3-setuptools > 18 -BuildRequires: python3-coverage -BuildRequires: python3-tox >= 2.3.1 -BuildRequires: python3-pytest +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-jwcrypto >= 0.4.2 +BuildRequires: python%{python3_pkgversion}-requests +BuildRequires: python%{python3_pkgversion}-setuptools > 18 +BuildRequires: python%{python3_pkgversion}-coverage +BuildRequires: python%{python3_pkgversion}-tox >= 2.3.1 +BuildRequires: python%{python3_pkgversion}-pytest %if %{?with_etcd} -BuildRequires: python3-python-etcd +BuildRequires: python%{python3_pkgversion}-python-etcd %endif -BuildRequires: python3-docutils -BuildRequires: python3-systemd +BuildRequires: python%{python3_pkgversion}-docutils +BuildRequires: python%{python3_pkgversion}-systemd %endif %if 0%{?with_python3} -Requires: python3-custodia = %{version}-%{release} +Requires: python%{python3_pkgversion}-custodia = %{version}-%{release} %else Requires: python2-custodia = %{version}-%{release} %endif @@ -89,14 +89,13 @@ A service to manage, retrieve and store secrets for other processes %package -n python2-custodia Summary: Sub-package with python2 custodia modules -Provides: python-custodia = %{version}-%{release} -Obsoletes: python-custodia <= 0.1.0 +%{?python_provide:%python_provide python2-%{name}} Requires: python2-configparser -Requires: python-jwcrypto +Requires: python2-jwcrypto > 0.4.2 Requires: python2-requests Requires: python2-setuptools Requires: python2-systemd -Conflicts: python2-ipalib < 4.5 +Conflicts: python2-ipalib < 4.4.5 %description -n python2-custodia Sub-package with python custodia modules @@ -117,26 +116,27 @@ Sub-package with python2 custodia extra modules (etcdstore) %endif # with_etcd %if 0%{?with_python3} -%package -n python3-custodia +%package -n python%{python3_pkgversion}-custodia Summary: Sub-package with python3 custodia modules -Requires: python3-jwcrypto -Requires: python3-requests -Requires: python3-setuptools -Requires: python3-systemd -Conflicts: python3-ipalib < 4.5 - -%description -n python3-custodia +%{?python_provide:%python_provide python3-%{name}} +Requires: python%{python3_pkgversion}-jwcrypto >= 0.4.2 +Requires: python%{python3_pkgversion}-requests +Requires: python%{python3_pkgversion}-setuptools +Requires: python%{python3_pkgversion}-systemd +Conflicts: python%{python3_pkgversion}-ipalib < 4.4.5 + +%description -n python%{python3_pkgversion}-custodia Sub-package with python custodia modules %{overview} %if %{?with_etcd} -%package -n python3-custodia-extra +%package -n python%{python3_pkgversion}-custodia-extra Summary: Sub-package with python3 custodia extra modules -Requires: python3-python-etcd -Requires: python3-custodia = %{version}-%{release} +Requires: python%{python3_pkgversion}-python-etcd +Requires: python%{python3_pkgversion}-custodia = %{version}-%{release} -%description -n python3-custodia-extra +%description -n python%{python3_pkgversion}-custodia-extra Sub-package with python3 custodia extra modules (etcdstore) %{overview} @@ -150,16 +150,16 @@ Sub-package with python3 custodia extra modules (etcdstore) %build -%{__python2} setup.py egg_info build +%py2_build %if 0%{?with_python3} -%{__python3} setup.py egg_info build +%py3_build %endif %check # don't download packages export PIP_INDEX_URL=http://host.invalid./ -# Don't try to download dnspython3. The package is provided by python3-dns +# Don't try to download dnspython3. The package is provided by python%{python3_pkgversion}-dns export PIP_NO_DEPS=yes tox --sitepackages -e py%{python2_version_nodots} -- --skip-servertests @@ -180,7 +180,7 @@ mkdir -p %{buildroot}/%{_localstatedir}/lib/custodia mkdir -p %{buildroot}/%{_localstatedir}/log/custodia mkdir -p %{buildroot}/%{_localstatedir}/run/custodia -%{__python2} setup.py install --skip-build --root %{buildroot} +%py2_install mv %{buildroot}/%{_bindir}/custodia %{buildroot}/%{_sbindir}/custodia cp %{buildroot}/%{_sbindir}/custodia %{buildroot}/%{_sbindir}/custodia-2 cp %{buildroot}/%{_bindir}/custodia-cli %{buildroot}/%{_bindir}/custodia-cli-2 @@ -194,7 +194,7 @@ install -m 644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/custodia.conf %if 0%{?with_python3} # overrides /usr/bin/custodia-cli and /usr/sbin/custodia with Python 3 shebang -%{__python3} setup.py install --skip-build --root %{buildroot} +%py3_install mv %{buildroot}/%{_bindir}/custodia %{buildroot}/%{_sbindir}/custodia cp %{buildroot}/%{_sbindir}/custodia %{buildroot}/%{_sbindir}/custodia-3 cp %{buildroot}/%{_bindir}/custodia-cli %{buildroot}/%{_bindir}/custodia-cli-3 @@ -243,7 +243,9 @@ exit 0 %files -n python2-custodia %license LICENSE %exclude %{python2_sitelib}/custodia/store/etcdstore.py* -%{python2_sitelib}/* +%{python2_sitelib}/%{name} +%{python2_sitelib}/%{name}-%{version}-py%{python2_version}.egg-info +%{python2_sitelib}/%{name}-%{version}-py%{python2_version}-nspkg.pth %{_sbindir}/custodia-2 %{_bindir}/custodia-cli-2 @@ -254,16 +256,18 @@ exit 0 %endif # with_etcd %if 0%{?with_python3} -%files -n python3-custodia +%files -n python%{python3_pkgversion}-custodia %license LICENSE %exclude %{python3_sitelib}/custodia/store/etcdstore.py %exclude %{python3_sitelib}/custodia/store/__pycache__/etcdstore.* -%{python3_sitelib}/* +%{python3_sitelib}/%{name} +%{python3_sitelib}/%{name}-%{version}-py%{python3_version}.egg-info +%{python3_sitelib}/%{name}-%{version}-py%{python3_version}-nspkg.pth %{_sbindir}/custodia-3 %{_bindir}/custodia-cli-3 %if %{?with_etcd} -%files -n python3-custodia-extra +%files -n python%{python3_pkgversion}-custodia-extra %license LICENSE %{python3_sitelib}/custodia/store/etcdstore.py %{python3_sitelib}/custodia/store/__pycache__/etcdstore.* @@ -272,6 +276,13 @@ exit 0 %changelog +* Tue Aug 01 2017 Christian Heimes - 0.5.0-7 +- Modernize spec + +* Tue Aug 01 2017 Christian Heimes - 0.5.0-6 +- Require latest python-jwcrypto with Python 3 fix +- Use python2 prefix for all Python 2 dependencies + * Mon Jul 03 2017 Christian Heimes - 0.5.0-5 - Add custodia user and named systemd instances @@ -314,7 +325,7 @@ exit 0 * Wed Feb 22 2017 Christian Heimes - 0.2.0-4 - Add missing runtime requirement on python[23]-systemd. -- Drop unnecesary build dependency on python3-configparser. +- Drop unnecesary build dependency on python%{python3_pkgversion}-configparser. - Fix tests, don't try to download dnspython3. * Fri Feb 10 2017 Fedora Release Engineering - 0.2.0-3