From: Adolf Belka Date: Mon, 7 Dec 2020 14:01:36 +0000 (+0100) Subject: Fix for bug 12539 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d978558809285afcee56b2120b10d9107b1b260b;p=people%2Fmfischer%2Fipfire-2.x.git Fix for bug 12539 The installer recognises cups and cups-filters both as cups and puts two instances of cups in the add-on services table. Based on input from Michael Tremer this patch replaces the command returning the second element between hyphens with one that takes what comes after "meta-" using Perl code rather than a shell command. The second find command was changed as per Michael's suggestion. Tested in my ipfire test bed system and only results in one cups entry. Signed-off-by: Adolf Belka Signed-off-by: Michael Tremer --- diff --git a/html/cgi-bin/services.cgi b/html/cgi-bin/services.cgi index 26ab4f3143..36954ba703 100644 --- a/html/cgi-bin/services.cgi +++ b/html/cgi-bin/services.cgi @@ -161,19 +161,20 @@ END my $lines=0; # Used to count the outputlines to make different bgcolor # Generate list of installed addon pak's - my @pak = `find /opt/pakfire/db/installed/meta-* 2>/dev/null | cut -d"-" -f2`; + opendir (DIR, "/opt/pakfire/db/installed") || die "Cannot opendir /opt/pakfire/db/installed/: $!"; + my @pak = sort readdir DIR; foreach (@pak){ chomp($_); + next unless (m/^meta-/); + s/^meta-//; # Check which of the paks are services - my @svc = `find /etc/init.d/$_ 2>/dev/null | cut -d"/" -f4`; - foreach (@svc){ + if (-e "/etc/init.d/$_") { # blacklist some packages # # alsa has trouble with the volume saving and was not really stopped # mdadm should not stopped with webif because this could crash the system # - chomp($_); if ( $_ eq 'squid' ) { next; }