my ($service, $cmd) = @_;
die "unknown service command '$cmd'\n"
- if $cmd !~ m/^(start|stop|restart|reload)$/;
+ if $cmd !~ m/^(start|stop|restart|reload|reload-or-restart)$/;
if ($service eq 'pmgdaemon' || $service eq 'pmgproxy') {
- if ($cmd eq 'restart') {
- # OK
- } else {
- die "invalid service cmd '$service $cmd': ERROR";
- }
+ die "invalid service cmd '$service $cmd': ERROR" if $cmd eq 'stop';
+ } elsif ($service eq 'fetchmail') {
+ # use restart instead of start - else it does not start 'exited' unit
+ # after setting START_DAEMON=yes in /etc/default/fetchmail
+ $cmd = 'restart' if $cmd eq 'start';
}
$service = $service_aliases->{$service} // $service;
}
}
- $res->{'Safebrowsing'}->{desc} = "Found in Google Safe Browsing database.";
+ $res->{'ClamAVHeuristics'}->{desc} = "ClamAV heuristic tests";
return $res;
}
return $hwaddress;
}
+my $default_locale = "en_US.UTF-8 UTF-8";
+
+sub cond_add_default_locale {
+
+ my $filename = "/etc/locale.gen";
+
+ open(my $infh, "<", $filename) || return;
+
+ while (defined(my $line = <$infh>)) {
+ if ($line =~ m/^\Q${default_locale}\E/) {
+ # already configured
+ return;
+ }
+ }
+
+ seek($infh, 0, 0) // return; # seek failed
+
+ open(my $outfh, ">", "$filename.tmp") || return;
+
+ my $done;
+ while (defined(my $line = <$infh>)) {
+ if ($line =~ m/^#\s*\Q${default_locale}\E.*/) {
+ print $outfh "${default_locale}\n" if !$done;
+ $done = 1;
+ } else {
+ print $outfh $line;
+ }
+ }
+
+ print STDERR "generation pmg default locale\n";
+
+ rename("$filename.tmp", $filename) || return; # rename failed
+
+ system("dpkg-reconfigure locales -f noninteractive");
+}
+
1;