File tree 1 file changed +33
-1
lines changed
1 file changed +33
-1
lines changed Original file line number Diff line number Diff line change @@ -30,6 +30,38 @@ if [ $? -ne 0 ]; then
30
30
exit 100
31
31
fi
32
32
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
+
33
65
PENDING_OTHER=$( echo " ${OUTPUT} " | grep -v " Listing..." | grep -v -P " (,|/)$( lsb_release -cs) -security" | wc -l)
34
66
PENDING_SECURITY=$( echo " ${OUTPUT} " | grep -v " Listing..." | grep -P " (,|/)$( lsb_release -cs) -security" | wc -l)
35
67
REBOOT_REQUIRED=" no"
@@ -39,7 +71,7 @@ if [ -f "/var/run/reboot-required" ]; then
39
71
fi
40
72
41
73
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 ' ,' -)
43
75
else
44
76
UPGRADABLE_PACKAGES=" none"
45
77
fi
You can’t perform that action at this time.
0 commit comments