# Hack in support for an "exclude" config option for the init module, so # we can hide certain system services that shouldn't really be configurable # via the web interface # # Upstream-status: Pending # # Signed-off-by: Paul Eggleton # Signed-off-by: Jackie Huang --- init/index.cgi | 27 ++++++++++++++------------- init/init-lib.pl | 5 +++-- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/init/index.cgi b/init/index.cgi index d48b793..30dafd4 100755 --- a/init/index.cgi +++ b/init/index.cgi @@ -45,19 +45,20 @@ elsif ($init_mode eq "init" && $access{'bootup'}) { : "$config{'init_dir'}/$ac[0]"); } @runlevels = &list_runlevels(); - foreach $r (@runlevels) { - foreach $w ("S", "K") { - foreach $a (&runlevel_actions($r, $w)) { - @ac = split(/\s+/, $a); - if (!$nodemap{$ac[2]}) { - push(@acts, $ac[1]); - push(@actsl, - "1+$r+$ac[0]+$ac[1]+$ac[2]+$w"); - push(@actsf, "$config{'init_base'}/rc$r.d/$w$ac[0]$ac[1]"); - } - } - } - } + # Assume there won't be any of these broken actions + #foreach $r (@runlevels) { + # foreach $w ("S", "K") { + # foreach $a (&runlevel_actions($r, $w)) { + # @ac = split(/\s+/, $a); + # if (!$nodemap{$ac[2]}) { + # push(@acts, $ac[1]); + # push(@actsl, + # "1+$r+$ac[0]+$ac[1]+$ac[2]+$w"); + # push(@actsf, "$config{'init_base'}/rc$r.d/$w$ac[0]$ac[1]"); + # } + # } + # } + # } # For each action, look at /etc/rc*.d/* files to see if it is # started at boot diff --git a/init/init-lib.pl b/init/init-lib.pl index ead21ed..b41794b 100755 --- a/init/init-lib.pl +++ b/init/init-lib.pl @@ -119,8 +119,9 @@ List boot time action names from init.d, such as httpd and cron. =cut sub list_actions { -local($dir, $f, @stbuf, @rv); +local($dir, $f, @stbuf, @rv, @exclude); $dir = $config{init_dir}; +@exclude = split(/,/, $config{exclude}); opendir(DIR, $dir); foreach $f (sort { lc($a) cmp lc($b) } readdir(DIR)) { if ($f eq "." || $f eq ".." || $f =~ /\.bak$/ || $f eq "functions" || @@ -128,7 +129,7 @@ foreach $f (sort { lc($a) cmp lc($b) } readdir(DIR)) { -d "$dir/$f" || $f =~ /\.swp$/ || $f eq "skeleton" || $f =~ /\.lock$/ || $f =~ /\.dpkg-(old|dist)$/ || $f =~ /^\.depend\./ || $f eq '.legacy-bootordering' || - $f =~ /^mandrake/) { next; } + $f =~ /^mandrake/ || grep {$_ eq $f} @exclude ) { next; } if (@stbuf = stat("$dir/$f")) { push(@rv, "$f $stbuf[1]"); } -- 2.0.0