diff options
author | Thierry Vignaud <tvignaud@mandriva.org> | 2003-02-24 15:39:23 +0000 |
---|---|---|
committer | Thierry Vignaud <tvignaud@mandriva.org> | 2003-02-24 15:39:23 +0000 |
commit | aa9f06dc2d48164992bf98105b578c554b932065 (patch) | |
tree | abb47bdf8bee1ef0281c5118294fa8b7c9642240 /perl-install/services.pm | |
parent | 38bfa050a240f47b1d585f5e117a281005c4606c (diff) | |
download | drakx-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/services.pm')
-rw-r--r-- | perl-install/services.pm | 10 |
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 ]; } |