base-files: fix profile error under < /dev/null

Previous attempts to constrain execution of `resize` to only TTYs did
not properly handle situations when `tty` would return the string "not a
tty". The symptom is "/etc/profile: line 34: test: too many arguments".
Fix this by utilizing the exit code of `tty`. Also use `case` instead of
`cut` to eliminate a subshell.

(From OE-Core rev: e67637e4472ff3a1e2801b84ee3d69d4e14b9efc)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Tollerton 2016-10-11 20:08:15 -05:00 committed by Richard Purdie
parent f683658705
commit b7b2e34871

View File

@ -22,10 +22,12 @@ if [ -d /etc/profile.d ]; then
unset i
fi
if [ -x /usr/bin/resize ];then
if [ -x /usr/bin/resize ] && termpath="`tty`"; then
# Make sure we are on a serial console (i.e. the device used starts with /dev/tty),
# otherwise we confuse e.g. the eclipse launcher which tries do use ssh
test "`tty | cut -c1-8`" = "/dev/tty" && resize >/dev/null
case "$termpath" in
/dev/tty*) resize >/dev/null
esac
fi
export PATH PS1 OPIEDIR QPEDIR QTDIR EDITOR TERM