summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
authorThierry Vignaud <tvignaud@mandriva.org>2003-02-24 15:39:23 +0000
committerThierry Vignaud <tvignaud@mandriva.org>2003-02-24 15:39:23 +0000
commitaa9f06dc2d48164992bf98105b578c554b932065 (patch)
treeabb47bdf8bee1ef0281c5118294fa8b7c9642240 /perl-install
parent38bfa050a240f47b1d585f5e117a281005c4606c (diff)
downloaddrakx-aa9f06dc2d48164992bf98105b578c554b932065.tar
drakx-aa9f06dc2d48164992bf98105b578c554b932065.tar.gz
drakx-aa9f06dc2d48164992bf98105b578c554b932065.tar.bz2
drakx-aa9f06dc2d48164992bf98105b578c554b932065.tar.xz
drakx-aa9f06dc2d48164992bf98105b578c554b932065.zip
in standalone mode, only display a service as enabled at boot time
only if it's really enabled in current runlevel. what's more it's more coherent with other "only show current runlevel status" tools like ntsysv.
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/services.pm10
1 files changed, 8 insertions, 2 deletions
diff --git a/perl-install/services.pm b/perl-install/services.pm
index c41c14190..171020e32 100644
--- a/perl-install/services.pm
+++ b/perl-install/services.pm
@@ -276,8 +276,14 @@ sub doit {
#--- the listref of "on" services
sub services {
local $ENV{LANGUAGE} = 'C';
- my @raw_l = run_program::rooted_get_stdout($::prefix, '/sbin/chkconfig', '--list');
- my @l = sort { $a->[0] cmp $b->[0] } map { [ /([^\s:]+)/, /\bon\b/ ] } grep { !/:$/ } @raw_l;
+ my @raw_l = map { chomp; $_ } run_program::rooted_get_stdout($::prefix, '/sbin/chkconfig', '--list');
+ my @l;
+ if ($::isInstall) {
+ @l = sort { $a->[0] cmp $b->[0] } map { [ /([^\s:]+)/, /\bon\b/ ] } grep { !/:$/ } @raw_l;
+ } else {
+ my $runlevel = my $runlevel = (split " ", `/sbin/runlevel`)[1];
+ @l = sort { $a->[0] cmp $b->[0] } map { [ /([^\s:]+)/, /^\t/ ? /\bon\b/ : /\b$runlevel:on\b/ ] } grep { !/:$/ } @raw_l;
+ }
[ map { $_->[0] } @l ], [ map { $_->[0] } grep { $_->[1] } @l ];
}