Files
MiniServer/updates.d/10-pacman.sh
T

34 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
MINISERVER="$HOME/.local/share/MiniServer"
source "$MINISERVER/utils.sh"
source "$MINISERVER/packages.conf"
STATUS=0
# A machine that hasn't updated in a while can have a keyring too old to verify
# the new packages. Update it first; the -Su below completes this -Sy.
echo "Updating Arch keyring..."
sudo pacman -Sy --needed --noconfirm archlinux-keyring || STATUS=1
# script(1) keeps pacman's progress bars while logging its output for the
# initramfs check
echo "Updating Arch..."
mkdir -p "$(dirname "$PACMAN_UPDATE_LOG")"
: > "$PACMAN_UPDATE_LOG"
sudo script -qefc "pacman -Su --noconfirm" "$PACMAN_UPDATE_LOG" || STATUS=1
if initramfs_build_failed; then
echo -e "\e[31mRebuilding the initramfs failed. Don't reboot until it's fixed - see the output above or $PACMAN_UPDATE_LOG.\e[0m"
STATUS=1
fi
echo "Checking for new packages..."
install_packages "${SERVERS[@]}" || STATUS=1
install_packages "${UTILITIES[@]}" || STATUS=1
install_packages "${SHELL_TOOLS[@]}" || STATUS=1
install_packages "${AGENTS[@]}" || STATUS=1
exit $STATUS