Fix to properly transition from non-systemd to systemd instance

This commit is contained in:
iliajie
2022-08-05 17:35:15 +03:00
parent f7397080bc
commit 18c12abef5

View File

@@ -618,6 +618,9 @@ if [ ! -f "$config_dir/.pre-install" ]; then
killmodenonesh=1
fi
# Test if we have systemd system
systemctlcmd=`which systemctl 2>/dev/null`
# Re-generating main scripts
echo "Creating start and stop init scripts .."
# Start main
@@ -671,6 +674,14 @@ echo "#!/bin/sh" >$config_dir/.reload-init
echo "echo Reloading Webmin server in $wadir" >>$config_dir/.reload-init
echo "pidfile=\`grep \"^pidfile=\" $config_dir/miniserv.conf | sed -e 's/pidfile=//g'\`" >>$config_dir/.reload-init
echo "kill -USR1 \`cat \$pidfile\`" >>$config_dir/.reload-init
if [ -x "$systemctlcmd" ]; then
current_version=`cat "$config_dir/version" 2>/dev/null`
ancient_version=`echo $current_version 1.993 | awk '{if ($1 < $2) print 1; else print 0}'`
if [ "$ancient_version" = "1" ];then
echo "$config_dir/.stop-init" >>$config_dir/.reload-init
echo "$config_dir/start" >>$config_dir/.reload-init
fi
fi
# Pre install
echo "#!/bin/sh" >$config_dir/.pre-install
echo "$config_dir/.stop-init" >>$config_dir/.pre-install
@@ -699,7 +710,6 @@ ln -s $config_dir/.restart-by-force-kill-init $config_dir/restart-by-force-kill
ln -s $config_dir/.reload-init $config_dir/reload >/dev/null 2>&1
# For systemd create different start/stop scripts
systemctlcmd=`which systemctl 2>/dev/null`
if [ -x "$systemctlcmd" ]; then
rm -f $config_dir/stop $config_dir/start $config_dir/restart $config_dir/restart-by-force-kill $config_dir/reload