fix(station): Anzeige-Installation absichern, apt darf nur warnen
Fixrunde 1 zu Task 6b. - setup_pi.sh raeumt die Ablage vor dem scp ab und bricht ab, wenn display.py dort fehlt. Ein Reststand aus einem abgebrochenen Lauf liess "scp -r" ins vorhandene Ziel hineinkopieren; die Installationsschleife ueberspringt Verzeichnisse und fand nichts - der Lauf meldete Erfolg, aktivierte den Anzeigedienst und hinterliess ein leeres display/: 203/EXEC im 5-Sekunden-Takt bei schwarzem Panel. - Der Paketschritt steht jetzt hinter der Installation und warnt nur. Eine Migrationsstation steht typischerweise nicht am Netz; unter set -e davor hiess ein gescheitertes apt: gar keine Station statt einer Station ohne Panel. "apt-get update" kommt vor dem install, der Anzeigedienst startet nach dem Paketschritt. - setup_pi.sh raeumt display/ auf dem Pi wie deploy.sh auf (im Repo geloeschte Dateien verschwinden), der Trap haengt auch an INT/TERM/HUP, und mktemp bekommt eine Vorlage: ohne sie beachtet BSD-mktemp TMPDIR nicht, und die Temp-Datei landete je nach Plattform woanders. - test_host.sh ruft test_deploy.sh auf - 95 Zusagen liefen nur bei Handaufruf, darunter die Deploy-Haelfte der Anzeige-Auslieferung. Der Coverage-Test deckt jetzt auch die Shell-Suiten ab und zaehlt dabei nur nicht auskommentierte Zeilen. - Neue Szenarien fuer alle vier Punkte, darunter die Zusage, dass beim gescheiterten Schreiben eines Profils keine Datei mit dem WLAN-Passwort liegenbleibt.
This commit is contained in:
@@ -136,6 +136,15 @@ case "\$1" in
|
||||
# RuntimeDirectoryPreserve=restart in der Unit leert systemd das
|
||||
# RuntimeDirectory bei JEDEM Stop/Restart, nicht nur beim allerersten Start,
|
||||
# und legt es leer wieder an.
|
||||
#
|
||||
# ACHTUNG, Stub-Erfindung (Task 6b F1): die Regel wird hier auf JEDE
|
||||
# Unit angewandt, also auch auf ninlight-display - die traegt aber gar kein
|
||||
# RuntimeDirectory=, ein "stop ninlight-display" raeumt in Wirklichkeit nichts
|
||||
# weg. \$UNIT_FILE ist immer ninlight-station.service, unabhaengig davon, welche
|
||||
# Unit im Aufruf steht. Heute folgenlos (kein Testfall stoppt die Anzeige und
|
||||
# erwartet danach noch Dateien in RUN_DIR), aber niemand darf sich darauf
|
||||
# verlassen: wer kuenftig prueft, was ein "display off" mit RUN_DIR macht, muss
|
||||
# den Stub vorher nach Unit unterscheiden lassen.
|
||||
if ! grep -q '^RuntimeDirectoryPreserve=restart' "\$UNIT_FILE" 2>/dev/null; then
|
||||
rm -rf "\$RUN_DIR"
|
||||
mkdir -p "\$RUN_DIR"
|
||||
|
||||
Reference in New Issue
Block a user