374b41b
Name:           oraculum
175881d
# Don't forget to also change oraculum/__init__.py
f735134
Version:        0.2.4
784656f
Release:        %autorelease
374b41b
Summary:        Backend and API for Fedora QA Dashboard
374b41b
374b41b
License:        GPLv2+
374b41b
URL:            https://pagure.io/fedora-qa/oraculum
374b41b
Source0:        https://releases.pagure.org/fedora-qa/%{name}/%{name}-%{version}.tar.gz
4103cd8
# Backport of:
4103cd8
# Remove unnecessary mock dependency.
4103cd8
# https://pagure.io/fedora-qa/oraculum/c/03bf4dc6f3d77f8d240ffe2d6772885e642181ab?branch=master
4103cd8
Patch:          remove-python-mock.patch
374b41b
374b41b
BuildArch:      noarch
374b41b
f735134
f735134
BuildRequires:  systemd-rpm-macros
f735134
BuildRequires:  pyproject-rpm-macros
374b41b
BuildRequires:  python3-devel
f735134
f735134
Requires:       python3-gunicorn
f735134
Requires:       nginx
f735134
Requires:       redis
374b41b
374b41b
%description
374b41b
Backend and API for Fedora QA Dashboard
374b41b
f735134
%generate_buildrequires
f735134
%pyproject_buildrequires -r -t
f735134
374b41b
%prep
4103cd8
%autosetup -p1
374b41b
8f979bf
# https://bugzilla.redhat.com/show_bug.cgi?id=2019108
8f979bf
sed -i 's/python-igraph/igraph/g' requirements.txt
8f979bf
sed -i 's/python-igraph/igraph/g' setup.py
8f979bf
374b41b
%build
f735134
%pyproject_wheel
374b41b
374b41b
%install
f735134
%pyproject_install
f735134
%pyproject_save_files oraculum
374b41b
f735134
# Install example configuration to /etc, fix client_secrets.json location
f735134
install -d -m 755 %{buildroot}%{_sysconfdir}/oraculum
f735134
install -p -m 644 conf/settings.py.example %{buildroot}%{_sysconfdir}/oraculum/settings.py
f735134
install -p -m 644 conf/client_secrets.json.example %{buildroot}%{_sysconfdir}/oraculum/client_secrets.json
f735134
sed -i 's,./conf/client_secrets.json.example,%{_sysconfdir}/oraculum/client_secrets.json,' %{buildroot}%{_sysconfdir}/oraculum/settings.py
374b41b
f735134
# Install nginx configuration to /etc
f735134
install -d -m 755 %{buildroot}%{_sysconfdir}/nginx/conf.d/
f735134
install -p -m 644 conf/oraculum.conf.nginx %{buildroot}%{_sysconfdir}/nginx/conf.d/oraculum.conf
374b41b
f735134
%check
f735134
%tox
374b41b
f735134
%post
f735134
%systemd_post oraculum.service
f735134
%systemd_post oraculum_worker.service
f735134
%systemd_post oraculum_beat.service
374b41b
f735134
%preun
f735134
%systemd_preun oraculum.service
f735134
%systemd_preun oraculum_worker.service
f735134
%systemd_preun oraculum_beat.service
374b41b
f735134
%postun
f735134
%systemd_postun_with_restart oraculum.service
f735134
%systemd_postun_with_restart oraculum_worker.service
f735134
%systemd_postun_with_restart oraculum_beat.service
374b41b
278bf78
f735134
%files -f %{pyproject_files}
f735134
%license LICENSE
f735134
%doc README.md
1e52940
f735134
%{_unitdir}/oraculum.service
f735134
%{_unitdir}/oraculum_worker.service
f735134
%{_unitdir}/oraculum_beat.service
ad491db
f735134
%{_bindir}/oraculum
f735134
%dir %{_sysconfdir}/oraculum
f735134
%dir %{_datadir}/oraculum
f735134
%{_datadir}/oraculum/*
374b41b
f735134
%doc %{_datadir}/docs/oraculum/
374b41b
f735134
%config(noreplace) %{_sysconfdir}/oraculum/settings.py
f735134
%config(noreplace) %{_sysconfdir}/oraculum/client_secrets.json
f735134
%config(noreplace) %{_sysconfdir}/nginx/conf.d/oraculum.conf
374b41b
f735134
%changelog
784656f
%autochangelog