#!/usr/bin/env bash set -o errexit set -o nounset set -o pipefail shopt -s inherit_errexit if command -v pipx > /dev/null then pipx upgrade-all printf "\n" fi if test "${EUID}" -ne 0 then if command -v flatpak > /dev/null then flatpak update printf "\n" fi fi if test "${EUID}" -eq 0 then kernel=(linux-headers-generic linux-image-generic) if apt-cache show raspberrypi-bootloader > /dev/null 2>&1 then kernel=(raspberrypi-bootloader raspberrypi-kernel raspberrypi-kernel-headers) fi time { locale-gen && dpkg --configure -a && apt-get update && apt-get autoclean && apt-get autoremove && apt-get install "${kernel[@]}" && apt-get dist-upgrade && apt-get autoremove && dpkg --configure -a } exit_code="${?}" if test -e /run/reboot-required || test -e /run/reboot-required.pkgs then reboot_required=" -> REBOOT REQUIRED" fi if test "${exit_code}" -eq 0 then printf "\nUPDATE SUCCEEDED%s\n" "${reboot_required:-}" else printf "\nUPDATE FAILED%s\n" "${reboot_required:-}" fi exit "${exit_code}" fi