install: add sudoer rule
authorMunkyu Im <munkyu.im@samsung.com>
Wed, 29 Apr 2015 04:43:01 +0000 (13:43 +0900)
committerMunkyu Im <munkyu.im@samsung.com>
Wed, 29 Apr 2015 04:48:47 +0000 (13:48 +0900)
add to skip password confirmiation when excute script for bridged network.

Change-Id: I3512a74ae98811a427bc07b0a9822bd57b2a3485
Signed-off-by: Munkyu Im <munkyu.im@samsung.com>
package/emulator-qemu-x86.install.macos-64

index 13bb342f4ccd86340d9159bf11458ac0682dd928..0107309b560492c633c5d9fc787fc8c14ce01812 100755 (executable)
@@ -74,19 +74,84 @@ function generate_sysctl_cmd {
     fi
 }
 
+function generate_sudoer_cmd {
+cat << 'EOF' >> $TMP_FILE
+cp -f ${TIZEN_SDK_INSTALL_PATH}/tools/emulator/etc/emulator-ifup.sh /etc/
+FILE=/etc/sudoers
+BACKFILE=/etc/sudoers.bak
+TMPFILE=/etc/sudoers.tmp
+MESSAGE="# Tizen SDK generated the following script. Do not modify."
+LINE1="User_Alias QEMUERS="
+LINE2="Cmnd_Alias QEMU=/etc/emulator-ifup.sh, /etc/emulator-ifdown.sh"
+LINE3="QEMUERS ALL=(ALL) NOPASSWD: QEMU"
+count=0
+
+if [[ "$USER" == "" ]]
+then
+    echo "user is not set. aborting..."
+    exit 1
+fi
+
+while read line
+do
+    echo $line
+    count=$((count+1))
+    if [[ $line == $LINE1* ]]
+    then
+        echo "find original script"
+        NAMES=`echo $line | cut -d = -f2`
+        if [[ "$NAMES"x == ""x ]]
+        then
+            cp $FILE $BACKFILE
+            # in case of blank user
+            eval sed -e "$count"c\"$line $USER\" $FILE > $TMPFILE
+            exit 0
+        fi
+        for i in $(echo $NAMES | tr "," "\n")
+        do
+            if [[ "$i" == "$USER" ]]
+            then
+                echo "already added the same user"
+                exit 0
+            fi
+        done
+        cp $FILE $BACKFILE
+        # new user is added with comma behind the original users.
+        eval sed -e "$count"c\"$line, $USER\" $FILE > $TMPFILE
+        mv $TMPFILE $FILE
+        exit 0
+        fi
+done < $FILE
+
+cp $FILE $BACKFILE
+echo "do not find $line"
+echo "$MESSAGE" >> $FILE
+echo "$LINE1$USER" >> $FILE
+echo "$LINE2" >> $FILE
+echo "$LINE3" >> $FILE
+exit 0
+EOF
+
+}
+
 function prepare {
     if [ ! -d $TMP_DIR ]
     then
         echo "make temp directory for emulator install : ( $TMP_DIR )"
         mkdir $TMP_DIR
     fi
+    USER=`id -un`
     echo "create $TMP_FILE"
     echo "#!/bin/sh" > $TMP_FILE
+    echo "TIZEN_SDK_INSTALL_PATH=$TIZEN_SDK_INSTALL_PATH" >> $TMP_FILE
+    echo "USER=$USER" >> $TMP_FILE
+
 }
 
 function generate {
     generate_sysctl_cmd;
     generate_tap_kext_cmd;
+    generate_sudoer_cmd;
 }
 
 function execute {