Skip to content
Snippets Groups Projects
mk_zypper 2.26 KiB
Newer Older
  • Learn to ignore specific revisions
  • #!/bin/bash
    # +------------------------------------------------------------------+
    # |             ____ _               _        __  __ _  __           |
    # |            / ___| |__   ___  ___| | __   |  \/  | |/ /           |
    # |           | |   | '_ \ / _ \/ __| |/ /   | |\/| | ' /            |
    # |           | |___| | | |  __/ (__|   <    | |  | | . \            |
    # |            \____|_| |_|\___|\___|_|\_\___|_|  |_|_|\_\           |
    # |                                                                  |
    # | Copyright Mathias Kettner 2014             mk@mathias-kettner.de |
    # +------------------------------------------------------------------+
    #
    # This file is part of Check_MK.
    # The official homepage is at http://mathias-kettner.de/check_mk.
    #
    # check_mk is free software;  you can redistribute it and/or modify it
    # under the  terms of the  GNU General Public License  as published by
    # the Free Software Foundation in version 2.  check_mk is  distributed
    # in the hope that it will be useful, but WITHOUT ANY WARRANTY;  with-
    # out even the implied warranty of  MERCHANTABILITY  or  FITNESS FOR A
    # PARTICULAR PURPOSE. See the  GNU General Public License for more de-
    # tails. You should have  received  a copy of the  GNU  General Public
    # License along with GNU Make; see the file  COPYING.  If  not,  write
    # to the Free Software Foundation, Inc., 51 Franklin St,  Fifth Floor,
    # Boston, MA 02110-1301 USA.
    
    if type zypper > /dev/null ; then
        echo '<<<zypper:sep(124)>>>'
        if grep -q '^VERSION = 10' < /etc/SuSE-release
        then
            ZYPPER='waitmax 10 zypper --no-gpg-checks --non-interactive --terse'
            REFRESH=`$ZYPPER refresh 2>&1`
            if  [ "$REFRESH" ]
            then
    	    echo "ERROR: $REFRESH"
            else
                { $ZYPPER pchk || [ $? = 100 -o $? = 101 ] && $ZYPPER lu ; } \
        	      | egrep '(patches needed|\|)' | egrep -v '^(#|Repository |Catalog )'
            fi
        else
            ZYPPER='waitmax 10 zypper --no-gpg-checks --non-interactive --quiet'
            REFRESH=`$ZYPPER refresh 2>&1`
            if  [ "$REFRESH" ]
            then
                echo "ERROR: $REFRESH"
            else
                { { $ZYPPER pchk || [ $? = 100 -o $? = 101 ] && $ZYPPER lp ; } ; $ZYPPER ll ; } \
        	      | egrep '(patches needed|\|)' | egrep -v '^(#|Repository)'
            fi
        fi
    fi