From c9dca7f4c34d6573f007122eeabaac8d0b7fd732 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= Date: Tue, 21 Oct 2025 18:51:26 +0200 Subject: [PATCH] utils/brmake: filter output for parallel build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When building in parallel with per-package directories (BR2_PER_PACKAGE_DIRECTORIES=y), brmake output is often garbled: 2025-10-08T18:39:10 >>> host-dtc 1.7.2 Building 2025-10-08T18:39:11 checking for stdint.h... >>> host-dtc 1.7.2 Installing to host directory 2025-10-08T18:39:12 checking for limits.h... >>> host-gmp 6.3.0 Installing to host directory Remove the spurious string between the timestamp and the ">>>" marker to fix this. We need some extra care to preserve the preceding "term bold" special characters sequence. We also prevent grep and sed to buffer their output too much. This leads to more frequent output even when we might not be connected to a terminal; for example: when brmake's output is piped to another program or when running in CI. Reviewed-by: Marcus Hoffmann Signed-off-by: Vincent Stehlé Cc: Yann E. MORIN Signed-off-by: Julien Olivain --- utils/brmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/utils/brmake b/utils/brmake index a4b9e7fa71..c29e56a9bc 100755 --- a/utils/brmake +++ b/utils/brmake @@ -12,7 +12,8 @@ main() { printf "%(%Y-%m-%dT%H:%M:%S)T %s\n" -1 "${line}" done \ |tee -a br.log \ - |grep --colour=never -E '>>>' + |grep --line-buffered --colour=never -E '>>>' \ + |sed --unbuffered -E 's/^([0-9T:-]{19}) [[:print:]]*(.*>>> )/\1 \2/' ) ret=${?}