Hello community,

here is the log from the commit of package nagios-plugins-zypper for 
openSUSE:Factory checked in at 2014-06-16 21:28:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nagios-plugins-zypper (Old)
 and      /work/SRC/openSUSE:Factory/.nagios-plugins-zypper.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nagios-plugins-zypper"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/nagios-plugins-zypper/nagios-plugins-zypper.changes  
    2013-10-08 10:56:23.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.nagios-plugins-zypper.new/nagios-plugins-zypper.changes
 2014-06-16 21:28:19.000000000 +0200
@@ -1,0 +2,12 @@
+Fri Jun 13 09:34:00 UTC 2014 - [email protected]
+
+- update to 1.76:
+  + SLE 12 packages belong to "SUSE LLC <https://www.suse.com/>"
+
+-------------------------------------------------------------------
+Fri Jun  6 17:41:09 UTC 2014 - [email protected]
+
+- update to 1.75:
+  + check for local packages (installed not from a repository)
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ nagios-plugins-zypper.spec ++++++
--- /var/tmp/diff_new_pack.Xo5BUf/_old  2014-06-16 21:28:20.000000000 +0200
+++ /var/tmp/diff_new_pack.Xo5BUf/_new  2014-06-16 21:28:20.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package nagios-plugins-zypper
 #
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2012-2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
 Summary:        Nagios plugin for checking software updates
 License:        BSD-4-Clause
 Group:          System/Monitoring
-Version:        1.50
+Version:        1.76
 Release:        0
 Url:            http://en.opensuse.org/Nagios-plugins-zypper
 Source0:        check_zypper.pl
@@ -43,7 +43,7 @@
 
 %description
 This plugin checks for software updates on systems that use package
-management systems based on the zypper command found in openSUSE.
+management systems based on the zypper command found in (open)SUSE.
 
 It checks for security, recommended and optional patches and also for
 optional package updates.

++++++ check_zypper.pl ++++++
--- /var/tmp/diff_new_pack.Xo5BUf/_old  2014-06-16 21:28:20.000000000 +0200
+++ /var/tmp/diff_new_pack.Xo5BUf/_new  2014-06-16 21:28:20.000000000 +0200
@@ -50,7 +50,7 @@
 
 # constants
 $PROGNAME = "check_zypper";
-$VERSION  = '1.50';
+$VERSION  = '1.76';
 $DEBUG    = 0;
 
 # variables
@@ -69,6 +69,7 @@
 our @patchignore     = ();
 our @packageignore   = ();
 our @packagewhitelist= ();
+our @localwhitelist  = ();
 our $patchlevel      = 0;
 our $exitcode        = 0;
 our %ERRORS          = (
@@ -86,10 +87,10 @@
     0 => 'OK',
 );
 our %supported_release = (
-    'openSUSE' => [ '12.1', '12.2', '12.3', '13.1' ],
-    'SLE'      => [ '10.4', '11.2' , '11.3' ],
+    'openSUSE' => [ '12.3', '13.1', '13.2' ],
+    'SLE'      => [ '10.4', '11.3', '12.0' ],
 );
-$opt_w = 'recommended,optional,unsupported';
+$opt_w = 'recommended,optional,unsupported,local_package';
 $opt_c = 'security';
 $opt_f = "$releasefile";
 $opt_t = '120';
@@ -181,7 +182,9 @@
     print "      package:libtiff3\n";
     print "      package:libtiff-devel\n";
     print "      # comment\n";
-    print "      whitelist:aaa_base\n\n";
+    print "      whitelist:aaa_base\n";
+    print "      # comment\n";
+    print "      local_package:mypackage\n\n";
     print "  -o, --ignore_outdated\n";
     print "      Don't warn if a repository is outdated.\n";
     print "  -p, --no_perfdata\n";
@@ -201,6 +204,8 @@
     print "  -t, --timeout\n";
     print "      Just in case of problems, let's not hang Nagios and define a 
timeout.\n";
     print "      Default value is: $opt_t seconds\n";
+    print "  -u, --check-vendor\n";
+    print "      Check if installed packages are not from a supported 
vendor.\n";
     print "  -v, --verbose_output\n";
     print "      Print more information (useful only with Nagios v3.x).\n";
     print "  -w, --warning\n";
