File: //lib/check_mk_agent/plugins/mk_zypper
#!/bin/bash
# Copyright (C) 2019 Checkmk GmbH - License: GNU General Public License v2
# This file is part of Checkmk (https://checkmk.com). It is subject to the terms and
# conditions defined in the file COPYING, which is part of this source code package.
# Reason for this no-op: shellcheck disable=... before the first command disables the error for the
# entire script.
:
# Disable unused variable error (needed to keep track of version)
# shellcheck disable=SC2034
CMK_VERSION="2.3.0p38"
#SuSE-release is deprecated and was removed with SLE 15. os-release should be used for the new versions.
RELEASEFILE="/etc/SuSE-release"
if [ -f "/etc/os-release" ]; then
RELEASEFILE="/etc/os-release"
fi
if type zypper >/dev/null; then
echo '<<<zypper:sep(124)>>>'
if grep -E -q 'VERSION = 10|VERSION_ID="10' <$RELEASEFILE; then
wzypper() { waitmax 50 zypper --no-gpg-checks --non-interactive --terse "$@"; }
REFRESH="$(wzypper refresh 2>&1)"
if [ "${REFRESH}" ]; then
echo "ERROR: ${REFRESH}"
else
{
wzypper pchk
case "$?" in
0 | 100 | 101)
wzypper lu
;;
esac
} | grep -E '(patches needed|\|)' | grep -v -E '^(#|Repository |Catalog )'
fi
else
wzypper() { waitmax 50 zypper --no-gpg-checks --non-interactive --quiet "$@"; }
REFRESH="$(wzypper refresh 2>&1)"
if [ "${REFRESH}" ]; then
echo "ERROR: ${REFRESH}"
else
{
{
wzypper pchk
case "$?" in
0 | 100 | 101)
wzypper lp
;;
esac
}
wzypper ll
} | grep -E '(patches needed|\|)' | grep -v -E '^(#|Repository)'
fi
fi
fi