summaryrefslogtreecommitdiff
path: root/Init/Services.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Init/Services.pm')
-rw-r--r--Init/Services.pm120
1 files changed, 118 insertions, 2 deletions
diff --git a/Init/Services.pm b/Init/Services.pm
index 043a618..119cc8f 100644
--- a/Init/Services.pm
+++ b/Init/Services.pm
@@ -26,6 +26,122 @@ package Init::Services;
use Init::ServicesList;
+sub get_runlevel_roles
+{
+ my (%dist_map, %runlevels);
+ my ($desc, $distro);
+
+ %dist_map =
+ (
+ "redhat-5.2" => "redhat-5.2",
+ "redhat-6.0" => "redhat-5.2",
+ "redhat-6.1" => "redhat-5.2",
+ "redhat-6.2" => "redhat-5.2",
+ "redhat-7.0" => "redhat-5.2",
+ "redhat-7.1" => "redhat-5.2",
+ "redhat-7.2" => "redhat-5.2",
+ "redhat-7.3" => "redhat-5.2",
+ "redhat-8.0" => "redhat-5.2",
+ "redhat-9" => "redhat-5.2",
+ "openna-1.0" => "redhat-5.2",
+
+ "mandrake-7.1" => "redhat-5.2",
+ "mandrake-7.2" => "redhat-5.2",
+ "mandrake-9.0" => "redhat-5.2",
+ "mandrake-9.1" => "redhat-5.2",
+ "mandrake-9.2" => "redhat-5.2",
+ "mandrake-10.0" => "redhat-5.2",
+ "mandrake-10.1" => "redhat-5.2",
+
+ "blackpanther-4.0" => "redhat-5.2",
+
+ "conectiva-9" => "redhat-5.2",
+ "conectiva-10" => "redhat-5.2",
+
+ "debian-2.2" => "debian-2.2",
+ "debian-3.0" => "debian-2.2",
+ "debian-sarge" => "debian-2.2",
+ "ubuntu-5.04" => "debian-2.2",
+
+ "suse-7.0" => "redhat-5.2",
+ "suse-9.0" => "redhat-5.2",
+ "suse-9.1" => "redhat-5.2",
+
+ "turbolinux-7.0" => "redhat-5.2",
+ "pld-1.0" => "redhat-5.2",
+ "pld-1.1" => "redhat-5.2",
+ "pld-1.99" => "redhat-5.2",
+ "fedora-1" => "redhat-5.2",
+ "fedora-2" => "redhat-5.2",
+ "fedora-3" => "redhat-5.2",
+
+ "specifix" => "redhat-5.2",
+
+ "vine-3.0" => "redhat-5.2",
+ "vine-3.1" => "redhat-5.2",
+
+ "slackware-9.1.0" => "slackware-9.1.0",
+ "slackware-10.0.0" => "slackware-9.1.0",
+ "slackware-10.1.0" => "slackware-9.1.0",
+
+ "gentoo" => "gentoo",
+ "vlos-1.2" => "gentoo",
+
+ "freebsd-5" => "freebsd-5",
+ "freebsd-6" => "freebsd-5",
+ );
+
+ %runlevels=
+ (
+ "redhat-5.2" => [["0", "HALT" ],
+ ["1", "RECOVER" ],
+ ["2", "NONE" ],
+ ["3", "TEXT" ],
+ ["4", "NONE" ],
+ ["5", "GRAPHICAL" ],
+ ["6", "REBOOT" ]],
+
+ "debian-2.2" => [["0", "HALT" ],
+ ["1", "RECOVER" ],
+ ["2", "NONE" ],
+ ["3", "NONE" ],
+ ["4", "NONE" ],
+ ["5", "NONE" ],
+ ["6", "REBOOT" ]],
+
+ "gentoo" => [["boot", "BOOT" ],
+ ["default", "GRAPHICAL" ],
+ ["nonetwork", "RECOVER" ]],
+
+ "freebsd-5" => [["default", "GRAPHICAL" ]],
+
+ "slackware-9.1.0" => [["default", "GRAPHICAL" ]]
+ );
+
+ $distro = $dist_map{$Utils::Backend::tool{"platform"}};
+ $desc = $runlevels{$distro};
+
+ return $desc;
+}
+
+# This function gets the runlevel that is in use
+sub get_sysv_default_runlevel
+{
+ my (@arr);
+ @arr = split / /, `/sbin/runlevel` ;
+ chomp $arr[1];
+
+ return $arr[1];
+}
+
+sub get_default_runlevel
+{
+ my $type = &get_init_type ();
+
+ return "default" if ($type eq "gentoo" || $type eq "rcng" || $type eq "bsd");
+ return &get_sysv_default_runlevel ();
+}
+
sub get_sysv_paths
{
my %dist_map =
@@ -543,12 +659,12 @@ sub get_rcng_service_info
if (gst_service_rcng_status_by_service ($service))
{
- push @arr, { "name" => "rc",
+ push @arr, { "name" => "default",
"action" => "start" };
}
else
{
- push @arr, { "name" => "rc",
+ push @arr, { "name" => "default",
"action" => "stop" };
}