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:
| M | src/recipes/use-current-kernel.sh | | | 13 | ++++++++----- |
| M | 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 @@ -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