From 5cf33871a703bb9e5a618ac1613258208869a059 Mon Sep 17 00:00:00 2001 From: "Hahn Axel (hahn)" <axel.hahn@iml.unibe.ch> Date: Fri, 14 Oct 2022 09:43:58 +0200 Subject: [PATCH] fix debian output on no reboot-required.pkgs --- check_reboot_required | 72 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 64 insertions(+), 8 deletions(-) diff --git a/check_reboot_required b/check_reboot_required index 20bc63a..79609f7 100755 --- a/check_reboot_required +++ b/check_reboot_required @@ -5,27 +5,81 @@ # # ---------------------------------------------------------------------- # works for sure on -# - centos7 -# - debian6,7 +# - centos7,8 +# - debian6..10 # - ubuntu10,12 # ---------------------------------------------------------------------- # 2016-08-12 added ouput of packages # 2020-03-05 v1.2 <axel.hahn@iml.unibe.ch> switch to ph.* helper functions +# 2022-10-14 v1.3 <axel.hahn@unibe.ch> fix debian output if /var/run/reboot-required.pkgs does not exist +# Shellfixes; add help # ====================================================================== -. `dirname $0`/inc_pluginfunctions -distro=`ph.getOS` +. $(dirname $0)/inc_pluginfunctions +self_APPNAME=$( basename $0 | tr [:lower:] [:upper:] ) +self_APPVERSION=1.3 + +distro=$( ph.getOS ) + +# ---------------------------------------------------------------------- +# functions # ---------------------------------------------------------------------- + +function showHelp(){ +cat <<EOF +______________________________________________________________________ + +$self_APPNAME +v$self_APPVERSION + +(c) Institute for Medical Education - University of Bern +Licence: GNU GPL 3 +______________________________________________________________________ + +Check if a reboot is required. +It works for Centos and Debian/ Ubuntu. + +If the reboot is required: +* On Centos it shows the kernel number that will be installed, +* On Debian7 Ubuntu it shows the packages that require the reboot, + +SYNTAX: +$(basename $0) + +OPTIONS: + + -h or --help show this help. + +PARAMETERS: + + None. + +EXAMPLE: +$(basename $0) + +EOF +} +# ---------------------------------------------------------------------- + +# --- check param -h +case "$1" in + "--help"|"-h") + showHelp + exit 0 + ;; + *) +esac + case $distro in "centos") - currentkernel=`uname -r` - out=`rpm -q --last kernel | head -1 | fgrep $currentkernel` + currentkernel=$(uname -r) + out=$(rpm -q --last kernel | head -1 | fgrep $currentkernel) if [ -z "$out" ]; then ph.setStatus "warning" - ph.status "[$distro] need to reboot for kernel `rpm -q --last kernel | head -1` (current: $currentkernel)" + ph.status "[$distro] need to reboot for kernel $(rpm -q --last kernel | head -1) (current: $currentkernel)" else ph.status "[$distro] no reboot required (kernel is up to date: $currentkernel)" fi @@ -36,8 +90,10 @@ case $distro in if [ ! -f /var/run/reboot-required ]; then ph.status "[$distro] no reboot required" else + byPackages="(I do not know the package that requires it)" + test -f /var/run/reboot-required.pkgs && byPackages="by $( tr '\n' ',' < /var/run/reboot-required.pkgs )" ph.setStatus "warning" - ph.status "[$distro] `cat /var/run/reboot-required` by `tr '\n' ',' </var/run/reboot-required.pkgs`" + ph.status "[$distro] $( cat /var/run/reboot-required ) ${byPackages}" fi ;; -- GitLab