Some programs print stuff to stderr that are not errors and are therefore not relevant to the usual build runs (e.g. openssl when loading the PKCS#11 libraries), but they may still be useful for debugging. When called with ptxd_exec_silent_stderr, stderr won't make it to the terminal except with 'ptxdist -v', but the messages are still available in the logfile.
Signed-off-by: Roland Hieber <r...@pengutronix.de> --- scripts/libptxdist.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/scripts/libptxdist.sh b/scripts/libptxdist.sh index ee0ba39d3ea3..bb508798cb6f 100644 --- a/scripts/libptxdist.sh +++ b/scripts/libptxdist.sh @@ -776,6 +776,24 @@ ptxd_exec() { } export -f ptxd_exec +# +# execute command with silenced stderr, except when verbose building is enabled. +# the stderr output of the command will always be written to the logfile. +# +ptxd_exec_silent_stderr() { + exec 8>&2 + if [ "${PTXDIST_VERBOSE}" == "1" ]; then + : + elif [ -n "${PTXDIST_FD_LOGFILE}" ]; then + exec 2>&9 + else + exec 2>/dev/null + fi + "${@}" + exec 2>&8 8>&- +} +export -f ptxd_exec_silent_stderr + # # check if a previously executed pipe returned an error # -- 2.30.2 _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-requ...@pengutronix.de