Vollupgrade vor alle Paketinstallationen ziehen
Termux verträgt keine Teilupgrades: die Pakete werden gegeneinander gebaut, und ein einzeln nachinstalliertes trifft sonst auf veraltete Abhängigkeiten. Genau daran ist proot-distro gescheitert — es trug die Shebang-Zeile python3.13, während eine andere Fassung installiert war. 'pkg update && pkg upgrade -y' läuft deshalb jetzt an beiden Einstiegspunkten, jeweils vor der ersten Einzelinstallation: in init-phone.sh gleich zu Beginn, und in 00-bootstrap-termux.sh für alle, die ohne init-phone einsteigen. --force-confold, damit die Rückfrage nach Konfigurationsdateien den Lauf nicht mitten in der Nacht anhält. Überspringbar mit HPOS_OHNE_UPGRADE=1 für knappes Datenvolumen; ein Fehlschlag bricht nicht ab, wird aber deutlich als erste Stelle zum Nachsehen benannt. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+26
-1
@@ -46,12 +46,37 @@ kopf "HPOS — Ersteinrichtung auf dem Telefon"
|
||||
hinweis "Repo: $REPO"
|
||||
[ "$ANONYM" = 1 ] && hinweis "(Benutzername entfernt — gelesen wird anonym)"
|
||||
|
||||
# ── Vollupgrade ──────────────────────────────────────────────────────────────
|
||||
# Muss VOR jedem anderen Paket laufen. Termux verträgt keine Teilupgrades: die
|
||||
# Pakete werden gegeneinander gebaut, und ein einzeln nachinstalliertes trifft
|
||||
# sonst auf veraltete Abhängigkeiten. Genau daran ist proot-distro gescheitert —
|
||||
# es trug die Shebang-Zeile python3.13, während eine andere Fassung installiert war.
|
||||
#
|
||||
# Überspringbar mit HPOS_OHNE_UPGRADE=1, etwa bei knappem Datenvolumen.
|
||||
kopf "Termux auf einen Stand bringen"
|
||||
if [ "${HPOS_OHNE_UPGRADE:-0}" = 1 ]; then
|
||||
warn "Übersprungen (HPOS_OHNE_UPGRADE=1)"
|
||||
hinweis "Bei Problemen mit proot-distro ist das die erste Stelle zum Nachsehen."
|
||||
else
|
||||
hinweis "Das dauert und lädt einiges. Es erspart aber genau die Fehler,"
|
||||
hinweis "die sonst erst Stunden später als kaputtes proot-distro auffallen."
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
# --force-confold: vorhandene Konfigurationsdateien behalten, statt mitten im
|
||||
# Lauf eine Rückfrage zu stellen, die niemand beantwortet.
|
||||
if pkg update -y && pkg upgrade -y -o Dpkg::Options::=--force-confold; then
|
||||
ok "Termux ist aktuell"
|
||||
else
|
||||
warn "Das Upgrade lief nicht sauber durch."
|
||||
hinweis "Weiter geht es trotzdem — aber merken, falls später etwas klemmt."
|
||||
hinweis "Von Hand nachziehen: pkg update && pkg upgrade -y"
|
||||
fi
|
||||
fi
|
||||
|
||||
# ── git ──────────────────────────────────────────────────────────────────────
|
||||
kopf "git"
|
||||
if command -v git >/dev/null 2>&1; then
|
||||
ok "bereits vorhanden ($(git --version))"
|
||||
else
|
||||
pkg update -y >/dev/null 2>&1
|
||||
if pkg install -y git; then ok "installiert"
|
||||
else fehl "Installation von git fehlgeschlagen"; exit 1; fi
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user