diff --git a/init/atboot.pl b/init/atboot.pl index 843a5cc39..9fe2a0c53 100755 --- a/init/atboot.pl +++ b/init/atboot.pl @@ -12,14 +12,14 @@ $< == 0 || die "atboot.pl must be run as root"; if ($init_mode eq "osx") { # Darwin System &enable_at_boot("webmin", "Webmin administration server", - "$config_directory/start >/dev/null 2>&1 /dev/null 2>&1 [$i] !~ /^exit\s/; $i++) { } - splice(@$lref, $i, 0, "$config_directory/start >/dev/null 2>&1 /dev/null 2>&1 /dev/null 2>&1 /dev/null 2>&1 $var_directory."/miniserv.pid", 'opts' => { @@ -136,16 +136,17 @@ elsif ($init_mode eq "systemd") { } elsif ($init_mode eq "rc" || $init_mode eq "upstart") { # Create RC or upstart script - &enable_at_boot($product, $ucproduct, "$config_directory/start", - "$config_directory/stop", - undef, - { 'fork' => 1, - 'pidfile' => $var_directory."/miniserv.pid" }); + &enable_at_boot($product, $ucproduct, + "$config_directory/.start-init", + "$config_directory/.stop-init", + undef, + { 'fork' => 1, + 'pidfile' => $var_directory."/miniserv.pid" }); } elsif ($init_mode eq "launchd") { # Create launchd script &create_launchd_agent(&launchd_name($product), - "$config_directory/start --nofork", 1); + "$config_directory/.start-init --nofork", 1); } $config{'atboot_product'} = $product; diff --git a/makerpm.pl b/makerpm.pl index b1f8a297a..82c1a75cb 100755 --- a/makerpm.pl +++ b/makerpm.pl @@ -269,7 +269,7 @@ if [ "\$1" = 0 ]; then # has taken it's place. Run uninstalls and stop the server (cd /usr/libexec/webmin ; WEBMIN_CONFIG=/etc/webmin WEBMIN_VAR=/var/webmin LANG= /usr/libexec/webmin/run-uninstalls.pl) >/dev/null 2>&1 /dev/null 2>&1 /dev/null 2>&1 /dev/null 2>&1 $config_directory/start-init"); + open(START, ">$config_directory/.start-init"); print START "#!/bin/sh\n"; print START "echo Starting Webmin server in $wadir\n"; print START "trap '' 1\n"; @@ -537,10 +537,10 @@ else { print START "exec '$wadir/miniserv.pl' $config_directory/miniserv.conf\n"; } close(START); - $start_cmd = "$config_directory/start-init"; + $start_cmd = "$config_directory/start"; # Stop main - open(STOP, ">$config_directory/stop-init"); + open(STOP, ">$config_directory/.stop-init"); print STOP "#!/bin/sh\n"; print STOP "if [ \"\$1\" = \"--kill\" ]; then\n"; print STOP " echo Force stopping Webmin server in $wadir\n"; @@ -565,32 +565,32 @@ else { close(STOP); # Restart main - open(RESTART, ">$config_directory/restart-init"); + open(RESTART, ">$config_directory/.restart-init"); print RESTART "#!/bin/sh\n"; - print RESTART "$config_directory/stop-init\n"; - print RESTART "$config_directory/start-init\n"; + print RESTART "$config_directory/.stop-init\n"; + print RESTART "$config_directory/.start-init\n"; close(RESTART); # Force reload main - open(FRELOAD, ">$config_directory/restart-by-force-kill-init"); + open(FRELOAD, ">$config_directory/.restart-by-force-kill-init"); print FRELOAD "#!/bin/sh\n"; - print FRELOAD "$config_directory/stop-init --kill\n"; - print FRELOAD "$config_directory/start-init\n"; + print FRELOAD "$config_directory/.stop-init --kill\n"; + print FRELOAD "$config_directory/.start-init\n"; close(FRELOAD); # Reload main - open(RELOAD, ">$config_directory/reload-init"); + open(RELOAD, ">$config_directory/.reload-init"); print RELOAD "#!/bin/sh\n"; print RELOAD "echo Reloading Webmin server in $wadir\n"; print RELOAD "pidfile=\`grep \"^pidfile=\" $config_directory/miniserv.conf | sed -e 's/pidfile=//g'\`\n"; print RELOAD "kill -USR1 \`cat \$pidfile\`\n"; close(RELOAD); - chmod(0755, "$config_directory/start-init"); - chmod(0755, "$config_directory/stop-init"); - chmod(0755, "$config_directory/restart-init"); - chmod(0755, "$config_directory/restart-by-force-kill-init"); - chmod(0755, "$config_directory/reload-init"); + chmod(0755, "$config_directory/.start-init"); + chmod(0755, "$config_directory/.stop-init"); + chmod(0755, "$config_directory/.restart-init"); + chmod(0755, "$config_directory/.restart-by-force-kill-init"); + chmod(0755, "$config_directory/.reload-init"); # Re-generating supplementary @@ -603,15 +603,15 @@ else { # Create symlinks # Start init.d - symlink("$config_directory/start-init", "$config_directory/start"); + symlink("$config_directory/.start-init", "$config_directory/start"); # Stop init.d - symlink("$config_directory/stop-init", "$config_directory/stop"); + symlink("$config_directory/.stop-init", "$config_directory/stop"); # Restart init.d - symlink("$config_directory/restart-init", "$config_directory/restart"); + symlink("$config_directory/.restart-init", "$config_directory/restart"); # Force reload init.d - symlink("$config_directory/restart-by-force-kill-init", "$config_directory/restart-by-force-kill"); + symlink("$config_directory/.restart-by-force-kill-init", "$config_directory/restart-by-force-kill"); # Reload init.d - symlink("$config_directory/reload-init", "$config_directory/reload"); + symlink("$config_directory/.reload-init", "$config_directory/reload"); # For systemd my $systemctlcmd = `which systemctl`; @@ -642,14 +642,14 @@ else { # Force reload systemd open(FRELOADD, ">$config_directory/restart-by-force-kill"); - print FRELOADD "$config_directory/stop-init --kill >/dev/null 2>&1\n"; + print FRELOADD "$config_directory/.stop-init --kill >/dev/null 2>&1\n"; print FRELOADD "$systemctlcmd stop webmin\n"; print FRELOADD "$systemctlcmd start webmin\n"; close(FRELOADD); # Reload systemd open(RELOADD, ">$config_directory/reload"); - print RELOADD "$config_directory/reload-init >/dev/null 2>&1\n"; + print RELOADD "$config_directory/.reload-init >/dev/null 2>&1\n"; close(RELOADD); chmod(0755, "$config_directory/start"); diff --git a/setup.sh b/setup.sh index 8aedd1048..dd6cf0a6a 100755 --- a/setup.sh +++ b/setup.sh @@ -603,61 +603,61 @@ if [ "$noperlpath" = "" ]; then fi # Re-generating main -rm -f $config_dir/stop-init $config_dir/start-init $config_dir/restart-init $config_dir/restart-by-force-kill-init $config_dir/reload-init +rm -f $config_dir/.stop-init $config_dir/.start-init $config_dir/.restart-init $config_dir/.restart-by-force-kill-init $config_dir/.reload-init echo "Creating start and stop init scripts.." # Start main -echo "#!/bin/sh" >>$config_dir/start-init -echo "echo Starting Webmin server in $wadir" >>$config_dir/start-init -echo "trap '' 1" >>$config_dir/start-init -echo "LANG=" >>$config_dir/start-init -echo "export LANG" >>$config_dir/start-init -echo "unset PERLIO" >>$config_dir/start-init -echo "export PERLIO" >>$config_dir/start-init -echo "PERLLIB=$PERLLIB" >>$config_dir/start-init -echo "export PERLLIB" >>$config_dir/start-init +echo "#!/bin/sh" >>$config_dir/.start-init +echo "echo Starting Webmin server in $wadir" >>$config_dir/.start-init +echo "trap '' 1" >>$config_dir/.start-init +echo "LANG=" >>$config_dir/.start-init +echo "export LANG" >>$config_dir/.start-init +echo "unset PERLIO" >>$config_dir/.start-init +echo "export PERLIO" >>$config_dir/.start-init +echo "PERLLIB=$PERLLIB" >>$config_dir/.start-init +echo "export PERLLIB" >>$config_dir/.start-init uname -a | grep -i 'HP/*UX' >/dev/null if [ $? = "0" ]; then - echo "exec '$wadir/miniserv.pl' \$* $config_dir/miniserv.conf &" >>$config_dir/start-init + echo "exec '$wadir/miniserv.pl' \$* $config_dir/miniserv.conf &" >>$config_dir/.start-init else - echo "exec '$wadir/miniserv.pl' \$* $config_dir/miniserv.conf" >>$config_dir/start-init + echo "exec '$wadir/miniserv.pl' \$* $config_dir/miniserv.conf" >>$config_dir/.start-init fi # Stop main -echo "#!/bin/sh" >>$config_dir/stop-init -echo "if [ \"\$1\" = \"--kill\" ]; then" >>$config_dir/stop-init -echo " echo Force stopping Webmin server in $wadir" >>$config_dir/stop-init -echo "else" >>$config_dir/stop-init -echo " echo Stopping Webmin server in $wadir" >>$config_dir/stop-init -echo "fi" >>$config_dir/stop-init -echo "pidfile=\`grep \"^pidfile=\" $config_dir/miniserv.conf | sed -e 's/pidfile=//g'\`" >>$config_dir/stop-init -echo "pid=\`cat \$pidfile\` 2>/dev/null" >>$config_dir/stop-init -echo "if [ \"\$pid\" != \"\" ]; then" >>$config_dir/stop-init -echo " kill \$pid || exit 1" >>$config_dir/stop-init -echo " touch $var_dir/stop-flag" >>$config_dir/stop-init -echo " if [ \"\$1\" = \"--kill\" ]; then" >>$config_dir/stop-init -echo " sleep 1" >>$config_dir/stop-init -echo " ((ps axf | grep \"webmin\/miniserv\.pl\" | awk '{print \"kill -9 -- -\" \$1}' | bash) || kill -9 -- -\$pid || kill -9 \$pid) 2>/dev/null" >>$config_dir/stop-init -echo " fi" >>$config_dir/stop-init -echo " exit 0" >>$config_dir/stop-init -echo "else" >>$config_dir/stop-init -echo " if [ \"\$1\" = \"--kill\" ]; then" >>$config_dir/stop-init -echo " (ps axf | grep \"webmin\/miniserv\.pl\" | awk '{print \"kill -9 -- -\" \$1}' | bash) 2>/dev/null" >>$config_dir/stop-init -echo " fi" >>$config_dir/stop-init -echo "fi" >>$config_dir/stop-init +echo "#!/bin/sh" >>$config_dir/.stop-init +echo "if [ \"\$1\" = \"--kill\" ]; then" >>$config_dir/.stop-init +echo " echo Force stopping Webmin server in $wadir" >>$config_dir/.stop-init +echo "else" >>$config_dir/.stop-init +echo " echo Stopping Webmin server in $wadir" >>$config_dir/.stop-init +echo "fi" >>$config_dir/.stop-init +echo "pidfile=\`grep \"^pidfile=\" $config_dir/miniserv.conf | sed -e 's/pidfile=//g'\`" >>$config_dir/.stop-init +echo "pid=\`cat \$pidfile\` 2>/dev/null" >>$config_dir/.stop-init +echo "if [ \"\$pid\" != \"\" ]; then" >>$config_dir/.stop-init +echo " kill \$pid || exit 1" >>$config_dir/.stop-init +echo " touch $var_dir/stop-flag" >>$config_dir/.stop-init +echo " if [ \"\$1\" = \"--kill\" ]; then" >>$config_dir/.stop-init +echo " sleep 1" >>$config_dir/.stop-init +echo " ((ps axf | grep \"webmin\/miniserv\.pl\" | awk '{print \"kill -9 -- -\" \$1}' | bash) || kill -9 -- -\$pid || kill -9 \$pid) 2>/dev/null" >>$config_dir/.stop-init +echo " fi" >>$config_dir/.stop-init +echo " exit 0" >>$config_dir/.stop-init +echo "else" >>$config_dir/.stop-init +echo " if [ \"\$1\" = \"--kill\" ]; then" >>$config_dir/.stop-init +echo " (ps axf | grep \"webmin\/miniserv\.pl\" | awk '{print \"kill -9 -- -\" \$1}' | bash) 2>/dev/null" >>$config_dir/.stop-init +echo " fi" >>$config_dir/.stop-init +echo "fi" >>$config_dir/.stop-init # Restart main -echo "#!/bin/sh" >>$config_dir/restart-init -echo "$config_dir/stop-init" >>$config_dir/restart-init -echo "$config_dir/start-init" >>$config_dir/restart-init +echo "#!/bin/sh" >>$config_dir/.restart-init +echo "$config_dir/.stop-init" >>$config_dir/.restart-init +echo "$config_dir/.start-init" >>$config_dir/.restart-init # Force reload main -echo "#!/bin/sh" >>$config_dir/restart-by-force-kill-init -echo "$config_dir/stop-init --kill" >>$config_dir/restart-by-force-kill-init -echo "$config_dir/start-init" >>$config_dir/restart-by-force-kill-init +echo "#!/bin/sh" >>$config_dir/.restart-by-force-kill-init +echo "$config_dir/.stop-init --kill" >>$config_dir/.restart-by-force-kill-init +echo "$config_dir/.start-init" >>$config_dir/.restart-by-force-kill-init # Reload main -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 +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 -chmod 755 $config_dir/stop-init $config_dir/start-init $config_dir/restart-init $config_dir/restart-by-force-kill-init $config_dir/reload-init +chmod 755 $config_dir/.stop-init $config_dir/.start-init $config_dir/.restart-init $config_dir/.restart-by-force-kill-init $config_dir/.reload-init echo "..done" echo "" @@ -667,15 +667,15 @@ echo "" rm -f $config_dir/stop $config_dir/start $config_dir/restart $config_dir/restart-by-force-kill $config_dir/reload # Start init.d -ln -s $config_dir/start-init $config_dir/start >/dev/null 2>&1 +ln -s $config_dir/.start-init $config_dir/start >/dev/null 2>&1 # Stop init.d -ln -s $config_dir/stop-init $config_dir/stop >/dev/null 2>&1 +ln -s $config_dir/.stop-init $config_dir/stop >/dev/null 2>&1 # Restart init.d -ln -s $config_dir/restart-init $config_dir/restart >/dev/null 2>&1 +ln -s $config_dir/.restart-init $config_dir/restart >/dev/null 2>&1 # Force reload init.d -ln -s $config_dir/restart-by-force-kill-init $config_dir/restart-by-force-kill >/dev/null 2>&1 +ln -s $config_dir/.restart-by-force-kill-init $config_dir/restart-by-force-kill >/dev/null 2>&1 # Reload init.d -ln -s $config_dir/reload-init $config_dir/reload >/dev/null 2>&1 +ln -s $config_dir/.reload-init $config_dir/reload >/dev/null 2>&1 # For systemd create different start/stop scripts systemctlcmd=`which systemctl` >/dev/null 2>&1 @@ -694,12 +694,12 @@ if [ -x "$systemctlcmd" ]; then echo "$systemctlcmd restart webmin" >>$config_dir/restart # Force reload systemd echo "#!/bin/sh" >>$config_dir/restart-by-force-kill - echo "$config_dir/stop-init --kill >/dev/null 2>&1" >>$config_dir/restart-by-force-kill + echo "$config_dir/.stop-init --kill >/dev/null 2>&1" >>$config_dir/restart-by-force-kill echo "$systemctlcmd stop webmin" >>$config_dir/restart-by-force-kill echo "$systemctlcmd start webmin" >>$config_dir/restart-by-force-kill # Reload systemd echo "#!/bin/sh" >>$config_dir/reload - echo "$config_dir/reload-init >/dev/null 2>&1" >>$config_dir/reload + echo "$config_dir/.reload-init >/dev/null 2>&1" >>$config_dir/reload # Fix existing systemd webmin.service file to update start and stop commands (cd "$wadir/init" ; WEBMIN_CONFIG=$config_dir WEBMIN_VAR=$var_dir "$wadir/init/updateboot.pl" "webmin") diff --git a/webmin-init b/webmin-init index 05ed7acea..5957a3f84 100755 --- a/webmin-init +++ b/webmin-init @@ -19,10 +19,10 @@ DESC="web-based administration interface for Unix systems" NAME=Webmin PIDFILE=/var/webmin/miniserv.pid SCRIPTNAME=/etc/init.d/webmin -START=/etc/webmin/start-init -STOP=/etc/webmin/stop-init -RELOAD=/etc/webmin/reload-init -FORCERELOAD=/etc/webmin/restart-by-force-kill-init +START=/etc/webmin/.start-init +STOP=/etc/webmin/.stop-init +FORCERESTART=/etc/webmin/.restart-by-force-kill-init +RELOAD=/etc/webmin/.reload-init LOCKFILE=/var/lock/subsys/webmin CONFFILE=/etc/webmin/miniserv.conf @@ -71,7 +71,7 @@ restart) RETVAL=$? ;; restart-by-force-kill) - $FORCERELOAD + $FORCERESTART RETVAL=$? ;; reload|force-reload) diff --git a/webmin-systemd b/webmin-systemd index 08e595600..fad208d31 100755 --- a/webmin-systemd +++ b/webmin-systemd @@ -3,8 +3,8 @@ Description=Webmin server daemon After=syslog.target [Service] -ExecStart=/etc/webmin/start-init -ExecStop=/etc/webmin/stop-init +ExecStart=/etc/webmin/.start-init +ExecStop=/etc/webmin/.stop-init PIDFile=/var/webmin/miniserv.pid Type=forking KillMode=none