@@ -216,7 +221,7 @@
 
 sub print_help {
     my $exit = shift || undef;
-    print "Copyright (c) 2009, Novell, Inc.\n\n";
+    print "Copyright (c) 2009-2014, Novell, Inc.\n\n";
     print_usage();
     print "\n";
     mysupport();
@@ -326,7 +331,7 @@
 }
 
 sub check($) {
-       my ($dist) = @_;
+    my ($dist) = @_;
     my ( $status, $ret_str, $error );
     my $secstr       = '';
     my $recstr       = '';
@@ -334,12 +339,14 @@
     my $pacstr       = '';
     my $warnstr      = '';
     my $unsupstr     = '';
+    my $local_pacstr = '';
     my $update_avail = 0;
     my %packagelist;
     my @unsup_packagelist = ();
+    my @loc_packagelist = ();
 
     if ($opt_u) {
-        @unsup_packagelist = `$rpm -qa --qf "%{NAME} %{VENDOR}\n" | $grep -v 
'SUSE LINUX Products GmbH, Nuernberg, Germany' | $grep -v 'openSUSE' | $grep -v 
gpg-pubkey | $awk '" " { print \$1 }'`;
+        @unsup_packagelist = `$rpm -qa --qf "%{NAME} %{VENDOR}\n" | $grep -v 
'SUSE LINUX Products GmbH, Nuernberg, Germany' | $grep -v 'openSUSE' | $grep -v 
'SUSE LLC <https://www.suse.com/>' | $grep -v gpg-pubkey | $awk '" " { print 
\$1 }'`;
         my $category = 'unsupported';
         my $status   = 'new';
         foreach my $name ( sort(@unsup_packagelist) ) {
@@ -352,6 +359,21 @@
             $packagelist{"$category"}{"$name"}{'name'}     = "$name";
             $packagelist{"$category"}{"$name"}{'status'}   = "$status";
         }
+        if ( $dist->{'version'} gt 10.4 ){
+            @loc_packagelist = `$zypper search --details --installed-only | 
$grep '(System Packages)' | $awk '" " { print \$3 }'`;
+            my $category = 'local_package';
+            my $status   = 'new';
+            foreach my $name ( sort(@loc_packagelist) ) {
+                chomp($name);
+                if ( grep {$_ eq $name} @localwhitelist ) {
+                    print STDERR "WARINING: ignoring $name as it is in 
\@localwhitelist\n" if ($DEBUG);
+                    next;
+                }
+                $packagelist{"$category"}{"$name"}{'category'} = "$category";
+                $packagelist{"$category"}{"$name"}{'name'}     = "$name";
+                $packagelist{"$category"}{"$name"}{'status'}   = "$status";
+            }
+        }
     }
     print STDERR "INFO: Trying $use_sudo $zypper $zypperopt\n" if ($DEBUG);
 
@@ -435,11 +457,12 @@
             }
         }
         if ($DEBUG) {
-            print STDERR 'INFO: Packages    (paccount): ' . scalar( keys %{ ( 
$packagelist{'package'} ) } ) . "\n";
-            print STDERR 'INFO: Optional    (optcount): ' . scalar( keys %{ ( 
$packagelist{'optional'} ) } ) . "\n";
-            print STDERR 'INFO: Recommended (reccount): ' . scalar( keys %{ ( 
$packagelist{'recommended'} ) } ) . "\n";
-            print STDERR 'INFO: Security    (seccount): ' . scalar( keys %{ ( 
$packagelist{'security'} ) } ) . "\n";
-            print STDERR 'INFO: Unsupported (uspcount): ' . scalar( keys %{ ( 
$packagelist{'unsupported'} ) } ) . "\n";
+            print STDERR 'INFO: Packages     (paccount): ' . scalar( keys %{ ( 
$packagelist{'package'} ) } ) . "\n";
+            print STDERR 'INFO: Optional     (optcount): ' . scalar( keys %{ ( 
$packagelist{'optional'} ) } ) . "\n";
+            print STDERR 'INFO: Recommended  (reccount): ' . scalar( keys %{ ( 
$packagelist{'recommended'} ) } ) . "\n";
+            print STDERR 'INFO: Security     (seccount): ' . scalar( keys %{ ( 
$packagelist{'security'} ) } ) . "\n";
+            print STDERR 'INFO: Unsupported  (uspcount): ' . scalar( keys %{ ( 
$packagelist{'unsupported'} ) } ) . "\n";
+            print STDERR 'INFO: Local Package(lspcount): ' . scalar( keys %{ ( 
$packagelist{'local_package'} ) } ) . "\n";
             use Data::Dumper;
             print STDERR Data::Dumper->Dump( [ \%packagelist ] );
         }
@@ -468,38 +491,56 @@
             $error        = check_errorcode('unsupported');
             $unsupstr     = scalar( keys %{ ( $packagelist{'unsupported'} ) } 
) . " unsupported package(s);";
         }
