scripts/oe-buildenv-internal: improve the error detecting for $BDIR

The previous fix for a bug in Ubuntu 10.04 readlink,
be2a2764d8, notified the user when a trailing
slash was used. As there is no semantic difference, simply remove any
trailing slashes and proceed without nagging the user.

See [YOCTO #671] for more details.

(From OE-Core rev: 074ca832c0274e0e92698b4d006ef2708be105b8)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Acked-by: Darren Hart <dvhart@linux.intel.com>
Cc: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Dexuan Cui 2011-08-04 14:53:20 +08:00 committed by Richard Purdie
parent cf3ed8231c
commit b0761479e4
1 changed files with 15 additions and 8 deletions

View File

@ -28,14 +28,21 @@ if [ "x$BDIR" = "x" ]; then
if [ "x$1" = "x" ]; then
BDIR="build"
else
BDIR=`readlink -f "$1"`
if [ -z "$BDIR" ]; then
if expr "$1" : '.*/$' >/dev/null; then
echo >&2 "Error: please remove any trailing / in the argument."
else
PARENTDIR=`dirname "$1"`
echo >&2 "Error: the directory $PARENTDIR doesn't exist?"
fi
BDIR="$1"
if [ "$BDIR" = "/" ]; then
echo >&2 "Error: / is not supported as a build directory."
return 1
fi
# Remove any possible trailing slashes. This is used to work around
# buggy readlink in Ubuntu 10.04 that doesn't ignore trailing slashes
# and hence "readlink -f new_dir_to_be_created/" returns empty.
BDIR=`echo $BDIR | sed -re 's|/+$||'`
BDIR=`readlink -f "$BDIR"`
if [ -z "$BDIR" ]; then
PARENTDIR=`dirname "$1"`
echo >&2 "Error: the directory $PARENTDIR does not exist?"
return 1
fi
fi