]> code.ossystems Code Review - openembedded-core.git/commitdiff
base-files: fix handling of resize
authorChen Qi <Qi.Chen@windriver.com>
Wed, 1 Aug 2018 05:25:35 +0000 (13:25 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 14 Aug 2018 10:36:22 +0000 (11:36 +0100)
The current handling of resize is incorrect. Using `resize > /dev/null
2>&1 && resize > /dev/null' will cause the second resize command to not
execute because 'resize > /dev/null 2>&1' will fail for resize utility
from busybox.

What we really should do is just to check whether ${bindir}/resize
is executable and execute it if so. Using '-x' is sufficient.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/base-files/base-files/profile
meta/recipes-core/base-files/base-files_3.0.14.bb

index e14cb2d87881475b5f147cb1a6cddb85207088d0..9e4283e0c74b6171ca70895304083de4cf51d546 100644 (file)
@@ -24,11 +24,7 @@ fi
 # /dev/tty[A-z]), otherwise we confuse e.g. the eclipse launcher which tries do
 # use ssh
 case $(tty 2>/dev/null) in
-       # The first invocation of resize verifies that it exists, the second
-       # does the actual resizing. This is due to that resize uses stderr to
-       # determine the size of the tty, which does not work if it is redirected
-       # to /dev/null.
-       /dev/tty[A-z]*) resize >/dev/null 2>&1 && resize >/dev/null;;
+       /dev/tty[A-z]*) [ -x @BINDIR@/resize ] && @BINDIR@/resize >/dev/null;;
 esac
 
 export PATH PS1 OPIEDIR QPEDIR QTDIR EDITOR TERM
index 1c0863b1c7b02c531d5ded7631aa74e3800d9dff..05c056266146d9066034d02b50c309128c638f0b 100644 (file)
@@ -121,6 +121,7 @@ do_install () {
        install -m 0644 ${WORKDIR}/usbd ${D}${sysconfdir}/default/usbd
        install -m 0644 ${WORKDIR}/profile ${D}${sysconfdir}/profile
        sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}${sysconfdir}/profile
+        sed -i 's#@BINDIR@#${bindir}#g' ${D}${sysconfdir}/profile
        install -m 0644 ${WORKDIR}/shells ${D}${sysconfdir}/shells
        install -m 0755 ${WORKDIR}/share/dot.profile ${D}${sysconfdir}/skel/.profile
        install -m 0755 ${WORKDIR}/share/dot.bashrc ${D}${sysconfdir}/skel/.bashrc