base-files: fix handling of resize
cover base-files: fix handling of resize
The following changes since commit 666e0783525a298217787e3d2f1460c57c2f59ca:
gcc-7.3: Backport fixes for std::pair high memory usage (2018-07-31 22:55:35 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib ChenQi/base-files-resize
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/base-files-resize
Chen Qi (1):
base-files: fix handling of resize
meta/recipes-core/base-files/base-files/profile | 6 +----- meta/recipes-core/base-files/base-files_3.0.14.bb | 1 + 2 files changed, 2 insertions(+), 5 deletions(-)
Signature · 1 line
1.9.1
PATCH 1/1 base-files: fix handling of resize
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.
--- meta/recipes-core/base-files/base-files/profile | 6 +----- meta/recipes-core/base-files/base-files_3.0.14.bb | 1 + 2 files changed, 2 insertions(+), 5 deletions(-)
meta/recipes-core/base-files/base-files/profile +1 -5
@@ -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
meta/recipes-core/base-files/base-files_3.0.14.bb +1 -0
@@ -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
Signature · 1 line
1.9.1
Quoted 36 lines · Chen Qi
The current handling of resize is incorrect. Using `resize >
/dev/null2>&1 && resize >/dev/null' will cause the second resize command to not execute because 'resize >/dev/null2>&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 <[email protected]>--- meta/recipes-core/base-files/base-files/profile | 6 +----- meta/recipes-core/base-files/base-files_3.0.14.bb | 1 + 2 files changed, 2 insertions(+), 5 deletions(-)meta/recipes-core/base-files/base-files/profile +1
-5@@ -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 TERMmeta/recipes-core/base-files/base-files_3.0.14.bb +0
-0
meta/recipes-core/base-files/base-files_3.0.14.bb do_install () { · line 124
Quoted 4 lines
meta/recipes-core/base-files/base-files_3.0.14.bb +1
-0@@ -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
Just noticed the indent here is not correct.
I've fixed this indentation problem and updated the remote branch. Sorry for the inconvenience.
Best Regards,
Chen Qi
Quoted 3 lines
meta/recipes-core/base-files/base-files_3.0.14.bb +0
-0install -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
Quoted 11 lines
-----Original Message-----
From: [email protected] <openembedded- [email protected]> On Behalf Of Chen Qi
Sent: den 1 augusti 2018 07:26
To: [email protected]
Subject: [OE-core] [PATCH 1/1] base-files: fix handling of resizeThe current handling of resize is incorrect. Using `resize >
/dev/null2>&1 && resize >/dev/null' will cause the second resize command to not execute because 'resize >/dev/null2>&1' will fail for resize utility from busybox.
Meh, I was pretty sure I had verified it with resize from busybox, but it seems you are correct. However, the current logic can be maintained by instead changing the first invocation of resize to call "resize --help 2>/dev/null".
Quoted 2 lines
What we really should do is just to check whether ${bindir}/resize is executable and execute it if so. Using '-x' is sufficient.
Well, the intent of the current code (and the code before it) was to be agnostic to where resize happens to be located. That is obviously no longer the case after your change. Whether that matters or not, I do not know...
Quoted 36 lines
Signed-off-by Chen Qi <[email protected]>--- meta/recipes-core/base-files/base-files/profile | 6 +----- meta/recipes-core/base-files/base-files_3.0.14.bb | 1 + 2 files changed, 2 insertions(+), 5 deletions(-)meta/recipes-core/base-files/base-files/profile +1
-5@@ -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 TERMmeta/recipes-core/base-files/base-files_3.0.14.bb +1
-1@@ -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 --
Quoted 1 line
1.9.1
//Peter
Quoted 16 lines · Peter Kjellerstedt
Quoted 11 lines
-----Original Message-----
From: [email protected] <openembedded- [email protected]> On Behalf Of Chen Qi
Sent: den 1 augusti 2018 07:26
To: [email protected]
Subject: [OE-core] [PATCH 1/1] base-files: fix handling of resizeThe current handling of resize is incorrect. Using `resize >
/dev/null2>&1 && resize >/dev/null' will cause the second resize command to not execute because 'resize >/dev/null2>&1' will fail for resize utility from busybox.Meh, I was pretty sure I had verified it with resize from busybox, but it seems you are correct. However, the current logic can be maintained by instead changing the first invocation of resize to call "resize --help 2>/dev/null".
Quoted 6 lines
Quoted 2 lines
What we really should do is just to check whether ${bindir}/resize is executable and execute it if so. Using '-x' is sufficient.
Well, the intent of the current code (and the code before it) was to be agnostic to where resize happens to be located. That is obviously no longer the case after your change. Whether that matters or not, I do not know...
Thanks for clarifying things.
As both busybox and xterm install resize in ${bindir}, I think we will not have any trouble. Besides, our update-alternatives mechanism does not allow different ALTERNATIVE_LINK_NAME for the same entry.
Best Regards,
Chen Qi
Quoted 40 lines
Quoted 36 lines
Signed-off-by Chen Qi <[email protected]>--- meta/recipes-core/base-files/base-files/profile | 6 +----- meta/recipes-core/base-files/base-files_3.0.14.bb | 1 + 2 files changed, 2 insertions(+), 5 deletions(-)meta/recipes-core/base-files/base-files/profile +1
-5@@ -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 TERMmeta/recipes-core/base-files/base-files_3.0.14.bb +1
-1@@ -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 --Quoted 1 line
1.9.1
//Peter
ping
Quoted 43 lines · Chen Qi
The current handling of resize is incorrect. Using `resize >
/dev/null2>&1 && resize >/dev/null' will cause the second resize command to not execute because 'resize >/dev/null2>&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 <[email protected]>--- meta/recipes-core/base-files/base-files/profile | 6 +----- meta/recipes-core/base-files/base-files_3.0.14.bb | 1 + 2 files changed, 2 insertions(+), 5 deletions(-)meta/recipes-core/base-files/base-files/profile +1
-5@@ -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 TERMmeta/recipes-core/base-files/base-files_3.0.14.bb +1
-0@@ -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