rpm-packaging/openstack/sushy-tools/sushy-tools.spec.j2

127 lines
3.7 KiB
Django/Jinja

{% set pypi_name = 'sushy-tools' %}
{% set upstream_version = upstream_version('0.21.1') %}
{% set rpm_release = '1' %}
{% set source = url_pypi() %}
Name: {{ py2name() }}
Version: {{ py2rpmversion() }}
Release: {{ py2rpmrelease() }}
Summary: A set of tools to support the development and test of the Sushy library
License: {{ license('Apache-2.0') }}
Group: Development/Languages/Python
URL: https://opendev.org/openstack/{{ pypi_name }}
Source0: {{ source }}
Source1: sushy-emulator.service
Source2: sushy-emulator.conf
BuildRequires: openstack-macros
BuildRequires: {{ py3('Flask') }}
BuildRequires: {{ py3('devel') }}
BuildRequires: {{ py3('pbr') }}
BuildRequires: {{ py3('requests') }}
BuildRequires: {{ py3('setuptools') }}
BuildRequires: {{ py3('tenacity') }}
BuildArch: noarch
%if 0%{?suse_version}
BuildRequires: shadow
BuildRequires: systemd-rpm-macros
Requires(pre): shadow
%{?systemd_requires}
%else
BuildRequires: systemd
Requires(post): systemd
Requires(postun): systemd
Requires(preun): systemd
%endif
%description
A set of tools to support the development and test of the Sushy library
%package -n {{ py2name(py_versions='py3') }}
Summary: A set of tools to support the development and test of the Sushy library
Requires: {{ py3('Flask') }}
Requires: {{ py3('pbr') }}
Requires: {{ py3('requests') }}
Requires: {{ py3('tenacity') }}
%description -n {{ py2name(py_versions='py3') }}
A set of tools to support the development and test of the Sushy library
%if 0%{?with_doc}
%package -n {{ py2name() }}-doc
Summary: sushy-tools documentation
BuildRequires: {{ py3('Sphinx') }}
BuildRequires: {{ py3('openstackdocstheme') }}
BuildRequires: {{ py3('sphinxcontrib-apidoc') }}
%description -n {{ py2name() }}-doc
Summary: sushy-tools documentation
%endif
%prep
%autosetup -p1 -n {{ pypi_name }}-{{ upstream_version }}
%py_req_cleanup
%build
%{py3_build}
%if 0%{?with_doc}
# generate html docs
sphinx-build-3 -W -b html doc/source doc/build/html
# remove the sphinx-build-3 leftovers
rm -rf doc/build/html/.{doctrees,buildinfo}
%endif
%install
%{py3_install}
# Install systemd script
mkdir -p %{buildroot}%{_unitdir}
install -p -D -m 644 %{SOURCE1} %{buildroot}/%{_unitdir}/sushy-emulator.service
# Install distribution config
mkdir -p %{buildroot}%{_sysconfdir}/sushy-emulator/
install -p -D -m 640 %{SOURCE2} %{buildroot}/%{_sysconfdir}/sushy-emulator/sushy-emulator.conf
### install symlinks on SUSE
%if 0%{?suse_version}
mkdir -p %{buildroot}%{_sbindir}
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
%endif
%files -n {{ py2name(py_versions='py3') }}
%license LICENSE
%{_bindir}/sushy-emulator
%{_bindir}/sushy-static
%{python3_sitelib}/sushy_tools
%{python3_sitelib}/sushy_tools-*.egg-info
%{_unitdir}/sushy-emulator.service
%config(noreplace) %attr(-, root, sushy-tools) %{_sysconfdir}/sushy-emulator
%attr(-, root, sushy-tools) %{_sysconfdir}/sushy-emulator/sushy-emulator.conf
%exclude %{python3_sitelib}/{{ py2name() }}/tests
%if 0%{?suse_version}
%{_sbindir}/rc%{name}
%endif
%pre -n {{ py2name(py_versions='py3') }}
getent group sushy-tools >/dev/null || groupadd -r sushy-tools
getent passwd sushy-tools >/dev/null || useradd -r \
-g sushy-tools -M -s /sbin/nologin -c "Redfish Emulator" sushy-tools
%if 0%{?with_doc}
%files -n {{ py2name() }}-doc
%license LICENSE
%doc doc/build/html README.rst
%endif
%post -n {{ py2name(py_versions='py3') }}
%systemd_post sushy-emulator.service
%preun -n {{ py2name(py_versions='py3') }}
%systemd_preun sushy-emulator.service
%postun -n {{ py2name(py_versions='py3') }}
%systemd_postun_with_restart sushy-emulator.service
%changelog