#!/usr/bin/perl -w
$Debug = $ENV{'LOGWATCH_DEBUG'} || 0;

if ( $Debug >= 5 ) {
   print STDERR "\n\nDEBUG: Inside YUM Filter \n\n";
   $DebugCounter = 1;
}

while (defined($ThisLine = <STDIN>)) {
   if ( $Debug >= 5 ) {
      print STDERR "DEBUG($DebugCounter): $ThisLine";
      $DebugCounter++;
   }

   $ThisLine =~ s/^[^ ]* [^ ]* //;

   if ( $ThisLine =~ s/^Updated: ([^ ]+)/$1/ ) {
      $PackageUpdated{$ThisLine}++;
   } elsif ( $ThisLine =~ s/^Installed: ([^ ]+)/$1/ ) {
      $PackageInstalled{$ThisLine}++;
   } elsif ( $ThisLine =~ s/^Dep Installed: ([^ ]+)/$1/ ) {
      $PackageDepInstalled{$ThisLine}++;
   } else {
      # Report any unmatched entries...
      push @OtherList,$ThisLine;
   }
}

if (keys %PackageInstalled) {
   print "\nPackage Installed:\n";
   foreach $ThisOne (keys %PackageInstalled) {
      print "   " . $ThisOne;
   }
}
if (keys %PackageDepInstalled) {
   print "\nPackage Dependency Installed:\n";
   foreach $ThisOne (keys %PackageDepInstalled) {
      print "   " . $ThisOne;
   }
}
if (keys %PackageUpdated) {
   print "\nPackage Updated:\n";
   foreach $ThisOne (keys %PackageUpdated) {
       print "   ". $ThisOne;
   }
}

if ($#OtherList >= 0) {
   print "\n**Unmatched Entries**\n";
   print @OtherList;
}

exit(0);

# vi: shiftwidth=3 tabstop=3 et

