From b4c0f72235383c33d2b7ce82d8ae4e397f04a6eb Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Tue, 19 May 2026 07:33:22 -0500 Subject: feat(build): save build logs to out/ alongside the ISO MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before this commit, mkarchiso's verbose output streamed to the terminal and disappeared. The cleanup trap removed work/ after each build, taking any captured output with it. Failed builds left no log to compare against past failures — including the recurring archzfs cache corruption that hits ~2 of 3 builds. I added a tee on the mkarchiso pipeline that writes to a log file in out/. The log starts as out/build-YYYY-MM-DD-HHMM.log, pre-created and chowned to SUDO_USER. It stays user-readable even when a failed build leaves it under that name. On success, the script renames it to match the ISO's basename so finding the log for a given ISO is a one-step lookup. set -o pipefail was already on at the top of build.sh, so mkarchiso failures still propagate through the pipe and abort the script the way they used to. No exit-code masking. I verified the change end-to-end against a real build that hit archzfs cache corruption (log captured, kept as build-2026-05-19-0325.log, user-readable) followed by a clean retry (log renamed to archangel-2026-05-19-vmlinuz-6.18.29-lts-x86_64.log, paired with the ISO). --- README.org | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'README.org') diff --git a/README.org b/README.org index edb1721..3ea1ff2 100644 --- a/README.org +++ b/README.org @@ -75,7 +75,9 @@ The build script will: - ISO location: ~out/archangel-YYYY-MM-DD-vmlinuz-{version}-lts-x86_64.iso~ - Example: ~archangel-2026-01-18-vmlinuz-6.12.65-lts-x86_64.iso~ -- Build logs: visible in terminal output (not saved to disk) +- Build log: ~out/.log~ on success (matches the ISO name), or + ~out/build-YYYY-MM-DD-HHMM.log~ if the build failed before producing an ISO. + Logs survive the ~work/~ cleanup and are tee'd from ~mkarchiso~ in real time. ** Writing to USB -- cgit v1.2.3