Skip to content

Commit e025403

Browse files
committed
Ignore held packages in ubuntu_updates_check.sh
1 parent 35beffd commit e025403

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

ubuntu_updates_check.sh

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,38 @@ if [ $? -ne 0 ]; then
3030
exit 100
3131
fi
3232

33+
HELD=$(apt-mark showhold 2>/dev/null)
34+
35+
# Remove any held packages from OUTPUT
36+
OLD_IFS=$IFS
37+
IFS=$'\n'
38+
OUT_ARR=($OUTPUT)
39+
HELD_ARR=($HELD)
40+
IFS=$OLD_IFS
41+
NEW_OUTPUT=""
42+
line_break='
43+
'
44+
45+
for (( i=0; i<${#OUT_ARR[@]}; i++ )); do
46+
line="${OUT_ARR[$i]}"
47+
package=$(echo $line | awk -F'/' '{print $1}')
48+
omit=0
49+
for (( j=0; j<${#HELD_ARR[@]}; j++ )); do
50+
held_package="${HELD_ARR[$j]}"
51+
if [[ "$package" == "$held_package" ]]; then
52+
omit=1
53+
fi
54+
done
55+
if [[ "$omit" == "0" ]]; then
56+
if [[ "$i" == "0" ]]; then
57+
NEW_OUTPUT="${NEW_OUTPUT}${line}"
58+
else
59+
NEW_OUTPUT="${NEW_OUTPUT}${line_break}${line}"
60+
fi
61+
fi
62+
done
63+
OUTPUT=$NEW_OUTPUT
64+
3365
PENDING_OTHER=$(echo "${OUTPUT}" | grep -v "Listing..." | grep -v -P "(,|/)$(lsb_release -cs)-security" | wc -l)
3466
PENDING_SECURITY=$(echo "${OUTPUT}" | grep -v "Listing..." | grep -P "(,|/)$(lsb_release -cs)-security" | wc -l)
3567
REBOOT_REQUIRED="no"
@@ -39,7 +71,7 @@ if [ -f "/var/run/reboot-required" ]; then
3971
fi
4072

4173
if [ $((PENDING_OTHER+PENDING_SECURITY)) -gt 0 ]; then
42-
UPGRADABLE_PACKAGES=$(apt list --upgradable 2>/dev/null | grep -v Listing | awk -F'/' '{print $1}' | paste -sd ',' -)
74+
UPGRADABLE_PACKAGES=$(echo "${OUTPUT}" | grep -v Listing | awk -F'/' '{print $1}' | paste -sd ',' -)
4375
else
4476
UPGRADABLE_PACKAGES="none"
4577
fi

0 commit comments

Comments
 (0)