2024-07-24 21:30:04 +02:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
# created by Tobias Powalowski <tpowa@archlinux.org>
|
|
|
|
. /etc/archboot/defaults
|
|
|
|
. /etc/archboot/server-update.conf
|
2024-07-25 09:06:12 +02:00
|
|
|
. /usr/lib/archboot/common.sh
|
|
|
|
_usage () {
|
|
|
|
echo -e "\e[1mUpdate archboot server with new images\e[m"
|
|
|
|
echo -e "\e[1m---------------------------------------------\e[m"
|
|
|
|
echo "Check on new packages and release new images to server."
|
|
|
|
echo ""
|
2024-07-30 21:33:26 +02:00
|
|
|
echo -e "usage: \e[1m${_BASENAME} run\e[m"
|
2024-07-25 09:06:12 +02:00
|
|
|
exit 0
|
|
|
|
}
|
|
|
|
[[ -z "${1}" || "${1}" != "run" ]] && _usage
|
|
|
|
_root_check
|
2024-07-27 11:31:45 +02:00
|
|
|
[[ -d "${_ISO_HOME_CONTAINERS}" ]] || mkdir -p "${_ISO_HOME_CONTAINERS}"
|
|
|
|
cd "${_ISO_HOME_CONTAINERS}" || exit 1
|
2024-07-24 21:30:04 +02:00
|
|
|
# stop if MASK is set
|
|
|
|
[[ -e MASK ]] && exit 0
|
2024-07-27 11:09:27 +02:00
|
|
|
_FIRST_RUN=1
|
2024-07-24 21:30:04 +02:00
|
|
|
for i in ${_SERVER_ARCH}; do
|
2024-07-27 11:09:27 +02:00
|
|
|
[[ -z "${_FIRST_RUN}" ]] && sleep "${_SERVER_WAIT}"
|
|
|
|
_FIRST_RUN=""
|
2024-07-24 21:30:04 +02:00
|
|
|
# create container
|
|
|
|
if ! [[ -d "${i}" ]]; then
|
|
|
|
archboot-"${i}"-create-container.sh "${i}" -cp || exit 1
|
|
|
|
rm "${i}"/var/log/pacman.log
|
|
|
|
fi
|
|
|
|
# update container to latest packages
|
|
|
|
systemd-nspawn -q -D "${i}" pacman --noconfirm -Syu
|
|
|
|
for k in ${_TRIGGER}; do
|
|
|
|
# if trigger successful, release new image to server
|
|
|
|
if rg -qw "${k}" "${i}"/var/log/pacman.log; then
|
2024-08-01 12:24:33 +02:00
|
|
|
archboot-"${i}"-server-release.sh run || echo "Error: ${i} release!" >> error.log
|
2024-07-24 21:30:04 +02:00
|
|
|
break
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
rm "${i}"/var/log/pacman.log
|
2024-07-27 11:26:18 +02:00
|
|
|
rm "${i}"/var/cache/pacman/pkg/*
|
2024-07-24 21:30:04 +02:00
|
|
|
done
|
|
|
|
# vim: set ft=sh ts=4 sw=4 et:
|