diff options
author | cshore <cshore@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-04-05 12:12:57 +0000 |
---|---|---|
committer | cshore <cshore@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-04-05 12:12:57 +0000 |
commit | 198ea09e92556752658bbfffac2b764b6f80959c (patch) | |
tree | 21751ae837431af618c34068ef259d79dc1e62aa /package/base-files | |
parent | c930c7dc2404c43507e3a2355875ff99f8332198 (diff) |
[package] block-mount base-files: Added additional check to pi_include to ensure that a directory used with pi_include actually contains files matching the souring pattern because if not the shell dies due to an empty string in for statement. Added /lib/functions/fsck as an empty dir to block-mount. This combination fixes a warning which generates a lot of bug reports, without panicking the kernel like the last attempt.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26479 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files')
-rwxr-xr-x | package/base-files/files/etc/functions.sh | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/package/base-files/files/etc/functions.sh b/package/base-files/files/etc/functions.sh index acea61753..e4b3badb4 100755 --- a/package/base-files/files/etc/functions.sh +++ b/package/base-files/files/etc/functions.sh @@ -299,13 +299,17 @@ pi_include() { elif [ -f "$1" ]; then . "$1" elif [ -d "/tmp/overlay/$1" ]; then - for src_script in /tmp/overlay/$1/*.sh; do - . "$src_script" - done + if [ -n "$(ls /tmp/overlay/$1/*.sh 2>/dev/null)" ]; then + for src_script in /tmp/overlay/$1/*.sh; do + . "$src_script" + done + fi elif [ -d "$1" ]; then - for src_script in $1/*.sh; do - . "$src_script" - done + if [ -n "$(ls $1/*.sh 2>/dev/null)" ]; then + for src_script in $1/*.sh; do + . "$src_script" + done + fi else echo "WARNING: $1 not found" return 1 |