upstream/openstack/python-magnumclient/centos/python-magnumclient.spec
Scott Little 40177cdbcf Fix package versions of openstack clients
Our openstack clients are now based upon the master branch.
The rpm packaging version should reflect the latest tagged version,
as can be discovered by `git describe`.  The actual packaging
has fallen well behind that target.

This update will correct the rpm packaging.

Also the current packaging does not advance as new commits are
delivered to master.  I propose to use the TIS_BASE_SRCREV
mechanism to count commits passed the tag.

Now this is not ideal as it result in packages looking like this
 -- python-cinderclient-4.1.0-1.tis.33.src.rpm --
which may seem to imply that tis has authored 33 patches upon
python-cinderclient.  We are indeed 33 patches beyond tag
4.1.0 (as of this writing), but it is upstream revisions and
not stx (tis) revisions that are being counted.

We may want further build tool work to implement a second
revision counting mechanism to separate upstream revisions
from stx revisions.

Story: 2004751
Task: 28864
Change-Id: I90fa12084cef1faee52b38c328df078d2f18a001
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-03-15 16:02:47 -04:00

267 lines
6.6 KiB
RPMSpec

%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%global sname python-magnumclient
%global pname magnumclient
%if 0%{?fedora} >= 24
%global with_python3 1
%global default_python 3
%else
%global default_python 2
%endif
%global common_desc \
This is a client library for Magnum built on the Magnum API. \
It provides a Python API (the magnumclient module) and a \
command-line tool (magnum).
%global common_desc_tests Python-magnumclient test subpackage
Name: python-%{pname}
Version: 2.12.0
Release: 1%{?_tis_dist}.%{tis_patch_ver}
Summary: Client library for Magnum API
License: ASL 2.0
URL: https://launchpad.net/python-magnumclient
Source0: https://tarballs.openstack.org/%{sname}/%{sname}-%{upstream_version}.tar.gz
BuildArch: noarch
%description
%{common_desc}
%package -n python2-%{pname}
Summary: Client library for Magnum API
%{?python_provide:%python_provide python2-%{pname}}
BuildRequires: python2-devel
BuildRequires: python2-setuptools
BuildRequires: python2-pip
BuildRequires: python2-wheel
BuildRequires: python2-pbr
BuildRequires: git
# test dependencies
BuildRequires: python2-oslo-utils
BuildRequires: python2-openstackclient
BuildRequires: python2-oslo-serialization
BuildRequires: python2-oslo-log
BuildRequires: python2-osprofiler
BuildRequires: python2-stevedore
BuildRequires: python2-requests
BuildRequires: python2-oslo-i18n
BuildRequires: python2-fixtures
BuildRequires: python2-mock
BuildRequires: python2-testtools
BuildRequires: python2-keystoneauth1
BuildRequires: python2-prettytable
Requires: python2-babel
Requires: python2-cryptography
Requires: python2-keystoneauth1 >= 3.4.0
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-log >= 3.36.0
Requires: python2-oslo-serialization >= 2.18.0
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-osc-lib >= 1.8.0
Requires: python2-os-client-config >= 1.28.0
Requires: python2-pbr
Requires: python2-prettytable
Requires: python2-six
%if 0%{?fedora} > 0
Requires: python2-decorator
%else
Requires: python-decorator
%endif
%description -n python2-%{pname}
%{common_desc}
%if 0%{?with_python3}
%package -n python3-%{pname}
Summary: Client library for Magnum API
%{?python_provide:%python_provide python3-%{pname}}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pbr
# test dependencies
BuildRequires: python3-oslo-utils
BuildRequires: python3-openstackclient
BuildRequires: python3-oslo-serialization
BuildRequires: python3-oslo-log
BuildRequires: python3-osprofiler
BuildRequires: python3-stevedore
BuildRequires: python3-requests
BuildRequires: python3-oslo-i18n
BuildRequires: python3-fixtures
BuildRequires: python3-mock
BuildRequires: python3-testtools
BuildRequires: python3-keystoneauth1
BuildRequires: python3-prettytable
Requires: python3-babel
Requires: python3-cryptography
Requires: python3-decorator
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-log >= 3.36.0
Requires: python3-oslo-serialization >= 2.18.0
Requires: python3-oslo-utils >= 3.33.0
Requires: python3-osc-lib >= 1.8.0
Requires: python3-os-client-config >= 1.28.0
Requires: python3-pbr
Requires: python3-prettytable
Requires: python3-six
%description -n python3-%{pname}
%{common_desc}
%endif
%package -n python-%{pname}-doc
Summary: python-magnumclient documentation
BuildRequires: python2-sphinx
BuildRequires: python2-openstackdocstheme
BuildRequires: python2-os-client-config
BuildRequires: openstack-macros
%if 0%{?fedora} > 0
BuildRequires: python2-decorator
%else
BuildRequires: python-decorator
%endif
%description -n python-%{pname}-doc
Documentation for python-magnumclient
%package -n python2-%{pname}-tests
Summary: Python-magnumclient test subpackage
%{?python_provide:%python_provide python2-%{pname}-tests}
Requires: python2-%{pname} = %{version}-%{release}
Requires: python2-oslo-utils
Requires: python2-stevedore
Requires: python2-requests
Requires: python2-oslo-i18n
Requires: python2-fixtures
Requires: python2-mock
Requires: python2-testtools
Requires: python2-keystoneauth1
Requires: python2-prettytable
%description -n python2-%{pname}-tests
%{common_desc_tests}
%if 0%{?with_python3}
%package -n python3-%{pname}-tests
Summary: Python-magnumclient test subpackage
Requires: python3-%{pname} = %{version}-%{release}
Requires: python3-oslo-utils
Requires: python3-stevedore
Requires: python3-requests
Requires: python3-oslo-i18n
Requires: python3-fixtures
Requires: python3-mock
Requires: python3-testtools
Requires: python3-keystoneauth1
Requires: python3-prettytable
%description -n python3-%{pname}-tests
%{common_desc_tests}
%endif
%prep
%autosetup -n %{name}-%{upstream_version} -S git
# let RPM handle deps
%py_req_cleanup
%build
export PBR_VERSION=%{version}
%py2_build
%py2_build_wheel
%if 0%{?with_python3}
%py3_build
%endif
# generate html docs
# (TODO) Re-add -W once https://review.openstack.org/#/c/554197 is in a
# tagged release
sphinx-build -b html doc/source doc/build/html
# Fix hidden-file-or-dir warnings
rm -rf doc/build/html/.{doctrees,buildinfo}
%install
export PBR_VERSION=%{version}
%if 0%{?with_python3}
%py3_install
%if %{default_python} >= 3
mv %{buildroot}%{_bindir}/magnum ./magnum.py3
%endif
%endif
%py2_install
%if 0%{?default_python} >= 3
mv magnum.py3 %{buildroot}%{_bindir}/magnum
%endif
mkdir -p $RPM_BUILD_ROOT/wheels
install -m 644 dist/*.whl $RPM_BUILD_ROOT/wheels/
%check
# tests are failing due to unicode not defined
# we are skipping the test
%{__python2} setup.py test ||
%if 0%{?with_python3}
%{__python3} setup.py test ||
%endif
%files -n python2-%{pname}
%doc README.rst
%license LICENSE
%{python2_sitelib}/%{pname}
%if 0%{?default_python} <= 2
%{_bindir}/magnum
%endif
%{python2_sitelib}/*.egg-info
%exclude %{python2_sitelib}/%{pname}/tests
%if 0%{?with_python3}
%files -n python3-%{pname}
%doc README.rst
%license LICENSE
%if 0%{?default_python} >= 3
%{_bindir}/magnum
%endif
%{python3_sitelib}/magnumclient
%{python3_sitelib}/*.egg-info
%exclude %{python3_sitelib}/%{pname}/tests
%endif
%files -n python-%{pname}-doc
%license LICENSE
%doc doc/build/html
%files -n python2-%{pname}-tests
%{python2_sitelib}/%{pname}/tests
%if 0%{?with_python3}
%files -n python3-%{pname}-tests
%{python3_sitelib}/%{pname}/tests
%endif
%package wheels
Summary: %{name} wheels
%description wheels
Contains python wheels for %{name}
%files wheels
/wheels/*
%changelog
* Thu Aug 09 2018 RDO <dev@lists.rdoproject.org> 2.10.0-1
- Update to 2.10.0