Show what a run is doing, and record when one is cut short

A run that held back a blocker then upgraded 214 packages printed one line and
then nothing for nearly five minutes while pacman downloaded and installed. It
looked hung, so it got killed - during pacman's uninterruptible commit phase,
which meant the packages landed but our bookkeeping never did. The menu then
kept showing a failure from a previous run on a fully up-to-date machine.

pacman, the AUR helper and flatpak now stream their output when a person is
watching, and the progress bar is left enabled for that case. Timer runs are
unchanged: quiet, --noprogressbar, everything captured in the log.

Interactivity is decided once at startup rather than tested at the point of
use. cau_pacman_flags runs inside a process substitution, so its stdout is
always a pipe and a -t 1 check there would have silently always been false.

INT/TERM/HUP now record last_result=interrupted, so a run that is stopped says
so instead of leaving the previous verdict standing.
This commit is contained in:
Felitendo committed 2026-08-08 15:24:42 +02:00
1 parent 9fd2458d20
commit 243115ea19
7 files changed
+68 -5

No files matched your search

+3
View File
@@ -254,3 +254,6 @@ msgstr ""
#, c-format
msgid "Held back: %s"
msgstr ""
msgid "The last run was stopped before it finished."
msgstr ""
+3
View File
@@ -255,3 +255,6 @@ msgstr "%s konnte nicht aktualisiert werden und wurde übersprungen. Alles ander
#, c-format
msgid "Held back: %s"
msgstr "Zurückgehalten: %s"
msgid "The last run was stopped before it finished."
msgstr "Der letzte Lauf wurde abgebrochen, bevor er fertig war."