aboutsummaryrefslogtreecommitdiffstats
path: root/del-service
diff options
context:
space:
mode:
Diffstat (limited to 'del-service')
-rwxr-xr-xdel-service17
1 files changed, 10 insertions, 7 deletions
diff --git a/del-service b/del-service
index 753fcc3..f519065 100755
--- a/del-service
+++ b/del-service
@@ -22,6 +22,13 @@ if [ $# -lt 3 ]; then
exit 1
fi
+# What init system are we currently using?
+if /bin/mountpoint -q /sys/fs/cgroup/systemd; then
+ init=systemd
+else
+ init=sysvinit
+fi
+
pkg=$1 # name of the package
num=$2 # number of packages installed
if [ $do_sysv = yes ]; then
@@ -44,10 +51,8 @@ fi
if [ $num = 0 ]; then
if [ -z "$DURING_INSTALL" ]; then
- if [ -n "$units" ]; then
- if /bin/mountpoint -q /sys/fs/cgroup/systemd; then
- /bin/systemctl stop $units
- fi
+ if [ x$init = xsystemd ]; then
+ /bin/systemctl stop $units
elif [ -n "srv" ]; then
/sbin/service $srv stop > /dev/null || :
fi
@@ -59,9 +64,7 @@ if [ $num = 0 ]; then
# Yes - this is very ugly workaround. chkconfig --del does daemon-reload,
# but initscript is still there, so it remains loaded. Remove file and
# reload again. Systemd units are supposed to provide postun script
-
- if [ -n "$srv" -a -f /etc/rc.d/init.d/$srv ] && \
- /bin/mountpoint -q /sys/fs/cgroup/systemd; then
+ if [ -n "$srv" -a -f /etc/rc.d/init.d/$srv -a x$init = xsystemd ]; then
/bin/rm -f /etc/rc.d/init.d/$srv
/bin/systemctl daemon-reload
fi