#!/usr/bin/perl
# rpm helper scriptlet to remove a syslog entry (sysklogd and syslog-ng)
# $Id: del-syslog 227207 2007-09-06 13:04:05Z guillomovitch $
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);
}
