Nur ein Startskript per adb, Rest über git; Berechtigungen beim Installieren
Bisher schob provision.sh das ganze Repo nach /sdcard. Auf dem Telefon lag damit
eine Kopie, und jede Änderung hätte wieder den PC gebraucht. Jetzt kommt per adb
nur init-phone.sh: es installiert git und klont die Quellen nach ~/hpos. Danach
ist das eine echte Arbeitskopie und Aktualisieren heißt
cd ~/hpos && git pull
Die Repo-Adresse liest provision.sh aus dem origin-Remote und schreibt sie fest
ins übertragene Skript, damit auf einer Bildschirmtastatur nichts abgetippt
werden muss. Bei privaten Repos bietet init-phone.sh an, das Passwort zu
speichern — mit dem ausdrücklichen Hinweis, dass das im Klartext geschieht.
Die Berechtigungen wandern von provision.sh nach install-termux.sh, direkt hinter
die Installation. Eine frisch installierte App ohne Berechtigungen ist eine Falle,
die erst Stunden später zuschnappt: im ersten Gerätelauf als stumme Tonaufnahme
in Beweis S2. RECORD_AUDIO für com.termux wird danach ausdrücklich nachgeprüft,
weil genau daran der Beweis hängt.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+33
-15
@@ -266,28 +266,43 @@ case "$HERSTELLER" in
|
||||
;;
|
||||
esac
|
||||
|
||||
# ── Repo aufs Telefon ────────────────────────────────────────────────────────
|
||||
# adb push funktioniert auch über WLAN. Das erspart es, auf dem Telefon Zugangsdaten
|
||||
# für ein privates Repo eintippen zu müssen — auf einer Bildschirmtastatur eine Qual.
|
||||
kopf "Skripte aufs Telefon"
|
||||
# ── Startskript aufs Telefon ─────────────────────────────────────────────────
|
||||
# Bewusst NUR dieses eine Skript, nicht das ganze Repo. Es installiert git und
|
||||
# klont die Quellen — danach ist auf dem Telefon eine Arbeitskopie, keine Kopie.
|
||||
# Aktualisieren heißt dann 'git pull' statt jedes Mal wieder den PC anzuwerfen.
|
||||
kopf "Startskript aufs Telefon"
|
||||
REPO_ROOT="$(cd "$HIER/.." && pwd)"
|
||||
ZIEL=/sdcard/hpos
|
||||
REPO_URL="$(git -C "$REPO_ROOT" remote get-url origin 2>/dev/null || true)"
|
||||
ZIEL=/sdcard/hpos-init.sh
|
||||
|
||||
if [ -z "$REPO_URL" ]; then
|
||||
warn "Keine Repo-Adresse gefunden (kein origin-Remote gesetzt)."
|
||||
hinweis "Ohne sie kann das Telefon die Quellen nicht holen."
|
||||
printf ' Adresse von Hand eingeben (leer = überspringen) > '
|
||||
read -r REPO_URL </dev/tty || REPO_URL=""
|
||||
fi
|
||||
|
||||
if [ "$TROCKEN" = 1 ]; then
|
||||
warn "Trockenlauf — es wird nichts übertragen."
|
||||
elif [ -z "$REPO_URL" ]; then
|
||||
hinweis "Übersprungen."
|
||||
else
|
||||
printf ' Die Spike-Skripte jetzt nach %s übertragen? [J/n] > ' "$ZIEL"
|
||||
hinweis "Repo: $REPO_URL"
|
||||
printf ' Startskript nach %s übertragen? [J/n] > ' "$ZIEL"
|
||||
read -r UEBERTRAGEN </dev/tty || UEBERTRAGEN=n
|
||||
case "${UEBERTRAGEN:-j}" in
|
||||
j|J|"")
|
||||
adb shell rm -rf "$ZIEL" >/dev/null 2>&1
|
||||
if adb push "$REPO_ROOT" "$ZIEL" >/dev/null 2>&1; then
|
||||
# Adresse fest ins Skript schreiben, damit auf dem Telefon nichts
|
||||
# abgetippt werden muss. sed mit | als Trenner, weil URLs Schrägstriche
|
||||
# enthalten.
|
||||
TMP=$(mktemp)
|
||||
sed "s|@@REPO_URL@@|$REPO_URL|" "$HIER/init-phone.sh" >"$TMP"
|
||||
if adb push "$TMP" "$ZIEL" >/dev/null 2>&1; then
|
||||
ok "Übertragen nach $ZIEL"
|
||||
hinweis "In Termux nach ~ kopieren, damit die Dateien ausführbar sein können:"
|
||||
hinweis " cp -r /sdcard/hpos ~/hpos && cd ~/hpos"
|
||||
hinweis "(auf /sdcard gibt es keine Ausführungsrechte — das ist normal)"
|
||||
else
|
||||
warn "Übertragung fehlgeschlagen — dann per git clone auf dem Telefon."
|
||||
warn "Übertragung fehlgeschlagen."
|
||||
fi
|
||||
rm -f "$TMP"
|
||||
;;
|
||||
*) hinweis "Übersprungen." ;;
|
||||
esac
|
||||
@@ -297,11 +312,14 @@ kopf "Fertig"
|
||||
cat <<TEXT
|
||||
Nächste Schritte auf dem Telefon, in Termux:
|
||||
|
||||
cp -r /sdcard/hpos ~/hpos && cd ~/hpos # falls oben übertragen
|
||||
# oder: pkg install -y git && git clone <repo-url> hpos && cd hpos
|
||||
|
||||
bash /sdcard/hpos-init.sh # installiert git und klont das Repo
|
||||
cd ~/hpos
|
||||
bash spike/00-bootstrap-termux.sh
|
||||
|
||||
Ab dann genügt zum Aktualisieren:
|
||||
|
||||
cd ~/hpos && git pull
|
||||
|
||||
Danach die Beweise der Reihe nach — S1 zuerst, weil er der wackligste ist.
|
||||
Ergebnisse gehören nach docs/spike-protokoll.md.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user