mirror of
https://github.com/webmin/webmin.git
synced 2025-07-20 16:48:46 +00:00
70 lines
1.9 KiB
Perl
Executable File
70 lines
1.9 KiB
Perl
Executable File
# uninstall.pl
|
|
# Called when webmin is uninstalled
|
|
|
|
require 'init-lib.pl';
|
|
|
|
sub module_uninstall
|
|
{
|
|
local %miniserv;
|
|
&get_miniserv_config(\%miniserv);
|
|
return if (!$miniserv{'atboot'});
|
|
|
|
local $product = $config{'atboot_product'} || "webmin";
|
|
local $ucproduct = ucfirst($product);
|
|
|
|
if ($init_mode eq "osx") {
|
|
# Remove from hostconfig file
|
|
open(LOCAL, "<".$config{'hostconfig'});
|
|
@local = <LOCAL>;
|
|
close(LOCAL);
|
|
$start = "WEBMIN=-";
|
|
&open_tempfile(LOCAL, ">$config{'hostconfig'}");
|
|
&print_tempfile(LOCAL, grep { !/^$start/ } @local);
|
|
&close_tempfile(LOCAL);
|
|
print STDERR "Deleted from $config{'hostconfig'}\n";
|
|
# get rid of the startup items
|
|
$paramlist = "$config{'darwin_setup'}/$ucproduct/$config{'plist'}";
|
|
$scriptfile = "$config{'darwin_setup'}/$ucproduct/$ucproduct";
|
|
print STDERR "Deleting $config{'darwin_setup'}/$ucproduct ..";
|
|
unlink ($paramlist);
|
|
unlink ($scriptfile);
|
|
print STDERR "\. ", rmdir ("$config{'darwin_setup'}/$ucproduct") ? "Success":"Failed", "\n";
|
|
}
|
|
elsif ($init_mode eq "local") {
|
|
# Remove from boot time rc script
|
|
open(LOCAL, "<".$config{'local_script'});
|
|
@local = <LOCAL>;
|
|
close(LOCAL);
|
|
$start = "$config_directory/start";
|
|
&open_tempfile(LOCAL, ">$config{'local_script'}");
|
|
&print_tempfile(LOCAL, grep { !/^$start/ } @local);
|
|
&close_tempfile(LOCAL);
|
|
print STDERR "Deleted from bootup script $config{'local_script'}\n";
|
|
}
|
|
elsif ($init_mode eq "init" || $init_mode eq "upstart") {
|
|
# Delete bootup action
|
|
foreach (&action_levels('S', $product)) {
|
|
/^(\S+)\s+(\S+)\s+(\S+)$/;
|
|
&delete_rl_action($product, $1, 'S');
|
|
}
|
|
foreach (&action_levels('K', $product)) {
|
|
/^(\S+)\s+(\S+)\s+(\S+)$/;
|
|
&delete_rl_action($product, $1, 'K');
|
|
}
|
|
$fn = &action_filename($product);
|
|
unlink($fn);
|
|
print STDERR "Deleted init script $fn\n";
|
|
}
|
|
elsif ($init_mode eq "win32") {
|
|
# Delete win32 service
|
|
&delete_win32_service($product);
|
|
}
|
|
elsif ($init_mode eq "systemd") {
|
|
# Delete systemd service
|
|
&delete_systemd_service($product);
|
|
}
|
|
}
|
|
|
|
1;
|
|
|