[Buildroot] [git commit branch/2025.08.x] utils/brmake: filter output for parallel build

Arnout Vandecappelle arnout at rnout.be
Thu Oct 30 08:18:05 UTC 2025


commit: https://git.buildroot.net/buildroot/commit/?id=c3ba44ebf37669e906ceac00bc4588ddbe8529b2
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/2025.08.x

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 <buildroot at bubu1.eu>
Signed-off-by: Vincent Stehlé <vincent.stehle at arm.com>
Cc: Yann E. MORIN <yann.morin.1998 at free.fr>
Signed-off-by: Julien Olivain <ju.o at free.fr>
(cherry picked from commit c9dca7f4c34d6573f007122eeabaac8d0b7fd732)
Signed-off-by: Thomas Perale <thomas.perale at mind.be>
---
 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=${?}
 


More information about the buildroot mailing list