From abc25cb88570bf54d3bb518b5083402894cca061 Mon Sep 17 00:00:00 2001 From: Kevin Tian Date: Wed, 26 Jan 2011 16:28:45 +0800 Subject: base-files: remove ending colon from default $PATH for root user 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 --- meta/recipes-core/base-files/base-files/profile | 2 +- meta/recipes-core/base-files/base-files_3.0.14.bb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/base-files/base-files/profile b/meta/recipes-core/base-files/base-files/profile index aa1c20fdb..e9408d17d 100644 --- a/meta/recipes-core/base-files/base-files/profile +++ b/meta/recipes-core/base-files/base-files/profile @@ -12,7 +12,7 @@ if [ ! -e /etc/localtime ]; then fi if [ "$HOME" = "/home/root" ]; then - PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin: + PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin fi if [ "$PS1" ]; then # works for bash and ash (no other shells known to be in use here) diff --git a/meta/recipes-core/base-files/base-files_3.0.14.bb b/meta/recipes-core/base-files/base-files_3.0.14.bb index 2363feb6b..d2fec7291 100644 --- a/meta/recipes-core/base-files/base-files_3.0.14.bb +++ b/meta/recipes-core/base-files/base-files_3.0.14.bb @@ -2,7 +2,7 @@ SUMMARY = "Miscellaneous files for the base system." DESCRIPTION = "The base-files package creates the basic system directory structure and provides a small set of key configuration files for the system." SECTION = "base" PRIORITY = "required" -PR = "r66" +PR = "r67" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://licenses/GPL-2;md5=94d55d512a9ba36caa9b7df079bae19f" SRC_URI = "file://rotation \ -- cgit v1.2.3