From 8c9f548ef10321ea295922c594c9acfc4e4b198f Mon Sep 17 00:00:00 2001 From: TolaMironcenko Date: Wed, 23 Oct 2024 21:20:01 +0700 Subject: [PATCH] checkupdated from hyprpanel --- bin/checkUpdates.sh | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 bin/checkUpdates.sh diff --git a/bin/checkUpdates.sh b/bin/checkUpdates.sh new file mode 100755 index 0000000..39bf6ec --- /dev/null +++ b/bin/checkUpdates.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +check_arch_updates() { + official_updates=0 + aur_updates=0 + + if [ "$1" = "-y" ]; then + aur_updates=$(yay -Qum 2>/dev/null | wc -l) + elif [ "$1" = "-p" ]; then + official_updates=$(checkupdates 2>/dev/null | wc -l) + else + official_updates=$(checkupdates 2>/dev/null | wc -l) + aur_updates=$(yay -Qum 2>/dev/null | wc -l) + fi + + total_updates=$((official_updates + aur_updates)) + + echo $total_updates +} + +check_ubuntu_updates() { + result=$(apt-get -s -o Debug::NoLocking=true upgrade | grep -c ^Inst) + echo "$result" +} + +check_fedora_updates() { + result=$(dnf check-update -q | grep -v '^Loaded plugins' | grep -v '^No match for' | wc -l) + echo "$result" +} + +case "$1" in +-arch) + check_arch_updates "$2" + ;; +-ubuntu) + check_ubuntu_updates + ;; +-fedora) + check_fedora_updates + ;; +*) + echo "0" + ;; +esac