aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSlack Coder <slackcoder@server.ky>2024-04-04 17:57:25 -0500
committerSlack Coder <slackcoder@server.ky>2024-04-04 18:41:06 -0500
commit6726b32cc78615f86f1c92eafd38f9f21a5e8351 (patch)
tree39919574de4556e80d19a77642c7b50df96bf2b0
parentb0fcea1b18c41ae7dbc7f6ca9d0dace5b35f305c (diff)
downloadslack-autoupdate-6726b32cc78615f86f1c92eafd38f9f21a5e8351.tar.xz
Make slackpkg checks more reliable
Properly handle slackpkg exit codes on updates.
-rw-r--r--src/recipes/use-current-kernel.sh13
-rw-r--r--src/slack-autoupdate12
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