aboutsummaryrefslogtreecommitdiffstats
path: root/trunk/del-syslog
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/del-syslog')
-rwxr-xr-xtrunk/del-syslog44
1 files changed, 44 insertions, 0 deletions
diff --git a/trunk/del-syslog b/trunk/del-syslog
new file mode 100755
index 0000000..185b6ae
--- /dev/null
+++ b/trunk/del-syslog
@@ -0,0 +1,44 @@
+#!/usr/bin/perl
+# rpm helper scriptlet to remove a syslog entry (sysklogd and syslog-ng)
+# $Id$
+use strict;
+
+die <<EOF if @ARGV < 2;
+usage: $0 <pkg> <nb>
+EOF
+my ($package, $number) = @ARGV;
+
+# don't do anything for upgrade
+exit(0) if $number == 1;
+
+if (-f '/etc/syslog.conf') {
+ del_syslog_entry($package, '/etc/syslog.conf');
+ system(qw/service syslog condrestart/);
+}
+
+if (-f '/etc/syslog-ng.conf') {
+ del_syslog_entry($package, '/etc/syslog-ng.conf');
+ system(qw/service syslog-ng condrestart/);
+}
+
+sub del_syslog_entry {
+ my ($package, $file) = @_;
+
+ my $content;
+ open(my $in, '<', $file)
+ or die "Can't open $file for reading: $!";
+ while (my $line = <$in>) {
+ if ($line =~ /^# BEGIN: Automatically added by $package installation$/) {
+ while ($line = <$in>) {
+ last if $line =~ /^# END$/;
+ }
+ } else {
+ $content .= $line;
+ }
+ }
+
+ open(my $out, '>', $file)
+ or die "Can't open $file for writing: $!";
+ print $out $content;
+ close($out);
+}