mirror of
https://git.yoctoproject.org/poky
synced 2026-05-08 05:09:24 +00:00
abc25cb88570bf54d3bb518b5083402894cca061
now the PATH for root user defined in a problematic way
PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin:
from eglibc:
/* Two adjacent colons, or a colon at the beginning or the end
of `PATH' means to search the current directory. */
that means current directory is always searched as the last path,
which could generate undesired behavior.
One example is found in LTP cron_deny01 test, which always complains
"sh: cron_deny01 not found"
cron_deny01 is a shell script which setups the initial test preparation
and then invokes itself for real test under a different user:
su $TEST_USER1 -c "$0"
'su' doesn't inherit PATH into the sub-shell, and thus $0 has to
be an absolute path to have right script found.
ltp appends the path of cron_deny01 to $PATH before running the test:
export PATH="${PATH}:${LTPROOT}/testcases/bin"
In ideal way "${LTPROOT}/testcases/bin/cron_deny01" is found and becomes
$0, which works well.
However due to the ending colon in original PATH:
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin::${LTPROOT}/testcases/bin
$0 becomes 'cron_deny01' w/o leading path which makes sub-shell under 'su'
failed to locate cron_deny01.
remove ending colon then fixes this problem.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Poky ==== Poky platform builder is a combined cross build system and development environment. It features support for building X11/Matchbox/GTK based filesystem images for various embedded devices and boards. It also supports cross-architecture application development using QEMU emulation and a standalone toolchain and SDK with IDE integration. Poky has an extensive handbook, the source of which is contained in the handbook directory. For compiled HTML or pdf versions of this, see the Poky website http://pokylinux.org. Additional information on the specifics of hardware that Poky supports is available in README.hardware.
Description