Handle hostnames with upper-case letters
[webmin.git] / init / delboot.pl
1 #!/usr/local/bin/perl
2 # delboot.pl
3 # Called by uninstall.sh to stop webmin being started at boot time
4
5 $no_acl_check++;
6 require './init-lib.pl';
7 $product = $config{'atboot_product'} || "webmin";
8 $ucproduct = ucfirst($product);
9
10 if ($init_mode eq "osx") {
11         # Remove from hostconfig file
12         open(LOCAL, $config{'hostconfig'});
13         @local = <LOCAL>;
14         close(LOCAL);
15         $start = "WEBMIN=-";
16         &open_tempfile(LOCAL, ">$config{'hostconfig'}");
17         &print_tempfile(LOCAL, grep { !/^$start/ } @local);
18         &close_tempfile(LOCAL);
19         print "Deleted from $config{'hostconfig'}\n";
20         # get rid of the startup items
21         $paramlist = "$config{'darwin_setup'}/$ucproduct/$config{'plist'}";
22         $scriptfile = "$config{'darwin_setup'}/$ucproduct/$ucproduct";
23         print "Deleting $config{'darwin_setup'}/$ucproduct ..";
24         unlink ($paramlist);
25         unlink ($scriptfile);
26         print "\. ", rmdir ("$config{'darwin_setup'}/$ucproduct") ? "Success":"Failed", "\n";
27         }
28 elsif ($init_mode eq "local") {
29         # Remove from boot time rc script
30         open(LOCAL, $config{'local_script'});
31         @local = <LOCAL>;
32         close(LOCAL);
33         $start = "$config_directory/start";
34         &open_tempfile(LOCAL, ">$config{'local_script'}");
35         &print_tempfile(LOCAL, grep { !/^$start/ } @local);
36         &close_tempfile(LOCAL);
37         print "Deleted from bootup script $config{'local_script'}\n";
38         }
39 elsif ($init_mode eq "init") {
40         # Delete bootup action
41         foreach (&action_levels('S', $product)) {
42                 /^(\S+)\s+(\S+)\s+(\S+)$/;
43                 &delete_rl_action($product, $1, 'S');
44                 }
45         foreach (&action_levels('K', $product)) {
46                 /^(\S+)\s+(\S+)\s+(\S+)$/;
47                 &delete_rl_action($product, $1, 'K');
48                 }
49         $fn = &action_filename($product);
50         unlink($fn);
51         print "Deleted init script $fn\n";
52         }
53 elsif ($init_mode eq "win32") {
54         # Delete win32 service
55         &delete_win32_service($product);
56         }
57 elsif ($init_mode eq "rc") {
58         # Delete FreeBSD RC script
59         &delete_rc_script($product);
60         }
61 elsif ($init_mode eq "upstart") {
62         # Delete upstart service
63         &delete_upstart_service($product);
64         }