diff --git a/.gitignore b/.gitignore index 011bc3c..470a71f 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ /python-glanceclient-2.6.0.tar.gz /python-glanceclient-2.8.0.tar.gz /python-glanceclient-2.10.0.tar.gz +/python-glanceclient-2.16.0.tar.gz diff --git a/python-glanceclient.spec b/python-glanceclient.spec index 94084fb..f52c8a4 100644 --- a/python-glanceclient.spec +++ b/python-glanceclient.spec @@ -1,6 +1,18 @@ +# Macros for py2/py3 compatibility +%if 0%{?fedora} || 0%{?rhel} > 7 +%global pyver %{python3_pkgversion} +%else +%global pyver 2 +%endif +%global pyver_bin python%{pyver} +%global pyver_sitelib %python%{pyver}_sitelib +%global pyver_install %py%{pyver}_install +%global pyver_build %py%{pyver}_build +# End of macros for py2/py3 compatibility %{!?upstream_version: %global upstream_version %{version}%{?milestone}} %global sname glanceclient +%global with_doc 1 %global common_desc \ This is a client for the OpenStack Glance API. There's a Python API (the \ @@ -9,8 +21,8 @@ glanceclient module), and a command-line script (glance). Each implements \ Name: python-glanceclient Epoch: 1 -Version: 2.10.0 -Release: 2%{?dist} +Version: 2.16.0 +Release: 1%{?dist} Summary: Python API and CLI for OpenStack Glance License: ASL 2.0 @@ -24,87 +36,112 @@ BuildRequires: git %description %{common_desc} -%package -n python3-%{sname} +%package -n python%{pyver}-%{sname} Summary: Python API and CLI for OpenStack Glance -%{?python_provide:%python_provide python3-glanceclient} - -BuildRequires: python3-devel -BuildRequires: python3-setuptools -BuildRequires: python3-pbr - -Requires: python3-keystoneauth1 >= 3.3.0 -Requires: python3-oslo-i18n >= 3.15.3 -Requires: python3-oslo-utils >= 3.33.0 -Requires: python3-pbr -Requires: python3-prettytable -Requires: python3-pyOpenSSL >= 16.2.0 -Requires: python3-requests -Requires: python3-six >= 1.10.0 -Requires: python3-warlock -Requires: python3-wrapt - -%description -n python3-%{sname} +%{?python_provide:%python_provide python%{pyver}-glanceclient} +%if %{pyver} == 3 +Obsoletes: python2-%{sname} < %{version}-%{release} +%endif + +BuildRequires: python%{pyver}-devel +BuildRequires: python%{pyver}-setuptools +BuildRequires: python%{pyver}-pbr + +Requires: python%{pyver}-keystoneauth1 >= 3.6.2 +Requires: python%{pyver}-oslo-i18n >= 3.15.3 +Requires: python%{pyver}-oslo-utils >= 3.33.0 +Requires: python%{pyver}-pbr +Requires: python%{pyver}-prettytable +Requires: python%{pyver}-pyOpenSSL >= 17.1.0 +Requires: python%{pyver}-requests +Requires: python%{pyver}-six >= 1.10.0 +# Handle python2 exception +%if %{pyver} == 2 +Requires: python-warlock +Requires: python-wrapt +%else +Requires: python%{pyver}-warlock +Requires: python%{pyver}-wrapt +%endif + + +%description -n python%{pyver}-%{sname} %{common_desc} +%if 0%{?with_doc} %package doc Summary: Documentation for OpenStack Glance API Client -BuildRequires: python3-sphinx -BuildRequires: python3-openstackdocstheme -BuildRequires: python3-keystoneauth1 -BuildRequires: python3-oslo-utils -BuildRequires: python3-prettytable -BuildRequires: python3-pyOpenSSL >= 16.2.0 -BuildRequires: python3-warlock +BuildRequires: python%{pyver}-sphinx +BuildRequires: python%{pyver}-openstackdocstheme +BuildRequires: python%{pyver}-keystoneauth1 +BuildRequires: python%{pyver}-oslo-utils +BuildRequires: python%{pyver}-prettytable +BuildRequires: python%{pyver}-pyOpenSSL >= 17.1.0 +BuildRequires: python%{pyver}-sphinxcontrib-apidoc +# Handle python2 exception +%if %{pyver} == 2 +BuildRequires: python-warlock +%else +BuildRequires: python%{pyver}-warlock +%endif %description doc %{common_desc} This package contains auto-generated documentation. +%endif %prep %autosetup -n %{name}-%{upstream_version} -S git -rm -rf {,test-}requirements.txt +rm -rf *requirements.txt %build -%py3_build +%{pyver_build} %install -%py3_install -# Delete tests -rm -fr %{buildroot}%{python3_sitelib}/glanceclient/tests +%{pyver_install} + +# Create a versioned binary for backwards compatibility until everything is pure py3 +ln -s glance %{buildroot}%{_bindir}/glance-%{pyver} mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d install -pm 644 tools/glance.bash_completion \ %{buildroot}%{_sysconfdir}/bash_completion.d/glance +# Delete tests +rm -fr %{buildroot}%{pyver_sitelib}/glanceclient/tests + +%if 0%{?with_doc} # generate html docs -%{__python3} setup.py build_sphinx -b html +sphinx-build-%{pyver} -b html doc/source doc/build/html +# remove the sphinx-build-%{pyver} leftovers +rm -rf doc/build/html/.{doctrees,buildinfo} # generate man page -%{__python3} setup.py build_sphinx -b man +sphinx-build-%{pyver} -b man doc/source doc/build/man install -p -D -m 644 doc/build/man/glance.1 %{buildroot}%{_mandir}/man1/glance.1 +%endif -%files -n python3-%{sname} -%license LICENSE +%files -n python%{pyver}-%{sname} %doc README.rst -%{python3_sitelib}/%{sname} -%{python3_sitelib}/*.egg-info +%license LICENSE +%{pyver_sitelib}/glanceclient +%{pyver_sitelib}/*.egg-info %{_sysconfdir}/bash_completion.d +%if 0%{?with_doc} %{_mandir}/man1/glance.1.gz +%endif %{_bindir}/glance +%{_bindir}/glance-%{pyver} +%if 0%{?with_doc} %files doc %doc doc/build/html %license LICENSE +%endif %changelog -* Wed Jan 31 2019 Yatin Karel 1:2.10.0-2 -- Drop python2 sub package - -* Wed Apr 18 2018 RDO 1:2.10.0-1 -- Update to 2.10.0 - -* Sat Feb 10 2018 RDO 1:2.9.1-1 -- Update to 2.9.1 +* Mon Mar 11 2019 RDO 1:2.16.0-1 +- Update to 2.16.0 diff --git a/sources b/sources index 334fd4b..a717b72 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (python-glanceclient-2.10.0.tar.gz) = 9132493559d7a7b6de62e5ec1bdcd7a2dcf408c00bb0cfaccb6e11829975d468bfe68feabd71fdf8cc0d28a2c5c549945816aa14c9469314ffafd3d39b9c2da6 +SHA512 (python-glanceclient-2.16.0.tar.gz) = b853f529752247873d9f319d4ec6f4cabc89ee4c26a0c1013e7609fc38e3c9f68d774b3682166e8155e21572a0a011eb6859a84c253ca9f7a9b8b1ccf79b5322