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> --- PATCH v3: - no changes in content - dropped previous "[PATCH v2 1/5] ptxd_make_world_common: make the package name available to scripts" to keep the shell command line slim (feedback from Michael Olbrich) PATCH v2: https://lore.ptxdist.org/ptxdist/20210809080608.23475-2-...@pengutronix.de - no changes PATCH v1: https://lore.ptxdist.org/ptxdist/20210804142330.32739-2-...@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