From e76b4ace88d80b686cb8d2f22ffc0695266ae973 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Wed, 26 Aug 2026 19:25:45 +0200 Subject: [PATCH] status.txt zeigt die Zusammenfassung, nicht die erste beliebige Zeile Die Grund-Zeile nahm bei fehlendem Alarm schlicht die erste Ausgabezeile. Beim ersten Prod-Lauf nach dem Versiegeln stand dort deshalb die einmalige Notiz "Grundlage fuer die Rehash-Ueberwachung wird gesetzt" statt des Ergebnisses "OK: Checkpoint N erstellt" - eine Randnotiz verdeckte die Zusammenfassung. Jetzt: bei Alarm die ALARM-Zeile, sonst die OK-Zeile, und erst wenn beides fehlt die erste Zeile ueberhaupt. Co-Authored-By: Claude Opus 5 (1M context) --- tools/audit-notary/entrypoint.sh | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tools/audit-notary/entrypoint.sh b/tools/audit-notary/entrypoint.sh index b973a25f..6efde51b 100755 --- a/tools/audit-notary/entrypoint.sh +++ b/tools/audit-notary/entrypoint.sh @@ -90,12 +90,15 @@ while true; do *) LAGE="unbekannter Code" ;; esac echo "[$INSTANZ] $ZEIT exit=$CODE ($LAGE)" - # Erste erklaerende Zeile mitnehmen: bei Alarm die ALARM-Zeile, sonst die - # erste Ausgabezeile ueberhaupt. + # Die aussagekraeftigste Zeile mitnehmen, nicht einfach die erste. + # + # Bei Alarm ist das die ALARM-Zeile. Sonst die Zusammenfassung ("OK: …") - + # denn ein Lauf kann davor beilaeufige Hinweise ausgeben (etwa das einmalige + # Setzen einer Ueberwachungs-Grundlage), und die verdeckten sonst das + # Ergebnis. Erst wenn beides fehlt, die erste Zeile ueberhaupt. GRUND=$(grep -m1 '^ALARM: ' /tmp/lauf.log | sed 's/^ALARM: //') - if [ -z "$GRUND" ]; then - GRUND=$(grep -m1 -v '^[[:space:]]*$' /tmp/lauf.log) - fi + [ -z "$GRUND" ] && GRUND=$(grep -m1 '^OK: ' /tmp/lauf.log) + [ -z "$GRUND" ] && GRUND=$(grep -m1 -v '^[[:space:]]*$' /tmp/lauf.log) { printf '%s exit=%s %s\n' "$ZEIT" "$CODE" "$LAGE" [ -n "$GRUND" ] && printf 'Grund: %s\n' "$GRUND"