Atboot fixes
authorJamie Cameron <jcameron@webmin.com>
Sun, 17 Apr 2011 01:03:14 +0000 (18:03 -0700)
committerJamie Cameron <jcameron@webmin.com>
Sun, 17 Apr 2011 01:03:14 +0000 (18:03 -0700)
init/delboot.pl
init/init-lib.pl
init/save_rc.cgi
init/save_upstart.cgi

index e57c94a..bad767e 100755 (executable)
@@ -54,4 +54,11 @@ elsif ($init_mode eq "win32") {
        # Delete win32 service
        &delete_win32_service($product);
        }
-
+elsif ($init_mode eq "rc") {
+       # Delete FreeBSD RC script
+       &delete_rc_script($product);
+       }
+elsif ($init_mode eq "upstart") {
+       # Delete upstart service
+       &delete_upstart_service($product);
+       }
index 6776833..c2a8a8f 100755 (executable)
@@ -1491,6 +1491,24 @@ local $out = &backquote_logged("$rc->{'file'} forcestop 2>&1 </dev/null");
 return (!$?, $out);
 }
 
+=head2 delete_rc_script(name)
+
+Delete the FreeBSD RC script with some name
+
+=cut
+sub delete_rc_script
+{
+local ($name) = @_;
+my @rcs = &list_rc_scripts();
+my ($rc) = grep { $_->{'name'} eq $name } @rcs;
+if ($rc) {
+       &lock_rc_files();
+       &disable_rc_script($in{'name'});
+       &unlock_rc_files();
+       &unlink_logged($rc->{'file'});
+       }
+}
+
 =head2 lock_rc_files
 
 Internal function to lock all FreeBSD rc.conf files.
index 013e457..2d1f625 100755 (executable)
@@ -14,9 +14,7 @@ if (!$in{'new'}) {
 
 if ($in{'delete'}) {
        # Delete the action script
-       &lock_file($rc->{'file'});
-       unlink($rc->{'file'});
-       &unlock_file($rc->{'file'});
+       &delete_rc_script($in{'name'});
        &webmin_log("delete", "action", $in{'name'});
        &redirect("");
        }
index 4b9dad3..cdae3c1 100644 (file)
@@ -18,7 +18,8 @@ if (!$in{'new'}) {
 if ($in{'delete'}) {
        # Delete the service
        &disable_at_boot($in{'name'});
-       &delete_upstat_service($in{'name'});
+       &stop_upstart_service($in{'name'});
+       &delete_upstart_service($in{'name'});
        &webmin_log("delete", "upstart", $in{'name'});
        }
 elsif ($in{'new'}) {