From: Munkyu Im Date: Wed, 29 Apr 2015 04:43:01 +0000 (+0900) Subject: install: add sudoer rule X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.2~436^2~48 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=61d63a4edf88dc826c7e070ced3fcb03ff916c78;p=sdk%2Femulator%2Fqemu.git install: add sudoer rule add to skip password confirmiation when excute script for bridged network. Change-Id: I3512a74ae98811a427bc07b0a9822bd57b2a3485 Signed-off-by: Munkyu Im --- diff --git a/package/emulator-qemu-x86.install.macos-64 b/package/emulator-qemu-x86.install.macos-64 index 13bb342f4c..0107309b56 100755 --- a/package/emulator-qemu-x86.install.macos-64 +++ b/package/emulator-qemu-x86.install.macos-64 @@ -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 {