%global upstream_version 0.9.1 Name: waiverdb Version: 0.9.1 Release: 1%{?dist} Summary: Service for waiving results in ResultsDB License: GPLv2+ URL: https://pagure.io/waiverdb Source0: https://files.pythonhosted.org/packages/source/w/%{name}/%{name}-%{upstream_version}.tar.gz %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-sphinx BuildRequires: python3-sphinxcontrib-httpdomain BuildRequires: python3-sphinxcontrib-issuetracker BuildRequires: python3-flask BuildRequires: python3-sqlalchemy BuildRequires: python3-flask-restful BuildRequires: python3-flask-sqlalchemy BuildRequires: python3-psycopg2 BuildRequires: python3-kerberos BuildRequires: python3-systemd BuildRequires: python3-pytest BuildRequires: python3-mock BuildRequires: python3-flask-oidc BuildRequires: python3-click BuildRequires: python3-flask-migrate BuildRequires: python3-stomppy BuildRequires: python3-fedmsg %else # EPEL7 uses Python 2 and python- package naming convention BuildRequires: python2-devel BuildRequires: python-setuptools BuildRequires: python-flask BuildRequires: python-sqlalchemy BuildRequires: python-flask-restful BuildRequires: python-flask-sqlalchemy BuildRequires: python-psycopg2 BuildRequires: python-kerberos BuildRequires: systemd-python BuildRequires: pytest BuildRequires: python-mock BuildRequires: python-flask-oidc BuildRequires: python-click BuildRequires: python-configparser BuildRequires: python-flask-migrate BuildRequires: stomppy BuildRequires: fedmsg %endif %{?systemd_requires} BuildRequires: systemd BuildArch: noarch %if 0%{?fedora} || 0%{?rhel} > 7 Requires: python3-flask Requires: python3-sqlalchemy Requires: python3-flask-restful Requires: python3-flask-sqlalchemy Requires: python3-psycopg2 Requires: python3-kerberos Requires: python3-systemd Requires: python3-mock Requires: python3-flask-oidc Requires: python3-click Requires: python3-flask-migrate Requires: python3-stomppy Requires: python3-fedmsg %else Requires: python-flask Requires: python-sqlalchemy Requires: python-flask-restful Requires: python-flask-sqlalchemy Requires: python-psycopg2 Requires: python-kerberos Requires: systemd-python Requires: python-mock Requires: python-flask-oidc Requires: python-click Requires: python-configparser Requires: python-flask-migrate Requires: stomppy Requires: fedmsg %endif Requires: waiverdb-common = %{version}-%{release} %description WaiverDB is a companion service to ResultsDB, for recording waivers against test results. %package common Summary: Common resources for WaiverDB subpackages. %description common This package is not useful on its own. It contains common filesystem resources for other WaiverDB subpackages. %package cli Summary: A CLI tool for interacting with waiverdb %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: python3-click Requires: python3-click %else BuildRequires: python-click Requires: python-click Requires: python-configparser %endif Requires: waiverdb-common = %{version}-%{release} %description cli This package contains a CLI tool for interacting with waiverdb. Primarily, submitting new waiverdbs. %prep %setup -q -n %{name}-%{upstream_version} # Replace any staging urls with prod ones sed -i 's/\.stg\.fedoraproject\.org/.fedoraproject.org/g' conf/client.conf.example %build %if 0%{?fedora} || 0%{?rhel} > 7 %py3_build make -C docs SPHINXOPTS= html text %else %py2_build %endif %install %if 0%{?fedora} || 0%{?rhel} > 7 %py3_install %else %py2_install %endif install -d %{buildroot}%{_unitdir} install -m0644 \ systemd/%{name}.service \ systemd/%{name}.socket \ %{buildroot}%{_unitdir} install -d %{buildroot}%{_sysconfdir}/waiverdb/ install -m0644 \ conf/client.conf.example \ %{buildroot}%{_sysconfdir}/waiverdb/client.conf # Tests don't make sense here now that we require postgres to run them. #%%check #export PYTHONPATH=%%{buildroot}/%%{python3_sitelib} #py.test-3 tests/ %files %if 0%{?fedora} || 0%{?rhel} > 7 %{python3_sitelib}/%{name} %{python3_sitelib}/%{name}*.egg-info %else %{python2_sitelib}/%{name} %{python2_sitelib}/%{name}*.egg-info %endif %{_unitdir}/%{name}.service %{_unitdir}/%{name}.socket %attr(755,root,root) %{_bindir}/waiverdb %files common %license COPYING %doc README.md conf %if 0%{?fedora} || 0%{?rhel} > 7 %doc docs/_build/html docs/_build/text %{python3_sitelib}/%{name}/__init__.py* %{python3_sitelib}/%{name}*.egg-info %else %{python2_sitelib}/%{name}/__init__.py* %{python2_sitelib}/%{name}*.egg-info %endif %files cli %license COPYING %if 0%{?fedora} || 0%{?rhel} > 7 %{python3_sitelib}/%{name}/cli.py* %else %{python2_sitelib}/%{name}/cli.py* %endif %attr(755,root,root) %{_bindir}/waiverdb-cli %config(noreplace) %{_sysconfdir}/waiverdb/client.conf %post %systemd_post %{name}.service %systemd_post %{name}.socket %preun %systemd_preun %{name}.service %systemd_preun %{name}.socket %postun %systemd_postun_with_restart %{name}.service %changelog