I created a patch for logwatch to support dnf package changes. It adds this type of output to logwatch reports:
The patch is posted to the logwatch mailing list at https://sourceforge.net/p/logwatch/m...m/#msg35045318Code:--------------------- dnf-rpm Begin ------------------------ Packages Updated: dhcp-client-12:4.3.3-9.P1.fc23.i686 dhcp-common-12:4.3.3-9.P1.fc23.noarch dhcp-libs-12:4.3.3-9.P1.fc23.i686 openssl-1:1.0.2h-1.fc23.i686 openssl-libs-1:1.0.2h-1.fc23.i686 ---------------------- dnf-rpm End -------------------------
Also here for reference:
Code:Index: conf/logfiles/dnf-rpm.conf =================================================================== diff --git a/trunk/conf/logfiles/dnf-rpm.conf b/trunk/conf/logfiles/dnf-rpm.conf new file mode 10644 --- /dev/null (nonexistent) +++ b/trunk/conf/logfiles/dnf-rpm.conf (working copy) @@ -0,0 +1,9 @@ +# What actual file? Defaults to LogPath if not absolute path.... +LogFile = dnf.rpm.log + +Archive = dnf.rpm.log-* + +# Keep only the lines in the proper date range... +*ApplyStdDate = "%b %d %H:%M:%S" + +# vi: shiftwidth=3 tabstop=3 et Index: conf/services/dnf-rpm.conf =================================================================== diff --git a/trunk/conf/services/dnf-rpm.conf b/trunk/conf/services/dnf-rpm.conf new file mode 10644 --- /dev/null (nonexistent) +++ b/trunk/conf/services/dnf-rpm.conf (working copy) @@ -0,0 +1,6 @@ +Title = "dnf-rpm" + +# Which logfile group... +LogFile = dnf-rpm + +# vi: shiftwidth=3 tabstop=3 et Index: scripts/services/dnf-rpm =================================================================== diff --git a/trunk/scripts/services/dnf-rpm b/trunk/scripts/services/dnf-rpm new file mode 10644 --- /dev/null (nonexistent) +++ b/trunk/scripts/services/dnf-rpm (working copy) @@ -0,0 +1,85 @@ +########################################################################## +# $Id: yum 150 2013-06-18 22:19:38Z mtremaine $ +########################################################################## +######################################################## +# Please send all comments, suggestions, bug reports, +# etc, to logwatch-devel@lists.sourceforge.net. +######################################################## + +####################################################### +## Copyright (c) 2008 Sy Beamont <sbeam@attbi.com> +## Covered under the included MIT/X-Consortium License: +## http://www.opensource.org/licenses/mit-license.php +## All modifications and contributions by other persons to +## this script are assumed to have been donated to the +## Logwatch project and thus assume the above copyright +## and licensing terms. If you want to make contributions +## under your own copyright or a different license this +## must be explicitly stated in the contribution an the +## Logwatch project reserves the right to not accept such +## contributions. If you have made significant +## contributions to this script and want to claim +## copyright please contact logwatch-devel@lists.sourceforge.net. +######################################################### + +$Debug = $ENV{'LOGWATCH_DEBUG'} || 0; + +if ( $Debug >= 5 ) { + print STDERR "\n\nDEBUG: Inside dnf-rpm Filter \n\n"; + $DebugCounter = 1; +} + +while (defined($ThisLine = <STDIN>)) { + if ( $Debug >= 5 ) { + print STDERR "DEBUG($DebugCounter): $ThisLine"; + $DebugCounter++; + } + + if ( $ThisLine =~ s/^.* INFO Upgraded: ([^ ]+)/$1/ ) { + $PackageUpdated{$ThisLine}++; + } elsif ( $ThisLine =~ s/^.* INFO Installed: ([^ ]+)/$1/ ) { + $PackageInstalled{$ThisLine}++; + } elsif ( $ThisLine =~ s/^.* INFO Erased: ([^ ]+)/$1/ ) { + $PackageErased{$ThisLine}++; + } elsif ( $ThisLine =~ m/INFO --- logging initialized ---/ ) { + $ignoredlines++; + } elsif ( $ThisLine =~ m/INFO Cleanup: / ) { + $ignoredlines++; + } else { + # Report any unmatched entries... + push @OtherList,$ThisLine; + } +} + +if (keys %PackageInstalled) { + print "\nPackages Installed:\n"; + foreach $ThisOne (sort {lc($a) cmp lc($b)} keys %PackageInstalled) { + print " " . $ThisOne; + } +} +if (keys %PackageUpdated) { + print "\nPackages Updated:\n"; + foreach $ThisOne (sort {lc($a) cmp lc($b)} keys %PackageUpdated) { + print " ". $ThisOne; + } +} +if (keys %PackageErased) { + print "\nPackages Erased:\n"; + foreach $ThisOne (sort {lc($a) cmp lc($b)} keys %PackageErased) { + print " ". $ThisOne; + } +} + +if ($#OtherList >= 0) { + print "\n**Unmatched Entries**\n"; + print @OtherList; +} + +exit(0); + +# vi: shiftwidth=3 tabstop=3 syntax=perl et +# Local Variables: +# mode: perl +# perl-indent-level: 3 +# indent-tabs-mode: nil +# End:


Reply With Quote
