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 | |
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.
-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 ]; } |