+# TODO
+# - package systemd units
+#
+# Conditional build:
+%bcond_without pam # PAM support
+%bcond_without ssl # SSL support
+
+# NOTES:
+# - Release notes: https://mmonit.com/monit/changes/
+
Summary: Process monitor and restart utility
-Summary(pl): Narzêdzie do monitorowania procesów i ich restartowania
+Summary(pl.UTF-8): Narzędzie do monitorowania procesów i ich restartowania
Name: monit
-%define _ver 4.8
-Version: %{_ver}.1
-Release: 4
-License: GPL
-Group: Applications/Console
-Source0: http://www.tildeslash.com/monit/dist/%{name}-%{_ver}.tar.gz
-# Source0-md5: 376bd526ee5577a6f0a842216f8ccf25
+Version: 5.19.0
+Release: 1
+License: AGPL v3
+Group: Daemons
+Source0: http://mmonit.com/monit/dist/%{name}-%{version}.tar.gz
+# Source0-md5: 51ee50dd71e1bb9fe9a128bc88456b77
Source1: %{name}.init
-# http://www.tildeslash.com/monit/dist/%{name}-4.8-patch01
-Patch0: %{name}-4.8-patch01.patch
-Patch1: %{name}-localhost-http.patch
-URL: http://www.tildeslash.com/monit/
+Source2: %{name}rc
+Source3: %{name}.config
+Patch0: config.patch
+URL: http://mmonit.com/monit/
BuildRequires: bison
BuildRequires: flex
-BuildRequires: openssl-devel >= 0.9.7d
+%{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
+%{?with_pam:BuildRequires: pam-devel}
BuildRequires: rpmbuild(macros) >= 1.268
Requires(post,preun): /sbin/chkconfig
-Requires: rc-scripts
+Requires: rc-scripts >= 0.4.0.15
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
on a Unix system. It will start specified programs if they are not
running and restart programs not responding.
-%description -l pl
-monit jest narzêdziem do monitorowania demonów oraz podobnych
-programów pracuj±cych w systemie Unix. monit zrestartuje podany
-program w momencie gdy przestaje on pracowaæ lub w momencie gdy
-program przestaje odpowiadaæ.
+%description -l pl.UTF-8
+monit jest narzędziem do monitorowania demonów oraz podobnych
+programów pracujących w systemie Unix. monit zrestartuje podany
+program w momencie gdy przestaje on pracować lub w momencie gdy
+program przestaje odpowiadać.
%prep
-%setup -q -n %{name}-%{_ver}
-%patch0 -p0
-%patch1 -p1
+%setup -q
+%patch0 -p1
%build
%configure \
+ --bindir=%{_sbindir} \
+ %{__with_without ssl} \
+ %{__with_without pam} \
--with-ssl-lib-dir=%{_libdir}
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,monit}
-
+install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,monit,sysconfig}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-# include all files provided by services:
-echo "include %{_sysconfdir}/monit/*.monitrc" >> monitrc.main
+install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/monit
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
-install monitrc.main $RPM_BUILD_ROOT%{_sysconfdir}/monitrc
-install monitrc $RPM_BUILD_ROOT%{_sysconfdir}/monit/default.monitrc
+cp -p monitrc $RPM_BUILD_ROOT%{_sysconfdir}/monitrc
+# NOTE: 'include *.monitrc' will fail if nothing matches the glob.
+# so install dummy config not to remove it with upgrades (avoid .rpmsave)
+cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/monit/default.monitrc
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc doc/*.html CHANGES.txt CONTRIBUTORS FAQ.txt README*
-%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}rc
-%attr(751,root,root) %dir %{_sysconfdir}/monit
-%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/monit/*.monitrc
-%attr(755,root,root) %{_bindir}/*
+%doc CONTRIBUTORS README*
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/monitrc
+%dir %attr(751,root,root) %{_sysconfdir}/%{name}
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/default.monitrc
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/monit
%attr(754,root,root) /etc/rc.d/init.d/%{name}
-%{_mandir}/man?/*
+%attr(755,root,root) %{_sbindir}/monit
+%{_mandir}/man1/monit.1*