diff --git a/icinga-reporting.service b/icinga-reporting.service new file mode 100644 index 0000000000000000000000000000000000000000..289037254cfcf7f2affd7adbfe1b10932c83e6eb --- /dev/null +++ b/icinga-reporting.service @@ -0,0 +1,11 @@ +[Unit] +Description=Icinga Reporting Scheduler + +[Service] +Type=simple +User=icingaweb2 +ExecStart=/usr/bin/icingacli reporting schedule run +Restart=on-success + +[Install] +WantedBy=multi-user.target diff --git a/icingaweb2-module-reporting.spec b/icingaweb2-module-reporting.spec index e4a3c2e04f756b4dfb671440fcdbccba18a88419..ab496d559eb94caaa94ac1b6f4edba7bdc45bc31 100644 --- a/icingaweb2-module-reporting.spec +++ b/icingaweb2-module-reporting.spec @@ -17,6 +17,10 @@ Source0: https://github.com/Icinga/icingaweb2-module-%{module_name}/archi BuildArch: noarch %global basedir %{_datadir}/icingaweb2/modules/%{module_name} +%global service_name icinga-%{module_name} + +BuildRequires: systemd-devel +Requires: systemd Requires: icingaweb2 >= %{icingaweb_min_version} Requires: php-Icinga >= %{icingaweb_min_version} @@ -47,12 +51,44 @@ mkdir -p %{buildroot}%{basedir} cp -r * %{buildroot}%{basedir} +install -d %{buildroot}%{_unitdir} +install -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{service_name}.service + +%if "%{_vendor}" == "suse" +install -d %{buildroot}%{_sbindir} +ln -sf /usr/sbin/service %{buildroot}%{_sbindir}/rc%{service_name} +%endif # suse + %clean rm -rf %{buildroot} +%pre +%if "%{_vendor}" == "suse" + %service_add_pre %{service_name}.service +%endif # suse + +exit 0 + +%post +set -e + +%if "%{_vendor}" == "suse" + %service_add_post %{service_name}.service +%else # suse +%systemd_post %{service_name}.service +%endif # suse + +exit 0 + %preun set -e +%if "%{_vendor}" == "suse" + %service_del_preun %{service_name}.service +%else # suse + %systemd_preun %{service_name}.service +%endif # suse + # Only for removal if [ $1 == 0 ]; then echo "Disabling icingaweb2 module '%{module_name}'" @@ -61,12 +97,29 @@ fi exit 0 +%postun +set -e + +%if "%{_vendor}" == "suse" + %service_del_postun %{service_name}.service +%else # suse + %systemd_postun_with_restart %{service_name}.service +%endif # suse + +exit 0 + %files %doc README.md LICENSE %defattr(-,root,root) %{basedir} +%{_unitdir}/%{service_name}.service + +%if "%{_vendor}" == "suse" +%{_sbindir}/rc%{service_name} +%endif # suse + %changelog * Fri Aug 30 2019 Markus Frosch <markus.frosch@icinga.com> - 0.9.1-1 - Initial package version