mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-29 06:06:32 +00:00
tools: new tool to filter the output of make
Add brmake, a small script that redirects the build output log to a file, keeping just Buildroot's own messages, with the date+time added at the start of the line. We need to unbuffer the output of make so that, when the script is interrupted (SIGINT, ^C), there is no lingering output not yet digested by the logger loop. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
cb4184d905
commit
afdb545b28
@ -146,5 +146,6 @@ syntax, refer to http://www.methods.co.nz/asciidoc/userguide.html[].
|
|||||||
|
|
||||||
=== Support scripts
|
=== Support scripts
|
||||||
|
|
||||||
Some scripts in the +support/+ directory are written in Python and should follow
|
Some scripts in the +support/+ and +tools/+ directories are written in
|
||||||
the https://www.python.org/dev/peps/pep-0008/[PEP8 Style Guide for Python Code].
|
Python and should follow the
|
||||||
|
https://www.python.org/dev/peps/pep-0008/[PEP8 Style Guide for Python Code].
|
||||||
|
37
tools/brmake
Executable file
37
tools/brmake
Executable file
@ -0,0 +1,37 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# (C) 2016, "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||||
|
# License: WTFPL, https://spdx.org/licenses/WTFPL.html
|
||||||
|
|
||||||
|
main() {
|
||||||
|
local found ret start d h m mf
|
||||||
|
|
||||||
|
if ! which unbuffer >/dev/null 2>&1; then
|
||||||
|
printf "you need to install 'unbuffer' (from package expect or expect-dev)\n" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
start=${SECONDS}
|
||||||
|
|
||||||
|
( exec 2>&1; unbuffer make "${@}"; ) \
|
||||||
|
> >( while read line; do
|
||||||
|
printf "%(%Y-%m-%dT%H:%M:%S)T %s\n" -1 "${line}"
|
||||||
|
done \
|
||||||
|
|tee -a br.log \
|
||||||
|
|grep --colour=never -E '>>>'
|
||||||
|
)
|
||||||
|
ret=${?}
|
||||||
|
|
||||||
|
d=$((SECONDS-start))
|
||||||
|
printf "Done in "
|
||||||
|
h=$((d/3600))
|
||||||
|
d=$((d%3600))
|
||||||
|
[ ${h} -eq 0 ] || { printf "%dh " ${h}; mf="02"; }
|
||||||
|
m=$((d/60))
|
||||||
|
d=$((d%60))
|
||||||
|
[ ${m} -eq 0 ] || { printf "%${mf}dmin " ${m}; sf="02"; }
|
||||||
|
printf "%${sf}ds\n" ${d}
|
||||||
|
|
||||||
|
return ${ret}
|
||||||
|
}
|
||||||
|
|
||||||
|
main "${@}"
|
@ -2,6 +2,15 @@ This directory contains various useful scripts and tools for working
|
|||||||
with Buildroot. You need not add this directory in your PATH to use
|
with Buildroot. You need not add this directory in your PATH to use
|
||||||
any of those tools, but you may do so if you want.
|
any of those tools, but you may do so if you want.
|
||||||
|
|
||||||
|
brmake
|
||||||
|
a script that can be run instead of make, that prepends the date in
|
||||||
|
front of each line, redirects all of the build output to a file
|
||||||
|
("'br.log' in the current directory), and just outputs the Buildroot
|
||||||
|
messages (those lines starting with >>>) on stdout.
|
||||||
|
Do not run this script for interactive configuration (e.g. menuconfig)
|
||||||
|
or on an unconfigured directory. The output is redirected so you will see
|
||||||
|
nothing.
|
||||||
|
|
||||||
check-package
|
check-package
|
||||||
a script that checks the coding style of a package's Config.in and
|
a script that checks the coding style of a package's Config.in and
|
||||||
.mk files, and also tests them for various types of typoes.
|
.mk files, and also tests them for various types of typoes.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user