+        if ( defined( $packagelist{'local_package'} ) && ( scalar( keys %{ ( 
$packagelist{'local_package'} ) } ) ne 0 ) ) {
+            $update_avail = 1;
+            $error        = check_errorcode('local_package');
+            $local_pacstr = scalar( keys %{ ( $packagelist{'local_package'} ) 
} ) . " local package(s);";
+
+        }
         if ($update_avail) {
-            $ret_str .= trim("$warnstr $secstr $recstr $optstr $pacstr 
$unsupstr") . " ";
+            $ret_str .= trim("$warnstr $secstr $recstr $optstr $pacstr 
$unsupstr $local_pacstr") . " ";
             my @packagelist             = ();
             my @unsupported_packagelist = ();
+            @loc_packagelist = ();
             if ($opt_v) {
-                foreach my $cat ( 'security', 'recommended', 'optional', 
'package', 'unsupported' ) {
+                foreach my $cat ( 'security', 'recommended', 'optional', 
'package', 'unsupported', 'local_package' ) {
                     for my $key ( sort( keys %packagelist ) ) {
                         if ( "$key" eq "$cat" ) {
-                            for my $name ( sort( keys %{ $packagelist{$key} } 
) ) {
+                            for my $name ( sort( keys %{ $packagelist{$cat} } 
) ) {
                                 if ( "$cat" eq "package" ) {
-                                    push @packagelist, 
$packagelist{$key}{$name}{'name'};
+                                    push @packagelist, 
$packagelist{$cat}{$name}{'name'};
                                 }
                                 elsif ( "$cat" eq "unsupported" ) {
-                                    push @unsupported_packagelist, 
$packagelist{$key}{$name}{'name'};
+                                    push @unsupported_packagelist, 
$packagelist{$cat}{$name}{'name'};
+                                }
+                                elsif ( "$cat" eq "local_package" ) {
+                                    push @loc_packagelist, 
$packagelist{$cat}{$name}{'name'};
                                 }
                                 else {
-                                    $ret_str .= "\n$cat patch: " . 
$packagelist{$key}{$name}{'name'};
+                                    $ret_str .= "\n$cat patch: " . 
$packagelist{$cat}{$name}{'name'};
                                 }
                             }
                         }
                     }
                 }
-                $ret_str .= "\npackages: " . join( ' ', @packagelist ) if 
@packagelist;
-                $ret_str .= "\nunsupported Packages: " . join( ' ', 
@unsupported_packagelist ) if @unsupported_packagelist;
+                $ret_str .= "\nPackages: " . join( ' ', sort(@packagelist)) if 
@packagelist;
+                $ret_str .= "\nunsupported Packages: " . join( ' ', 
sort(@unsupported_packagelist)) if @unsupported_packagelist;
+                $ret_str .= "\nlocal Packages  : ". join(' ', 
sort(@loc_packagelist)) if @loc_packagelist;
                 $ret_str .= "\nIgnored Patches : " . join( ' ', @patchignore ) 
. " "   if @patchignore;
                 $ret_str .= "\nIgnored Packages: " . join( ' ', @packageignore 
) . " " if @packageignore;
                 if ( $#packagewhitelist lt 11 ) {
-                    $ret_str .= "\nUnsupported, ignored Packages: " . join( ' 
', @packagewhitelist ) . " " if @packagewhitelist;
+                    $ret_str .= "\nUnsupported, ignored Packages: " . join( ' 
', sort(@packagewhitelist)) . " " if @packagewhitelist;
                 }
                 else {
                     $ret_str .= "\nUnsupported, ignored Packages: 
$#packagewhitelist ";
                 }
+               if ( $#localwhitelist lt 11 ) {
+                   $ret_str .= "\nLocal, ignored Packages: " . join( ' ', 
sort(@localwhitelist)). " " if @localwhitelist;
+                }
+                else {
+                    $ret_str .= "\nLocal, ignored Packages: $#localwhitelist ";
+                }
+
             }
         }
         else {
@@ -514,6 +555,12 @@
                 else {
                     $ret_str .= "\nUnsupported, ignored Packages: 
$#packagewhitelist ";
                 }
+               if ( $#localwhitelist lt 11 ) {
+                   $ret_str .= "\nLocal, ignored Packages: " . join( ' ', 
@localwhitelist ). " " if @localwhitelist;
+               }
+               else {
+                   $ret_str .= "\nLocal, ignored Packages: $#localwhitelist ";
+               }
             }
         }
         $ret_str
@@ -648,6 +695,12 @@
                 print "INFO: + Whitelisting Package: $toadd\n" if ($DEBUG);
                 push @packagewhitelist, "$toadd";
             }
+            elsif ( (/^local_package:/) || (/^local package:/) ) {
+                my ( $foo, $toadd ) = split( ':', $_, 2 );
+                $toadd =~ s/\s*//g;    # Package names have no whitespaces
+                print "INFO: + Whitelisting local Package: $toadd\n" if 
($DEBUG);
+                push @localwhitelist, "$toadd";
+            }
         }
         close(IGNORES);
     }

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to