From 7a7ee261362d61c730196df299a05347a68f9369 Mon Sep 17 00:00:00 2001 From: Colin Guthrie Date: Sun, 27 Jul 2014 19:53:23 +0100 Subject: Drop hacky workaround for systemd reload on sysv initscript package removal Due to the fact that systemd is reload by chkconfig, it will still think the service exists. A hacky patch was included which rm'ed the sysvinit script and then reloaded systemd again, which worked but caused errors from rpm when removing packages complaining that a file it controlled did not exist (which was correct). It's actually much better to fix this with a filetrigger. We actually already ship a filetrigger that performs appropriate daemon-reloads, but it only matched on native units. Simply changing the regexp to include sysvinit script paths too should fix the problem equally well, but in a much less hacky way. --- del-service | 8 -------- 1 file changed, 8 deletions(-) (limited to 'del-service') diff --git a/del-service b/del-service index da61231..9f8adf4 100755 --- a/del-service +++ b/del-service @@ -95,14 +95,6 @@ if [ $num = 0 ]; then /bin/systemctl --no-reload --quiet disable $units >/dev/null [ -n "$srv" -a -f /etc/rc.d/init.d/$srv ] && /sbin/chkconfig --del $srv - - # 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 -a x$init = xsystemd ]; then - /bin/rm -f /etc/rc.d/init.d/$srv - /bin/systemctl daemon-reload - fi fi # del-service ends here -- cgit v1.2.1