upstream/openstack/python-ironicclient/centos/python-ironicclient.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

156 lines
3.8 KiB
RPMSpec

%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%if 0%{?fedora}
%global with_python3 1
%endif
%global sname ironicclient
%global common_desc A python and command line client library for Ironic
Name: python-ironicclient
Version: 2.7.0
Release: 1%{?_tis_dist}.%{tis_patch_ver}
Summary: Python client for Ironic
License: ASL 2.0
URL: https://pypi.python.org/pypi/python-ironicclient
Source0: https://tarballs.openstack.org/python-ironicclient/python-ironicclient-%{version}%{?milestone}.tar.gz
BuildArch: noarch
%description
%{common_desc}
%package -n python2-%{sname}
Summary: Python client for Ironic
BuildRequires: python2-devel
BuildRequires: python2-pbr >= 2.0.0
BuildRequires: python2-setuptools
BuildRequires: python2-pip
BuildRequires: python2-wheel
Requires: python2-appdirs >= 1.3.0
Requires: python2-keystoneauth1 >= 3.4.0
Requires: python2-pbr >= 2.0.0
Requires: python2-prettytable
Requires: python2-six >= 1.10.0
Requires: python2-osc-lib >= 1.10.0
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-serialization >= 2.18.0
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-requests
%if 0%{?fedora} > 0
Requires: python2-dogpile-cache >= 0.6.2
Requires: python2-jsonschema
Requires: python2-pyyaml
%else
Requires: python-dogpile-cache >= 0.6.2
Requires: python-jsonschema
Requires: PyYAML
%endif
%{?python_provide:%python_provide python2-%{sname}}
%description -n python2-%{sname}
%{common_desc}
%if 0%{?with_python3}
%package -n python3-%{sname}
Summary: Python client for Ironic
BuildRequires: python3-devel
BuildRequires: python3-pbr >= 2.0.0
BuildRequires: python3-setuptools
Requires: python3-appdirs >= 1.3.0
Requires: python3-dogpile-cache >= 0.6.2
Requires: python3-jsonschema
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-pbr >= 2.0.0
Requires: python3-prettytable
Requires: python3-six >= 1.10.0
Requires: python3-osc-lib >= 1.10.0
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-serialization >= 2.18.0
Requires: python3-oslo-utils >= 3.33.0
Requires: python3-requests
Requires: python3-PyYAML
%{?python_provide:%python_provide python3-%{sname}}
%description -n python3-%{sname}
%{common_desc}
%endif
%prep
%setup -q -n %{name}-%{upstream_version}
# Remove the requirements file so that pbr hooks don't add it
# to distutils requires_dist config
rm -rf {test-,}requirements.txt tools/{pip,test}-requires
%build
export PBR_VERSION=%{version}
%py2_build
%py2_build_wheel
%if 0%{?with_python3}
%py3_build
%endif
%install
export PBR_VERSION=%{version}
%if 0%{?with_python3}
%py3_install
mv %{buildroot}%{_bindir}/ironic %{buildroot}%{_bindir}/ironic-%{python3_version}
ln -s ./ironic-%{python3_version} %{buildroot}%{_bindir}/ironic-3
%endif
%py2_install
mv %{buildroot}%{_bindir}/ironic %{buildroot}%{_bindir}/ironic-%{python2_version}
ln -s ./ironic-%{python2_version} %{buildroot}%{_bindir}/ironic-2
ln -s ./ironic-2 %{buildroot}%{_bindir}/ironic
mkdir -p $RPM_BUILD_ROOT/wheels
install -m 644 dist/*.whl $RPM_BUILD_ROOT/wheels/
%files -n python2-%{sname}
%doc README.rst
%license LICENSE
%{_bindir}/ironic
%{_bindir}/ironic-2
%{_bindir}/ironic-%{python2_version}
%{python2_sitelib}/ironicclient*
%{python2_sitelib}/python_ironicclient*
%if 0%{?with_python3}
%files -n python3-%{sname}
%doc README.rst
%license LICENSE
%{_bindir}/ironic-3
%{_bindir}/ironic-%{python3_version}
%{python3_sitelib}/ironicclient*
%{python3_sitelib}/python_ironicclient*
%endif
%package wheels
Summary: %{name} wheels
%description wheels
Contains python wheels for %{name}
%files wheels
/wheels/*
%changelog
* Fri Aug 10 2018 RDO <dev@lists.rdoproject.org> 2.5.0-1
- Update to 2.5.0