From 52905dc25b2e49b69337111c624db2701dd6159a Mon Sep 17 00:00:00 2001 From: Eric Renfro Date: Mon, 13 May 2024 20:20:52 -0400 Subject: [PATCH] Added pattern vs package handling for suse agent --- scripts/os_suse | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/scripts/os_suse b/scripts/os_suse index 6116fd2..c6cb6db 100755 --- a/scripts/os_suse +++ b/scripts/os_suse @@ -8,7 +8,8 @@ hook_before() { rpm -qa | sort > Package.versions.list rpm -qa --queryformat '%{NAME}.%{ARCH}\n' | sort > Package.all.list - zypper se -i | awk '/^i\+/ { print $3 }' | sort > Package.list + zypper se -i -t pattern | awk '/^i\+/ { print $3 }' | sort > Pattern.list + zypper se -i -t package | awk '/^i\+/ { print $3 }' | sort > Package.list zypper lr -e Backup.repos zypper ll | awk '/.*\| package.*/ { print $3 }' > Package.lock @@ -62,6 +63,24 @@ fi #zypper dist-upgrade --from packman --allow-vendor-change #zypper install --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec vlc-codecs +if [[ -r "Pattern.list" && "\$(wc -l --total=only Pattern.list)" -gt 0 ]]; then + echo + echo "==============================" + echo "INSTALL PATTERNS" + echo "==============================" + echo + echo "The following patterns are listed to be installed:" + cat Pattern.list + echo + read -p "Do you want to continue to install these? [Y/n] " -n 1 -sr promptPattern + if [[ "\$promptPattern" =~ ^[Yy] ]]; then + echo "Yes" + cat Pattern.list | xargs zypper install -t pattern + else + echo -e "Cancelled\n" + fi +fi + echo echo "==============================" echo "INSTALL PACKAGES" @@ -81,7 +100,7 @@ echo "==============================" echo "REMOVE PACKAGES" echo "==============================" echo -read -p "!!WARNING!! The next step is to remove packages that may not be desired. Do you want to continue? " -n 1 -sr promptRm +read -p "!!WARNING!! The next step is to remove packages that may not be desired. Do you want to continue? [Y/n] " -n 1 -sr promptRm if [[ "\$promptRm" =~ ^[Yy]$ ]]; then # Do the thing echo "Yes" @@ -111,7 +130,7 @@ else fi # Package Locks -if [[ -r "Package.lock" && "$(wc -l --total=only Package.list)" -gt 0 ]]; then +if [[ -r "Package.lock" && "\$(wc -l --total=only Package.list)" -gt 0 ]]; then echo echo "==============================" echo "PACKAGE LOCKS"