From 96cf9850552daf82e603f76b0881c342338bb296 Mon Sep 17 00:00:00 2001
From: "Hahn Axel (hahn)" <axel.hahn@unibe.ch>
Date: Tue, 12 Sep 2023 08:40:35 +0200
Subject: [PATCH] almalinux9: fix package lists

---
 check_packages2install-pkgmanager/yum.sh | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

diff --git a/check_packages2install-pkgmanager/yum.sh b/check_packages2install-pkgmanager/yum.sh
index f64af92..c3f02c3 100644
--- a/check_packages2install-pkgmanager/yum.sh
+++ b/check_packages2install-pkgmanager/yum.sh
@@ -15,6 +15,7 @@
 # 2023-07-17  v1.3  ah  fix hiding obsolete packages
 # 2023-08-24  v1.4  ah  centos9: update getStatusLine() + getSecurityCount
 # 2023-08-25  v1.5  ah  centos9: fix package lists
+# 2023-09-12  v1.6  ah  almalinux9: fix package lists
 # ===============================================================
 
 
@@ -28,22 +29,15 @@ function yum.getUpdates(){
 # extract list of packages 2 install
 # global  string  packagemanOut  output of update lister command
 function yum.getPackageList(){
-    local iStart=3
     # detect number of line containing "Obsoleting Packages"
-    local iEnd
-    typeset -i iEnd
-    iEnd=$( echo "$packagemanOut" | grep -n '^Obsoleting Packages' | cut -f 1 -d ':' )-1
-
-    local sEnd=$iEnd
-    test "$iEnd" = "-1" && sEnd='$'
-
-    # test $iEnd -gt $iStart && echo "$packagemanOut" | sed -n ${iStart},${sEnd}p
-    if [ $iEnd -gt $iStart ]; then
-      echo "$packagemanOut" | sed -n ${iStart},${sEnd}p
+    (if grep '^Obsoleting Packages' <<< "$packagemanOut" >/dev/null ; then
+      local iStart=1
+      local iEnd; typeset -i iEnd
+      iEnd=$( echo "$packagemanOut" | grep -n '^Obsoleting Packages' | cut -f 1 -d ':' )-1
+      echo "$packagemanOut" | sed -n ${iStart},${iEnd}p
     else
-      echo "$packagemanOut" | grep -v "^Last" | grep "[a-z]"
-    fi
-
+      echo "$packagemanOut"
+    fi)  | grep -v "^Last metadata" | grep -i "[a-z]"
 }
 
 # ---------------------------------------------------------------
@@ -66,7 +60,7 @@ function yum.getStatusLine(){
       fi
       ;;
     9)
-      local _total; _total=$( echo "${packages2install}" | wc -l )
+      local _total; _total=$( echo -n "${packages2install}" | wc -l )
       local _sec;     _sec=$( sudo /usr/bin/yum -y --security check-update \
           | grep -v "^Last" \
           | grep -v "^No security updates needed" \
-- 
GitLab