#!/bin/sh
#
# Versuche in den ersten Minuten der Gerätelaufzeit im Minutentakt eine Installation
# fehlender Module (nach einem Upgrade) auszuführen.
# Dies ermöglicht die interaktionsfreie Aktualisierung eines AP.

# shellcheck source=opennet/packages/on-core/files/usr/lib/opennet/on-helper.sh
. "${IPKG_INSTROOT:-}/usr/lib/opennet/on-helper.sh"

missing=$(get_missing_modules)

# keine fehlenden Pakete? Beenden ohne erneutes Scheduling.
[ -z "$missing" ] && exit 0
if has_opennet_dns; then
	msg_info "Installing missing modules: $missing"
	# shellcheck disable=SC2086
	redirect_to_opkg_opennet_logfile install_from_opennet_repository $missing
fi

# Prüfung, ob wir die Nachinstallation beenden können?
# Sind weniger mehr als fünfzehn Minuten seit dem Booten vergangen? Dann wünschen wir eine erneut Ausführung.
# Falls die Pakete installiert wurden, wird die Verkettung beim nächsten Mal aufgelöst.
[ "$(get_uptime_minutes)" -lt 15 ] && echo "$0" | schedule_task
exit 0
