rpm-packaging/openstack/taskflow/taskflow.spec.j2

120 lines
4.6 KiB
Django/Jinja

{% set pypi_name = 'taskflow' %}
{% set upstream_version = upstream_version('3.4.0') %}
{% set rpm_release = '1' %}
{% set source = url_pypi() %}
Name: {{ py2name() }}
Version: {{ py2rpmversion() }}
Release: {{ py2rpmrelease() }}
Summary: Taskflow structured state management library
License: {{ license('Apache-2.0') }}
Group: Development/Languages/Python
URL: https://launchpad.net/taskflow
Source0: {{ source }}
BuildRequires: openstack-macros
BuildRequires: {{ py2pkg('devel', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('PyMySQL', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('SQLAlchemy', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('SQLAlchemy-Utils', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('alembic', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('automaton', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('cachetools', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('eventlet', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('fasteners', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('futurist', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('jsonschema', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('kazoo', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('kombu', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('mock', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('networkx', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('oslo.serialization', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('oslo.utils', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('oslotest', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('pbr', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('psycopg2', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('pydot', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('pydotplus', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('redis', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('retrying', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('stestr', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('stevedore', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('tenacity', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('testrepository', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('testscenarios', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('testtools', py_versions=['py2', 'py3']) }}
BuildRequires: {{ py2pkg('zake', py_versions=['py2', 'py3']) }}
Requires: {{ py2pkg('automaton') }}
Requires: {{ py2pkg('cachetools') }}
Requires: {{ py2pkg('debtcollector') }}
Requires: {{ py2pkg('fasteners') }}
Requires: {{ py2pkg('futurist') }}
Requires: {{ py2pkg('jsonschema') }}
Requires: {{ py2pkg('kazoo') }}
Requires: {{ py2pkg('networkx') }}
Requires: {{ py2pkg('oslo.serialization') }}
Requires: {{ py2pkg('oslo.utils') }}
Requires: {{ py2pkg('six') }}
Requires: {{ py2pkg('stevedore') }}
Requires: {{ py2pkg('tenacity') }}
BuildArch: noarch
%ifpython2
BuildRequires: {{ py2pkg('contextlib2') }}
BuildRequires: {{ py2pkg('enum34') }}
Requires: {{ py2pkg('contextlib2') }}
Requires: {{ py2pkg('enum34') }}
Requires: {{ py2pkg('futures') }}
%endif
%python_subpackages
%description
A library to do [jobs, tasks, flows] in a HA manner using
different backends to be used with OpenStack projects.
%package -n {{ py2name('taskflow') }}-doc
Summary: Documentation for Taskflow
Group: Documentation/HTML
BuildRequires: {{ py2pkg('Sphinx') }}
BuildRequires: {{ py2pkg('openstackdocstheme') }}
%description -n {{ py2name('taskflow') }}-doc
A library to do [jobs, tasks, flows] in a HA manner using
different backends to be used with OpenStack projects.
This package contains the associated documentation.
%prep
%autosetup -p1 -n {{ pypi_name }}-{{ upstream_version }}
%py_req_cleanup
%if 0%{?rdo}
# TODO(jpena) remove once python-networking subpackaging is fixed
sed -i /networkx.drawing/d taskflow/types/graph.py
%endif
%build
%{python_build}
%install
%{python_install}
# generate html docs
PBR_VERSION=%{version} sphinx-build -b html doc/source doc/build/html
# remove the sphinx-build leftovers
rm -rf doc/build/html/.{doctrees,buildinfo}
%if ! 0%{?rdo}
%check
stestr run
%endif
%files %{python_files}
%doc README.rst
%license LICENSE
%{python_sitelib}/{{ pypi_name }}
%{python_sitelib}/{{ pypi_name }}-*.egg-info
%files -n {{ py2name('taskflow') }}-doc
%license LICENSE
%doc doc/build/html
%changelog