+++ /dev/null
-#!/bin/sh -e
-
-TIZEN_SDK_INSTALL_PATH=`echo $INSTALLED_PATH`
-OLD_SHMMAXSIZE=`sysctl -n kern.sysv.shmmax`
-COCOASUDOPATH="./cocoasudo"
-SYSCTL_FILE=sysctl.conf
-TMP_DIR=~/.installmanager
-TIZEN_BIN_PATH=$TIZEN_SDK_INSTALL_PATH/tools/emulator/bin
-TIZEN_ETC_PATH=$TIZEN_SDK_INSTALL_PATH/tools/emulator/etc
-
-TMP_FILE=$TMP_DIR/emulator-install.sh
-NEW_SHMMAXSIZE=83886080
-
-if [ -z $TIZEN_SDK_INSTALL_PATH ]
-then
- echo "There is no TIZEN_SDK_PATH ENV" >> /tmp/emulator.log
-# exit 2;
-fi
-
-function remove_tmp_file {
- if [ -e $TMP_FILE ]
- then
- echo "delete $TMP_FILE"
- rm -f $TMP_FILE
- fi
-}
-
-function remove_sysctl_file {
- if [ -e $TMP_DIR/$SYSCTL_FILE ]
- then
- echo "delete $TMP_DIR/$SYSCTL_FILE"
- rm -f $TMP_DIR/$SYSCTL_FILE
- fi
-}
-
-function makesysctl {
- echo 'make new sysctl.conf file to change'
-
- remove_sysctl_file;
-
- echo "kern.sysv.shmmax=83886080" >> $TMP_DIR/$SYSCTL_FILE
- echo "kern.sysv.shmmin=1" >> $TMP_DIR/$SYSCTL_FILE
- echo "kern.sysv.shmmni=128" >> $TMP_DIR/$SYSCTL_FILE
- echo "kern.sysv.shmseg=32" >> $TMP_DIR/$SYSCTL_FILE
- echo "kern.sysv.shmall=20480" >> $TMP_DIR/$SYSCTL_FILE
-
-}
-
-function generate_tap_kext_cmd {
- echo "mkdir -p /Library/Extensions" >> $TMP_FILE
- echo "cp -pR ${TIZEN_ETC_PATH}/tap.kext /Library/Extensions" >> $TMP_FILE
- echo "chown -R root:wheel /Library/Extensions/tap.kext" >> $TMP_FILE
- echo "mkdir -p /Library/LaunchDaemons" >> $TMP_FILE
- echo "cp /Library/Extensions/tap.kext/Contents/net.sf.tuntaposx.tap.plist /Library/LaunchDaemons" >> $TMP_FILE
- echo "/sbin/kextload /Library/Extensions/tap.kext" >> $TMP_FILE
-}
-
-function generate_sysctl_cmd {
- if [ $OLD_SHMMAXSIZE -lt $NEW_SHMMAXSIZE ]
- then
- if [ -e /etc/$SYSCTL_FILE ]
- then
- makesysctl;
- echo "mv -f /etc/sysctl.conf /etc/sysctl.conf.old" >> $TMP_FILE
- echo "cp -f $TMP_DIR/$SYSCTL_FILE /etc/." >> $TMP_FILE
- echo "sysctl -w kern.sysv.shmmax=$NEW_SHMMAXSIZE" >> $TMP_FILE
- echo 'echo "Changing /etc/sysctl.conf file. (The original file will be removed to sysctl.conf.old)"' >> $TMP_FILE
- else
- makesysctl;
- echo "cp -f $TMP_DIR/$SYSCTL_FILE /etc/." >> $TMP_FILE
- echo "sysctl -w kern.sysv.shmmax=$NEW_SHMMAXSIZE" >> $TMP_FILE
- echo 'echo "Make a new /etc/sysctl.conf file."' >> $TMP_FILE
- fi
- 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 qemu sudoer. add it"
-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 {
- /bin/chmod +x $TMP_FILE
- $TIZEN_BIN_PATH/cocoasudo "--prompt=Please enter your password to install tizen emulator." sh -x $TMP_FILE
-}
-
-function cleanup {
- remove_tmp_file;
- remove_sysctl_file;
-}
-
-prepare;
-generate;
-execute;
-cleanup;
-
-CURRENT_SHMMAXSIZE=`sysctl -n kern.sysv.shmmax`
-
-if [ ! $OLD_SHMMAXSIZE -eq $CURRENT_SHMMAXSIZE ]
-then
- echo 'need reboot'
- exit 99
-fi
-