Ian Kent 5ec16e
autofs-5.0.6 - systemd support fixes
Ian Kent 5ec16e
Ian Kent 5ec16e
From: Ian Kent <raven@themaw.net>
Ian Kent 5ec16e
Ian Kent 5ec16e
Fix up some of in spec file systemd scriptlets.
Ian Kent 5ec16e
Ian Kent 5ec16e
The pre-system package verion uninstall scriptlet has been commented
Ian Kent 5ec16e
out in the tar spec file. It's is an example of what might need to
Ian Kent 5ec16e
be done in a distro spec file.
Ian Kent 5ec16e
---
Ian Kent 5ec16e
Ian Kent 5ec16e
 CHANGELOG                 |    1 +
Ian Kent 5ec16e
 autofs.spec               |   35 +++++++++++++++++++++++++++--------
Ian Kent 5ec16e
 samples/autofs.service.in |    1 +
Ian Kent 5ec16e
 3 files changed, 29 insertions(+), 8 deletions(-)
Ian Kent 5ec16e
Ian Kent 5ec16e
Ian Kent 5ec16e
--- autofs-5.0.6.orig/CHANGELOG
Ian Kent 5ec16e
+++ autofs-5.0.6/CHANGELOG
Ian Kent 5ec16e
@@ -29,6 +29,7 @@
Ian Kent 5ec16e
 - reinstate singleton mount probe.
Ian Kent 5ec16e
 - rework error return handling in rpc code.
Ian Kent 5ec16e
 - catch EHOSTUNREACH and bail out early.
Ian Kent 5ec16e
+- systemd support fixes.
Ian Kent 5ec16e
 
Ian Kent 5ec16e
 28/06/2011 autofs-5.0.6
Ian Kent 5ec16e
 -----------------------
Ian Kent 5ec16e
--- autofs-5.0.6.orig/autofs.spec
Ian Kent 5ec16e
+++ autofs-5.0.6/autofs.spec
Ian Kent 5ec16e
@@ -105,27 +105,36 @@ install -m 644 redhat/autofs.sysconfig $
Ian Kent 5ec16e
 
Ian Kent 5ec16e
 %post
Ian Kent 5ec16e
 %if %{with_systemd}
Ian Kent 5ec16e
-/bin/systemctl daemon-reload >/dev/null 2>&1 || :
Ian Kent 5ec16e
+if [ $1 -eq 1 ]; then
Ian Kent 5ec16e
+	%{_bindir}/systemctl daemon-reload >/dev/null 2>&1 || :
Ian Kent 5ec16e
+	# autofs has been approved to be enabled by default
Ian Kent 5ec16e
+	%{_bindir}systemctl enable %{name}.service >/dev/null 2>&1 || :
Ian Kent 5ec16e
+fi
Ian Kent 5ec16e
 %else
Ian Kent 5ec16e
-chkconfig --add autofs
Ian Kent 5ec16e
+if [ $1 -eq 1 ]; then
Ian Kent 5ec16e
+	chkconfig --add autofs
Ian Kent 5ec16e
+fi
Ian Kent 5ec16e
 %endif
Ian Kent 5ec16e
 
Ian Kent 5ec16e
 %preun
Ian Kent 5ec16e
-if [ "$1" = 0 ] ; then
Ian Kent 5ec16e
 %if %{with_systemd}
Ian Kent 5ec16e
-	/bin/systemctl --no-reload disable autofs.service > /dev/null 2>&1 || :
Ian Kent 5ec16e
-	/bin/systemctl stop autofs.service > /dev/null 2>&1 || :
Ian Kent 5ec16e
+if [ $1 -eq 0 ] ; then
Ian Kent 5ec16e
+	%{_bindir}/systemctl --no-reload disable %{name}.service > /dev/null 2>&1 || :
Ian Kent 5ec16e
+	%{_bindir}/systemctl stop %{name}.service > /dev/null 2>&1 || :
Ian Kent 5ec16e
+fi
Ian Kent 5ec16e
 %else
Ian Kent 5ec16e
+if [ $1 -eq 0 ] ; then
Ian Kent 5ec16e
 	/sbin/service autofs stop > /dev/null 2>&1 || :
Ian Kent 5ec16e
 	/sbin/chkconfig --del autofs
Ian Kent 5ec16e
-%endif
Ian Kent 5ec16e
 fi
Ian Kent 5ec16e
+%endif
Ian Kent 5ec16e
 
Ian Kent 5ec16e
 %postun
Ian Kent 5ec16e
 %if %{with_systemd}
Ian Kent 5ec16e
-/bin/systemctl daemon-reload >/dev/null 2>&1 || :
Ian Kent 5ec16e
+%{_bindir}/systemctl daemon-reload >/dev/null 2>&1 || :
Ian Kent 5ec16e
 if [ $1 -ge 1 ] ; then
Ian Kent 5ec16e
-	/bin/systemctl try-restart autofs.service >/dev/null 2>&1 || :
Ian Kent 5ec16e
+	# Package upgrade, not removal
Ian Kent 5ec16e
+	/bin/systemctl try-restart %{name}.service >/dev/null 2>&1 || :
Ian Kent 5ec16e
 fi
Ian Kent 5ec16e
 %else
Ian Kent 5ec16e
 if [ $1 -ge 1 ] ; then
Ian Kent 5ec16e
@@ -133,6 +142,16 @@ if [ $1 -ge 1 ] ; then
Ian Kent 5ec16e
 fi
Ian Kent 5ec16e
 %endif
Ian Kent 5ec16e
 
Ian Kent 5ec16e
+#%triggerun -- %{name} < $bla release
Ian Kent 5ec16e
+## Save the current service runlevel info
Ian Kent 5ec16e
+## User must manually run systemd-sysv-convert --apply %{name}
Ian Kent 5ec16e
+## to migrate them to systemd targets
Ian Kent 5ec16e
+#%{_bindir}/systemd-sysv-convert --save %{name} >/dev/null 2>&1 ||:
Ian Kent 5ec16e
+#
Ian Kent 5ec16e
+## Run these because the SysV package being removed won't do them
Ian Kent 5ec16e
+#%{_sbindir}/chkconfig --del %{name} >/dev/null 2>&1 || :
Ian Kent 5ec16e
+#%{_bindir}/systemctl try-restart %{name}.service >/dev/null 2>&1 || :
Ian Kent 5ec16e
+
Ian Kent 5ec16e
 %files
Ian Kent 5ec16e
 %defattr(-,root,root)
Ian Kent 5ec16e
 %doc CREDITS CHANGELOG INSTALL COPY* README* samples/ldap* samples/autofs.schema samples/autofs_ldap_auth.conf
Ian Kent 5ec16e
--- autofs-5.0.6.orig/samples/autofs.service.in
Ian Kent 5ec16e
+++ autofs-5.0.6/samples/autofs.service.in
Ian Kent 5ec16e
@@ -7,6 +7,7 @@ Type=forking
Ian Kent 5ec16e
 PIDFile=@@autofspiddir@@/autofs.pid
Ian Kent 5ec16e
 EnvironmentFile=-@@autofsconfdir@@/autofs
Ian Kent 5ec16e
 ExecStart=@@sbindir@@/automount ${OPTIONS} --pid-file @@autofspiddir@@/autofs.pid
Ian Kent 5ec16e
+ExecReload=/usr/bin/kill -HUP $MAINPID
Ian Kent 5ec16e
 
Ian Kent 5ec16e
 [Install]
Ian Kent 5ec16e
 WantedBy=multi-user.target