[mon] Migrate to systemd.
Jon Ciesla
limb at fedoraproject.org
Wed Apr 18 14:32:16 UTC 2012
commit 2a3c3c97206ac76445d8b63e59ff5453fd899116
Author: Jon Ciesla <limburgher at gmail.com>
Date: Wed Apr 18 09:32:07 2012 -0500
Migrate to systemd.
mon.service | 10 ++++++++++
mon.spec | 46 +++++++++++++++++++++++++++++++++++-----------
2 files changed, 45 insertions(+), 11 deletions(-)
---
diff --git a/mon.service b/mon.service
new file mode 100644
index 0000000..473898d
--- /dev/null
+++ b/mon.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Mon - Service Monitor
+
+[Service]
+Type=forking
+PIDFile=/run/mon.pid
+ExecStart=/usr/bin/mon -f -c /etc/mon/mon.cf -P /run/mon.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mon.spec b/mon.spec
index 2c3b4ce..4889898 100644
--- a/mon.spec
+++ b/mon.spec
@@ -7,7 +7,7 @@
Name: mon
Summary: General-purpose resource monitoring system
Version: 1.2.0
-Release: 9%{?dist}
+Release: 10%{?dist}
License: GPLv2+
Group: Applications/Internet
URL: http://www.kernel.org/software/mon/
@@ -17,7 +17,7 @@ Source1: ftp://ftp.kernel.org/pub/software/admin/mon/contrib/cgi-bin/mon.
Source2: ftp://ftp.kernel.org/pub/software/admin/mon/contrib/all-alerts.tar.bz2
Source3: mon.cf
-Source4: mon.init
+Source4: mon.service
Source5: userfile
Patch0: mon-1.2.0-perl.patch
@@ -27,6 +27,9 @@ Requires: perl(Authen::PAM)
Requires: iputils
Requires: fping
Requires: traceroute
+Requires(post): systemd-units
+Requires(preun): systemd-units
+Requires(postun): systemd-units
BuildRequires: dos2unix
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -85,7 +88,7 @@ install -d -m0755 $RPM_BUILD_ROOT%{_bindir} \
$RPM_BUILD_ROOT%{_mandir}/man{1,8}/ \
$RPM_BUILD_ROOT%{_libdir}/mon/{alert.d,mon.d}/ \
$RPM_BUILD_ROOT%{_sysconfdir}/mon/ \
- $RPM_BUILD_ROOT%{_initrddir} \
+ $RPM_BUILD_ROOT%{_unitdir} \
$RPM_BUILD_ROOT%{_localstatedir}/www/cgi-bin/ \
$RPM_BUILD_ROOT%{_localstatedir}/lib/mon/{log.d,state.d}/
@@ -100,7 +103,7 @@ install -p -m0755 alerts/*/*.alert $RPM_BUILD_ROOT%{_libdir}/mon/alert.d/
install -d $RPM_BUILD_ROOT%{_sysconfdir}/mon
%{fixlib} etc/auth.cf >$RPM_BUILD_ROOT%{_sysconfdir}/mon/auth.cf
%{fixlib} %{SOURCE3} >$RPM_BUILD_ROOT%{_sysconfdir}/mon/mon.cf
-install -Dp -m0755 %{SOURCE4} $RPM_BUILD_ROOT%{_initrddir}/mon
+install -Dp -m0644 %{SOURCE4} $RPM_BUILD_ROOT%{_unitdir}/mon.service
install -Dp -m0600 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mon/userfile
install -Dp -m0755 mon.cgi-%{moncgi_version}/mon.cgi $RPM_BUILD_ROOT%{_localstatedir}/www/cgi-bin/mon.cgi
@@ -124,18 +127,36 @@ rm -rf $RPM_BUILD_ROOT
%post
-/sbin/chkconfig --add mon
+if [ $1 -eq 1 ] ; then
+ # Initial installation
+ /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+fi
%preun
-if [ $1 -eq 0 ]; then
- /sbin/service mon stop &>/dev/null || :
- /sbin/chkconfig --del mon
+if [ $1 -eq 0 ] ; then
+ # Package removal, not upgrade
+ /bin/systemctl --no-reload disable mon.service > /dev/null 2>&1 || :
+ /bin/systemctl stop mon.service > /dev/null 2>&1 || :
fi
-
%postun
-/sbin/service mon condrestart &>/dev/null || :
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+if [ $1 -ge 1 ] ; then
+ # Package upgrade, not uninstall
+ /bin/systemctl try-restart mon.service >/dev/null 2>&1 || :
+fi
+
+%triggerun -- mon < 1.2.0-10
+# Save the current service runlevel info
+# User must manually run systemd-sysv-convert --apply mon
+# to migrate them to systemd targets
+/usr/bin/systemd-sysv-convert --save mon >/dev/null 2>&1 ||:
+
+# Run these because the SysV package being removed won't do them
+/sbin/chkconfig --del mon >/dev/null 2>&1 || :
+/bin/systemctl try-restart mon.service >/dev/null 2>&1 || :
+
%files
@@ -145,7 +166,7 @@ fi
%doc alerts/*/*.README mon.cgi-1.52/
%doc clients/{skymon,batch-example} etc/*.cf etc/example.m4 etc/example.monshowrc
%config(noreplace) %{_sysconfdir}/mon/
-%{_initrddir}/*
+%{_unitdir}/*
%{_mandir}/man?/*
%{_localstatedir}/www/cgi-bin/mon.cgi
%{_bindir}/*
@@ -172,6 +193,9 @@ fi
%changelog
+* Wed Apr 18 2012 Jon Ciesla <limburgher at gmail.com> - 1.2.0-10
+- Migrate to systemd, BZ 789890.
+
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.2.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
More information about the scm-commits
mailing list