From 5e46be878b79d8f599ce615590b6d62339a9198e Mon Sep 17 00:00:00 2001 From: Colin Guthrie Date: Tue, 24 Apr 2012 20:10:29 +0000 Subject: services: Read descriptions from systemd units. --- perl-install/services.pm | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/perl-install/services.pm b/perl-install/services.pm index 3814cedba..29e275d47 100644 --- a/perl-install/services.pm +++ b/perl-install/services.pm @@ -127,14 +127,20 @@ xinetd => N_("Starts other deamons on demand."), if ($s) { $s = translate($s); } else { - my $file = find { -e $_ } map { "$::prefix$_/$name" } '/etc/rc.d/init.d', '/etc/init.d', '/etc/xinetd.d'; - $s = cat_($file); - $s =~ s/\\\s*\n#\s*//mg; - $s = - $s =~ /^#\s+(?:Short-)?[dD]escription:\s+(.*?)^(?:[^#]|# {0,2}\S)/sm ? $1 : - $s =~ /^#\s*(.*?)^[^#]/sm ? $1 : ''; - - $s =~ s/#\s*//mg; + my $file = "$::prefix/lib/systemd/system/$name.service"; + if (-e $file) { + $s = cat_($file); + $s = $s =~ /^Description=(.*)/mg ? $1 : ''; + } else { + $file = find { -e $_ } map { "$::prefix$_/$name" } '/etc/rc.d/init.d', '/etc/init.d', '/etc/xinetd.d'; + $s = cat_($file); + $s =~ s/\\\s*\n#\s*//mg; + $s = + $s =~ /^#\s+(?:Short-)?[dD]escription:\s+(.*?)^(?:[^#]|# {0,2}\S)/sm ? $1 : + $s =~ /^#\s*(.*?)^[^#]/sm ? $1 : ''; + + $s =~ s/#\s*//mg; + } } $s =~ s/\n/ /gm; $s =~ s/\s+$//; $s; -- cgit v1.2.1