From 13ac9ece3bab29bd876c4f38a313c7af6ad8260a Mon Sep 17 00:00:00 2001 From: Johannes Schneider Date: Fri, 13 Oct 2023 10:27:34 +0000 Subject: base-files: profile: allow profile.d to set EDITOR With a profile.d configuration in place that sets the EDITOR variable, the automatic terminal 'resize' logic would not trigger. Which then would possibly lead to a 80x24 fallback on the debug serial console. This can simply be avoided by setting a flag variable when the shell is first opened, then processing all profile.d includes, trigger the 'resize' depending on the flag and shell-level and finally only set EDITOR to some default if it is still unset. (From OE-Core rev: dcdb30c83eb77fb2d5ea04f9b7fd7371da633a34) Signed-off-by: Johannes Schneider Signed-off-by: Luca Ceresoli Signed-off-by: Richard Purdie --- meta/recipes-core/base-files/base-files/profile | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'meta/recipes-core/base-files') diff --git a/meta/recipes-core/base-files/base-files/profile b/meta/recipes-core/base-files/base-files/profile index cc37e1ba77..bded3757cc 100644 --- a/meta/recipes-core/base-files/base-files/profile +++ b/meta/recipes-core/base-files/base-files/profile @@ -10,6 +10,12 @@ PATH="/usr/local/bin:/usr/bin:/bin" # Set the prompt for bash and ash (no other shells known to be in use here) [ -z "$PS1" ] || PS1='\u@\h:\w\$ ' +# Use the EDITOR not being set as a trigger to call resize later on +FIRSTTIMESETUP=0 +if [ -z "$EDITOR" ] ; then + FIRSTTIMESETUP=1 +fi + if [ -d /etc/profile.d ]; then for i in /etc/profile.d/*.sh; do if [ -f $i -a -r $i ]; then @@ -50,17 +56,19 @@ resize() { } fi fi - # Use the EDITOR not being set as a trigger to call resize - # and only do this for /dev/tty[A-z] which are typically + # only do this for /dev/tty[A-z] which are typically # serial ports - if [ -z "$EDITOR" -a "$SHLVL" = 1 ] ; then + if [ $FIRSTTIMESETUP -eq 1 -a $SHLVL -eq 1 ] ; then case $(tty 2>/dev/null) in /dev/tty[A-z]*) resize >/dev/null;; esac fi fi -EDITOR="vi" # needed for packages like cron, git-commit +if [ -z "$EDITOR" ]; then + EDITOR="vi" # needed for packages like cron, git-commit +fi + export PATH PS1 OPIEDIR QPEDIR QTDIR EDITOR TERM umask 022 -- cgit v1.2.3-54-g00ecf