]> code.ossystems Code Review - openembedded-core.git/commitdiff
populate_sdk_base: fix directory creation as normal user
authorLaurentiu Palcu <laurentiu.palcu@intel.com>
Wed, 5 Dec 2012 11:00:00 +0000 (13:00 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 5 Dec 2012 15:23:30 +0000 (15:23 +0000)
My previous patch removed the mkdir and added it at the end of the
"gaining SUDO rights" block in order to fix directory creation when
installing in a location without proper rights. Unfortunately this
messed up the directory creation as normal user as it will ask for
sudo right in order to create it...

Hopefully, this will fix both cases.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/populate_sdk_base.bbclass

index f0b88b34c3416bb5a6424fa0f7a9270a161c09ef..c15a4d46291fe6579ad7206d7d697c03a4f59418 100644 (file)
@@ -187,6 +187,9 @@ if [ "$answer" != "Y" -a "$answer" != "y" ]; then
        exit 1
 fi
 
+# Try to create the directory (this will not succeed if user doesn't have rights)
+mkdir -p $target_sdk_dir >/dev/null 2>&1
+
 # if don't have the right to access dir, gain by sudo 
 if [ ! -x $target_sdk_dir -o ! -w $target_sdk_dir -o ! -r $target_sdk_dir ]; then 
        SUDO_EXEC=$(which "sudo")
@@ -198,10 +201,10 @@ if [ ! -x $target_sdk_dir -o ! -w $target_sdk_dir -o ! -r $target_sdk_dir ]; the
        # test sudo could gain root right
        $SUDO_EXEC pwd >/dev/null 2>&1
        [ $? -ne 0 ] && echo "Sorry, you are not allowed to execute as root." && exit 1
-fi
 
-# create dir and don't care about the result.
-$SUDO_EXEC mkdir -p $target_sdk_dir >/dev/null 2>&1
+       # now that we have sudo rights, create the directory
+       $SUDO_EXEC mkdir -p $target_sdk_dir >/dev/null 2>&1
+fi
 
 payload_offset=$(($(grep -na -m1 "^MARKER:$" $0|cut -d':' -f1) + 1))