[oe-commits] Dexuan Cui : scripts/oe-buildenv-internal: improve the error detecting for $BDIR

git version control git at git.openembedded.org
Wed Aug 10 12:22:51 UTC 2011


Module: openembedded-core.git
Branch: master
Commit: 074ca832c0274e0e92698b4d006ef2708be105b8
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=074ca832c0274e0e92698b4d006ef2708be105b8

Author: Dexuan Cui <dexuan.cui at intel.com>
Date:   Thu Aug  4 14:53:20 2011 +0800

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

The previous fix for a bug in Ubuntu 10.04 readlink,
be2a2764d8ceb398d81714661e6f199c8b11946c, 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.

Signed-off-by: Dexuan Cui <dexuan.cui at intel.com>
Acked-by: Darren Hart <dvhart at linux.intel.com>
Cc: Paul Eggleton <paul.eggleton at linux.intel.com>

---

 scripts/oe-buildenv-internal |   23 +++++++++++++++--------
 1 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/scripts/oe-buildenv-internal b/scripts/oe-buildenv-internal
index 117b0c5..61ac18c 100755
--- a/scripts/oe-buildenv-internal
+++ b/scripts/oe-buildenv-internal
@@ -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





More information about the Openembedded-commits mailing list