diff --git a/packages/bsp/common/etc/apt/apt.conf.d/02-armbian-postupdate b/packages/bsp/common/etc/apt/apt.conf.d/02-armbian-postupdate new file mode 100644 index 0000000000..1f2df60ff6 --- /dev/null +++ b/packages/bsp/common/etc/apt/apt.conf.d/02-armbian-postupdate @@ -0,0 +1 @@ +DPkg::Post-Invoke {"/usr/lib/armbian/armbian-apt-updates";}; diff --git a/packages/bsp/common/etc/update-motd.d/40-armbian-updates b/packages/bsp/common/etc/update-motd.d/40-armbian-updates index 4bb79a52a6..1321d54d7a 100755 --- a/packages/bsp/common/etc/update-motd.d/40-armbian-updates +++ b/packages/bsp/common/etc/update-motd.d/40-armbian-updates @@ -19,11 +19,21 @@ for f in $MOTD_DISABLE; do done NUM_UPDATES=0 +NUM_UPDATES_ONHOLD=0 [[ -f /var/cache/apt/archives/updates.number ]] && . /var/cache/apt/archives/updates.number if [[ $NUM_UPDATES -gt 0 ]]; then - echo -e "[\e[31m $NUM_SECURITY_UPDATES security updates available, $NUM_UPDATES updates total\e[0m: \e[1mapt upgrade\e[0m ]" + echo -en "[\e[31m $NUM_SECURITY_UPDATES security updates available, $NUM_UPDATES updates total\e[0m: \e[1mapt upgrade\e[0m " +fi + +if [[ $NUM_UPDATES_ONHOLD -gt 0 ]] && grep -q linux /var/cache/apt/archives/updates.list 2>/dev/null; then + [[ $NUM_UPDATES -gt 0 ]] && echo -en "| " || echo -en "[ " + echo -en "\e[31mKernel and firmware upgrades disabled:\e[0m \e[1marmbian-config\e[0m " +fi + +if [[ $NUM_UPDATES -gt 0 ]] || [[ $NUM_UPDATES_ONHOLD -gt 0 ]]; then + echo -e "]" echo -e "Last check: \e[92m$DATE\e[0m" echo fi diff --git a/packages/bsp/common/usr/lib/armbian/armbian-apt-updates b/packages/bsp/common/usr/lib/armbian/armbian-apt-updates index 5cc383afa8..b733465dc7 100755 --- a/packages/bsp/common/usr/lib/armbian/armbian-apt-updates +++ b/packages/bsp/common/usr/lib/armbian/armbian-apt-updates @@ -34,6 +34,7 @@ fi [[ "$((apt-get upgrade -s -qq) 2>&1)" == *"Unmet dependencies"* ]] && exit 0 myfile="/var/cache/apt/archives/updates.number" +myfiles="/var/cache/apt/archives/updates.list" # update procedure DISTRO=$(lsb_release -c | cut -d ":" -f 2 | tr -d '[:space:]') && DISTRO=${DISTRO,,} @@ -41,6 +42,7 @@ DISTRO=$(lsb_release -c | cut -d ":" -f 2 | tr -d '[:space:]') && DISTRO=${DIST # run around the packages upgrades=0 security_upgrades=0 + while IFS= read -r LINE; do # increment the upgrade counter (( upgrades++ )) @@ -50,9 +52,13 @@ done < <(apt-get upgrade -s -qq | sed -n '/^Inst/p') cat >|${myfile} </dev/null | grep "/" >| ${myfiles} + exit 0