diff options
Diffstat (limited to 'del-service')
-rwxr-xr-x | del-service | 17 |
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 |