aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-26 11:44:59 +0200
committerDanilo M. <danix@danix.xyz>2026-09-26 11:44:59 +0200
commit1ea812660c92e768a93af5e2f3e1ef20ac1e2500 (patch)
tree55d9d5830049115edd0cf89f99be72ed57472e52 /README.md
parent5886c8d4919f7b8902f3eeb8fd3ea26a83033d13 (diff)
downloaddist-upgrade-1ea812660c92e768a93af5e2f3e1ef20ac1e2500.tar.gz
dist-upgrade-1ea812660c92e768a93af5e2f3e1ef20ac1e2500.zip
Keep the terminal on the pty for interactive runsHEADmaster
exec > >(tee ...) sent slackpkg's TUI (dialog writes to stderr) into the log pipe, so the curses interface never reached the terminal and output was mangled. Only tee non-interactive runs now; interactive runs skip logging and keep fds 0/1/2 on the tty. Add an INT trap so Ctrl+C aborts with 130 instead of letting the run continue.
Diffstat (limited to 'README.md')
-rw-r--r--README.md8
1 files changed, 5 insertions, 3 deletions
diff --git a/README.md b/README.md
index d49b986..e4f6dac 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@ Options:
Environment:
- `INITRD` initrd to inspect (default `/boot/initrd-generic.img`)
-- `LOG` append the whole run, slackpkg output included, to this file
+- `LOG` append the non-interactive run, slackpkg output included, to this file
(default `/var/log/dist-upgrade.log`; set it empty to disable)
A logrotate rule for that log ships in `logrotate.d/dist-upgrade`; install it
@@ -41,8 +41,10 @@ to `/etc/logrotate.d/`.
4. Lists any leftover `.new` config files.
5. Reports whether a reboot is recommended.
-The full run is appended to `LOG`, with a timestamped header per run, so an
-unattended upgrade can be reviewed afterwards.
+A non-interactive run is appended to `LOG`, with a timestamped header per run,
+so an unattended upgrade can be reviewed afterwards. Interactive runs are not
+logged: slackpkg's TUI needs the terminal, and redirecting it through the log
+breaks the curses interface.
If slackpkg upgrades itself mid-run (exit status 50) the script re-executes
once from the top to finish the operation, exactly as slackpkg's own message