1 |
Ensure that einfo, elog, ewarn... commands direct all output to stderr |
2 |
consistently. This ensures that various logging messages won't pollute |
3 |
stdout, and therefore be accidentally caught in $(). |
4 |
|
5 |
This satisfies the 'output commands do not pollute' stdout requirement |
6 |
that is tentatively included in EAPI 7. |
7 |
|
8 |
Bug: https://bugs.gentoo.org/483240 |
9 |
--- |
10 |
bin/isolated-functions.sh | 30 +++++++++++++++--------------- |
11 |
1 file changed, 15 insertions(+), 15 deletions(-) |
12 |
|
13 |
diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh |
14 |
index 1ca959bb3..0acb81607 100644 |
15 |
--- a/bin/isolated-functions.sh |
16 |
+++ b/bin/isolated-functions.sh |
17 |
@@ -1,5 +1,5 @@ |
18 |
#!/bin/bash |
19 |
-# Copyright 1999-2016 Gentoo Foundation |
20 |
+# Copyright 1999-2018 Gentoo Foundation |
21 |
# Distributed under the terms of the GNU General Public License v2 |
22 |
|
23 |
source "${PORTAGE_BIN_PATH}/eapi.sh" || exit 1 |
24 |
@@ -247,7 +247,7 @@ __quiet_mode() { |
25 |
} |
26 |
|
27 |
__vecho() { |
28 |
- __quiet_mode || echo "$@" |
29 |
+ __quiet_mode || echo "$@" >&2 |
30 |
} |
31 |
|
32 |
# Internal logging function, don't use this in ebuilds |
33 |
@@ -273,9 +273,9 @@ __elog_base() { |
34 |
|
35 |
eqawarn() { |
36 |
__elog_base QA "$*" |
37 |
- [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo |
38 |
+ [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo >&2 |
39 |
echo -e "$@" | while read -r ; do |
40 |
- __vecho " $WARN*$NORMAL $REPLY" >&2 |
41 |
+ __vecho " $WARN*$NORMAL $REPLY" |
42 |
done |
43 |
LAST_E_CMD="eqawarn" |
44 |
return 0 |
45 |
@@ -283,9 +283,9 @@ eqawarn() { |
46 |
|
47 |
elog() { |
48 |
__elog_base LOG "$*" |
49 |
- [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo |
50 |
+ [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo >&2 |
51 |
echo -e "$@" | while read -r ; do |
52 |
- echo " $GOOD*$NORMAL $REPLY" |
53 |
+ echo " $GOOD*$NORMAL $REPLY" >&2 |
54 |
done |
55 |
LAST_E_CMD="elog" |
56 |
return 0 |
57 |
@@ -293,9 +293,9 @@ elog() { |
58 |
|
59 |
einfo() { |
60 |
__elog_base INFO "$*" |
61 |
- [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo |
62 |
+ [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo >&2 |
63 |
echo -e "$@" | while read -r ; do |
64 |
- echo " $GOOD*$NORMAL $REPLY" |
65 |
+ echo " $GOOD*$NORMAL $REPLY" >&2 |
66 |
done |
67 |
LAST_E_CMD="einfo" |
68 |
return 0 |
69 |
@@ -303,15 +303,15 @@ einfo() { |
70 |
|
71 |
einfon() { |
72 |
__elog_base INFO "$*" |
73 |
- [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo |
74 |
- echo -ne " ${GOOD}*${NORMAL} $*" |
75 |
+ [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo >&2 |
76 |
+ echo -ne " ${GOOD}*${NORMAL} $*" >&2 |
77 |
LAST_E_CMD="einfon" |
78 |
return 0 |
79 |
} |
80 |
|
81 |
ewarn() { |
82 |
__elog_base WARN "$*" |
83 |
- [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo |
84 |
+ [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo >&2 |
85 |
echo -e "$@" | while read -r ; do |
86 |
echo " $WARN*$NORMAL $RC_INDENTATION$REPLY" >&2 |
87 |
done |
88 |
@@ -321,7 +321,7 @@ ewarn() { |
89 |
|
90 |
eerror() { |
91 |
__elog_base ERROR "$*" |
92 |
- [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo |
93 |
+ [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo >&2 |
94 |
echo -e "$@" | while read -r ; do |
95 |
echo " $BAD*$NORMAL $RC_INDENTATION$REPLY" >&2 |
96 |
done |
97 |
@@ -339,7 +339,7 @@ ebegin() { |
98 |
msg="${msg} ..." |
99 |
fi |
100 |
einfon "${msg}" |
101 |
- [[ ${RC_ENDCOL} == "yes" ]] && echo |
102 |
+ [[ ${RC_ENDCOL} == "yes" ]] && echo >&2 |
103 |
LAST_E_LEN=$(( 3 + ${#RC_INDENTATION} + ${#msg} )) |
104 |
LAST_E_CMD="ebegin" |
105 |
return 0 |
106 |
@@ -359,10 +359,10 @@ __eend() { |
107 |
fi |
108 |
|
109 |
if [[ ${RC_ENDCOL} == "yes" ]] ; then |
110 |
- echo -e "${ENDCOL} ${msg}" |
111 |
+ echo -e "${ENDCOL} ${msg}" >&2 |
112 |
else |
113 |
[[ ${LAST_E_CMD} == ebegin ]] || LAST_E_LEN=0 |
114 |
- printf "%$(( COLS - LAST_E_LEN - 7 ))s%b\n" '' "${msg}" |
115 |
+ printf "%$(( COLS - LAST_E_LEN - 7 ))s%b\n" '' "${msg}" >&2 |
116 |
fi |
117 |
|
118 |
return ${retval} |
119 |
-- |
120 |
2.16.2 |