oe-buildenv-internal: Preserve/Unset and Restore TERM
PATCH 1/1 oe-buildenv-internal: Preserve/Unset and Restore TERM
Having a value in TERM that is not recognized by the nativesdk can cause potential escape sequences appearing in the output stream, the can be seen on Ubuntu with TERM=xterm-256color. Unsetting TERM allows for consistent results in the python output.
Also, don't exit, use return, otherwise the shell exits and get no error information.
[YOCTO #4732]
--- scripts/oe-buildenv-internal | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
scripts/oe-buildenv-internal +6 -2
@@ -29,6 +29,8 @@ if [ ! -z "$OECORE_SDK_VERSION" ]; then return 1 fi +TERM_save=$TERM +unset TERM # Make sure we're not using python v3.x. This check can't go into # sanity.bbclass because bitbake's source code doesn't even pass # parsing stage when used with python v3, so we catch it here so we
@@ -37,7 +39,7 @@ py_v3_check=`/usr/bin/env python --version 2>&1 | grep "Python 3"` if [ "$py_v3_check" != "" ]; then echo "Bitbake is not compatible with python v3" echo "Please set up python v2 as your default python interpreter" - exit 1 + return 1 fi # Similarly, we now have code that doesn't parse correctly with older
@@ -46,7 +48,7 @@ fi py_v26_check=`python -c 'import sys; print sys.version_info >= (2,7,3)'` if [ "$py_v26_check" != "True" ]; then echo "BitBake requires Python 2.7.3 or later" - exit 1 + return 1 fi if [ "x$BDIR" = "x" ]; then
@@ -107,3 +109,5 @@ HTTPS_PROXY https_proxy FTP_PROXY ftp_proxy FTPS_PROXY ftps_proxy ALL_PROXY \ all_proxy NO_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY \ SDKMACHINE BB_NUMBER_THREADS BB_NO_NETWORK PARALLEL_MAKE GIT_PROXY_COMMAND \ SOCKS5_PASSWD SOCKS5_USER SCREENDIR STAMPS_DIR" + +export TERM=$TERM_save
Signature · 1 line
1.8.1.4
Quoted 46 lines · Saul Wold
Having a value in TERM that is not recognized by the nativesdk can cause potential escape sequences appearing in the output stream, the can be seen on Ubuntu with TERM=xterm-256color. Unsetting TERM allows for consistent results in the python output.
Also, don't exit, use return, otherwise the shell exits and get no error information.
[YOCTO #4732]
Signed-off-by Saul Wold <[email protected]>--- scripts/oe-buildenv-internal | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)scripts/oe-buildenv-internal +4
-2@@ -29,6 +29,8 @@ if [ ! -z "$OECORE_SDK_VERSION" ]; then return 1 fi +TERM_save=$TERM +unset TERM # Make sure we're not using python v3.x. This check can't go into # sanity.bbclass because bitbake's source code doesn't even pass # parsing stage when used with python v3, so we catch it here so we@@ -37,7 +39,7 @@ py_v3_check=`/usr/bin/env python --version 2>&1 | grep "Python 3"` if [ "$py_v3_check" != "" ]; then echo "Bitbake is not compatible with python v3" echo "Please set up python v2 as your default python interpreter" - exit 1 + return 1 fi # Similarly, we now have code that doesn't parse correctly with older@@ -46,7 +48,7 @@ fi py_v26_check=`python -c 'import sys; print sys.version_info >= (2,7,3)'` if [ "$py_v26_check" != "True" ]; then echo "BitBake requires Python 2.7.3 or later" - exit 1 + return 1 fi if [ "x$BDIR" = "x" ]; then
scripts/oe-buildenv-internal HTTPS_PROXY https_proxy FTP_PROXY ftp_proxy FTPS_PROXY ftps_proxy ALL_PROXY \ · line 113
Quoted 5 lines
scripts/oe-buildenv-internal +2
-0@@ -107,3 +109,5 @@ HTTPS_PROXY https_proxy FTP_PROXY ftp_proxy FTPS_PROXY ftps_proxy ALL_PROXY \ all_proxy NO_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY \ SDKMACHINE BB_NUMBER_THREADS BB_NO_NETWORK PARALLEL_MAKE GIT_PROXY_COMMAND \ SOCKS5_PASSWD SOCKS5_USER SCREENDIR STAMPS_DIR" + +export TERM=$TERM_save
No. This is just wrong in so many ways. I commented on the bug.
This also means any command you run after sourcing the script gets a broken TERM value.
Cheers,
Richard
Quoted 55 lines · Richard Purdie
Quoted 46 lines · Saul Wold
Having a value in TERM that is not recognized by the nativesdk can cause potential escape sequences appearing in the output stream, the can be seen on Ubuntu with TERM=xterm-256color. Unsetting TERM allows for consistent results in the python output.
Also, don't exit, use return, otherwise the shell exits and get no error information.
[YOCTO #4732]
Signed-off-by Saul Wold <[email protected]>--- scripts/oe-buildenv-internal | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)scripts/oe-buildenv-internal +4
-2@@ -29,6 +29,8 @@ if [ ! -z "$OECORE_SDK_VERSION" ]; then return 1 fi +TERM_save=$TERM +unset TERM # Make sure we're not using python v3.x. This check can't go into # sanity.bbclass because bitbake's source code doesn't even pass # parsing stage when used with python v3, so we catch it here so we@@ -37,7 +39,7 @@ py_v3_check=`/usr/bin/env python --version 2>&1 | grep "Python 3"` if [ "$py_v3_check" != "" ]; then echo "Bitbake is not compatible with python v3" echo "Please set up python v2 as your default python interpreter" - exit 1 + return 1 fi # Similarly, we now have code that doesn't parse correctly with older@@ -46,7 +48,7 @@ fi py_v26_check=`python -c 'import sys; print sys.version_info >= (2,7,3)'` if [ "$py_v26_check" != "True" ]; then echo "BitBake requires Python 2.7.3 or later" - exit 1 + return 1 fi if [ "x$BDIR" = "x" ]; thenscripts/oe-buildenv-internal HTTPS_PROXY https_proxy FTP_PROXY ftp_proxy FTPS_PROXY ftps_proxy ALL_PROXY \ · line 113
Quoted 5 lines
scripts/oe-buildenv-internal +2
-0@@ -107,3 +109,5 @@ HTTPS_PROXY https_proxy FTP_PROXY ftp_proxy FTPS_PROXY ftps_proxy ALL_PROXY \ all_proxy NO_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY \ SDKMACHINE BB_NUMBER_THREADS BB_NO_NETWORK PARALLEL_MAKE GIT_PROXY_COMMAND \ SOCKS5_PASSWD SOCKS5_USER SCREENDIR STAMPS_DIR" + +export TERM=$TERM_saveNo. This is just wrong in so many ways. I commented on the bug.
Quoted 3 lines
This also means any command you run after sourcing the script gets a broken TERM value.
It's not a broken TERM value from the Distro's standpoint, only from our nativesdk python's standpoint, the value is correct for the distro, devshell and visual tools all work correctly.
We need to at least fix the exit vs return.
Sau!
Quoted 6 lines
Cheers,
Richard
Quoted 5 lines · Saul Wold
Having a value in TERM that is not recognized by the nativesdk can cause potential escape sequences appearing in the output stream, the can be seen on Ubuntu with TERM=xterm-256color. Unsetting TERM allows for consistent results in the python output.
Quoted 7 lines
Also, don't exit, use return, otherwise the shell exits and get no error information.
[YOCTO #4732]
Signed-off-by Saul Wold <[email protected]>
Please split the fix and get the exit/return fix applied. While on that, ensure the errors are send to >&2 as done in other error messages.
Signature · 3 lines
Otavio Salvador O.S. Systems http://www.ossystems.com.br http://projetos.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750