diff options
author | Slack Coder <slackcoder@server.ky> | 2024-04-04 17:57:25 -0500 |
---|---|---|
committer | Slack Coder <slackcoder@server.ky> | 2024-04-04 18:41:06 -0500 |
commit | 6726b32cc78615f86f1c92eafd38f9f21a5e8351 (patch) | |
tree | 39919574de4556e80d19a77642c7b50df96bf2b0 | |
parent | b0fcea1b18c41ae7dbc7f6ca9d0dace5b35f305c (diff) | |
download | slack-autoupdate-6726b32cc78615f86f1c92eafd38f9f21a5e8351.tar.xz |
Make slackpkg checks more reliable
Properly handle slackpkg exit codes on updates.
-rw-r--r-- | src/recipes/use-current-kernel.sh | 13 | ||||
-rw-r--r-- | src/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 index 8c41569..50b08e7 100644 --- 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 index 250c678..70028a3 100644 --- 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 |