slack-autoupdate

Update your Slackware system automatically
Log | Files | Refs | README

commit 6726b32cc78615f86f1c92eafd38f9f21a5e8351
parent b0fcea1b18c41ae7dbc7f6ca9d0dace5b35f305c
Author: Slack Coder <slackcoder@server.ky>
Date:   Thu,  4 Apr 2024 17:57:25 -0500

Make slackpkg checks more reliable

Properly handle slackpkg exit codes on updates.

Diffstat:
Msrc/recipes/use-current-kernel.sh | 13++++++++-----
Msrc/slack-autoupdate | 12++++++++----
2 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/src/recipes/use-current-kernel.sh b/src/recipes/use-current-kernel.sh @@ -46,12 +46,15 @@ mv /etc/slackpkg/blacklist /etc/slackpkg/blacklist.orig touch /etc/slackpkg/blacklist D="mv -f /etc/slackpkg/blacklist.orig /etc/slackpkg/blacklist; $D"; trap "$D" EXIT -slackpkg -batch=on -default_answer=n \ - upgrade kernel \ - | grep "\.t.z$" \ - | tee "$PACKAGE_UPDATES" \ - || exit "$?" +OUTPUT="$(slackpkg -batch=on -default_answer=n upgrade kernel)" || exit_code="$?" +if [ $exit_code -ne 0 ] && [ $exit_code -ne 20 ] && [ $exit_code -ne 100 ]; then + # slackpkg has several safe exit codes. + exit exit_code +fi +echo "$OUTPUT" \ + | grep "\.t.z$" \ + | tee "$PACKAGE_UPDATES" if [ ! -s "$PACKAGE_UPDATES" ]; then # No updates exit 0 diff --git a/src/slack-autoupdate b/src/slack-autoupdate @@ -70,11 +70,15 @@ if ! OUTPUT="$( PACKAGE_UPDATES="$(mktemp /tmp/slack-autoupdate.XXXXXX)" trap "rm -f ${CHANGELOG_TXT} ${PACKAGE_UPDATES}" EXIT - slackpkg -batch=on -default_answer=n upgrade-all \ - | grep "\.t.z$" \ - | tee "$PACKAGE_UPDATES" \ - || exit "$?" + OUTPUT="$(slackpkg -batch=on -default_answer=n upgrade-all)" || exit_code="$?" + if [ $exit_code -ne 0 ] && [ $exit_code -ne 20 ] && [ $exit_code -ne 100 ]; then + # Slackpkg has several safe exit codes. + exit exit_code + fi + echo "$OUTPUT" \ + | grep "\.t.z$" \ + | tee "$PACKAGE_UPDATES" if [ ! -s "$PACKAGE_UPDATES" ]; then # No updates exit 0