#!/usr/bin/perl # rpm helper scriptlet to remove a syslog entry (sysklogd and syslog-ng) # $Id$ use strict; die < 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); }