#!/bin/bash
#
###############################################################################
#                                                                             #
#              Ϊնݿlinux ̨ע                               #
#              ȨڻΪ޹˾õãΥ߱ؾ                   #
#              Huawei linux MobilePartner licensed software                   #
#              Copyright (c) 2007-2008 by Huawei Tech. Corp. Ltd..            #
#              ߣǬ 2008.7.8                                          #
#                                                                             #
###############################################################################
#

BAKCURRENTPATH=`pwd`
SOFTWARENAME="MegaFon Modem"
# g122020 2010.01.11 modify AJ2D15737
INSTALLWORKPATH="$(dirname "$0")"
CONFIG_FILE="/etc/datacard_config"
HOOK_FILE="/etc/pm/sleep.d"
USERDATA_PATH="/usr/local/hw_mp_userdata"
# g122020 2010.01.29 AJ2D15962
PPPD_PATH="/usr/local/hw_pppd"

FULLVERSION=22.001.18.30.209

SOFTWARENAMEINDESKTOP=$SOFTWARENAME
SOFTWARENAME=$(echo $SOFTWARENAME | sed s\#\ \#_\#g)

INSTALLPATH="/usr/local/${SOFTWARENAME}"
TEMPWORKPATH="/tmp/${SOFTWARENAME}_$$"
TEMPFILE="${SOFTWARENAME}_install_$PPID"

#Language String
LANGUAGESTRING[0]="zh"
LANGUAGESTRING[1]="en_US"
LANGUAGECODE[0]=0
LANGUAGECODE[1]=1


LANGCODE=${LANGUAGECODE[1]}
i=0
while [ ".${LANGUAGESTRING[${i}]}" != "." ]
do
    if [ ${LANGUAGESTRING[${i}]} = "${LANG}" ]
    then
        LANGCODE=${LANGUAGECODE[${i}]}
        break
    fi
    i=`expr ${i} + 1`
done
unset i


LYouMustBeRoot[0]="rootûбװ"
LYouMustBeRoot[1]="You must run the process by root"

LPlsInputInstallPath[0]="밲װľ·"
LPlsInputInstallPath[1]="Please input the absolute path for install"

LInstallPath[0]="װ·"
LInstallPath[1]="install path"

LIllegal[0]="Ƿ"
LIllegal[1]="illegal"

LNoFile[0]="Ҳļ"
LNoFile[1]="Can not find file: "

LCanNotCreateDir[0]="޷Ŀ¼"
LCanNotCreateDir[1]="Can not create dir"

LMobilePartnerInstall[0]="${SOFTWARENAMEINDESKTOP}װ"
LMobilePartnerInstall[1]="${SOFTWARENAMEINDESKTOP} installer"

LStartInstallPartner[0]="ʼװ̨, Ժ..."
LStartInstallPartner[1]="Installing ${SOFTWARENAMEINDESKTOP}..."

LCompleteInstallPartner[0]="Ѿɺ̨װ"
LCompleteInstallPartner[1]="install have completed, local path is"

LLocalPath[0]="ذװ·"
LLocalPath[1]="Local path is"

LOverwriteInstalled[0]="Ѿװк̨, Ƿ񸲸"
LOverwriteInstalled[1]="The software is exist. Do you want overwrite it"

LInstallJRE[0]="װJRE"
LInstallJRE[1]="install JRE"

LInstallMP[0]="װ̨"
LInstallMP[1]="install ${SOFTWARENAMEINDESKTOP}"

LInstallAll[0]="װJREͺ̨"
LInstallAll[1]="install JRE and ${SOFTWARENAMEINDESKTOP}"

LQuitInstall[0]="˳"
LQuitInstall[1]="Exit"

LPlsSelect[0]="ѡ"
LPlsSelect[1]="Please select: "

LYouMustSelect[0]="ѡ"
LYouMustSelect[1]="You must select: "

LInstallEnd[0]=", ˳"
LInstallEnd[1]="Finished, press any key to exit"

LInstallingVersionOlderThenInstalled[0]="棺ڰװİ汾ϵͳеİ汾ɡǷ񸲸ǣ"
LInstallingVersionOlderThenInstalled[1]="WARNING: The installing version is older than installed. Do you want to overwrite it"

LInstallingVersionLaterThenInstalled[0]="ϵͳдھɰ汾Ƿ"
LInstallingVersionLaterThenInstalled[1]="There is a older version in your system. Do you want to update it"

LInstalledVersion[0]="Ѱװ汾:"
LInstalledVersion[1]="Installed version:"

LInstallingVersion[0]="ڰװ汾:"
LInstallingVersion[1]="Installing version:"

LProgramRunning[0]="ȹرճٽжء"
LProgramRunning[1]="Program is running, you need close it before uninstalling."



# /*yes or no , yes0, no1*/
yes_or_no()
{
    if [ ${#} -ne 2 ]
    then
        echo -e "yes_or_or: ${ErrorPara[${LANGCODE}]}"
        return 1
    fi
    if [ "${2}" = "Y" ]
    then
        DEFPMPT="([Y]/N):\c "
        DEFVAL="Y"
    else
        DEFPMPT="(Y/[N]):\c "
        DEFVAL="N"
    fi
    echo -e "${1} ${DEFPMPT}"
    read ANS
    while [ "${ANS}" != "Y" -a "${ANS}" != "y" -a "${ANS}" != "N" -a "${ANS}" != "n" -a ! -z "${ANS}" ]
    do
        echo -e "${1} ${DEFPMPT}"
        read ANS
    done
    : ${ANS:="${DEFVAL}"}
    if [ "${ANS}" != "Y" -a "${ANS}" != "y" ]
    then
        unset ANS
        return 1
    fi
    unset ASN
    return 0
}

#װűûǷΪrootû
CheckID()
{
    if [ `id | awk '{print $1}'` != "uid=0(root)" ]
    then
        echo -e "${LYouMustBeRoot[${LANGCODE}]}"
        echo -e "\n${LInstallEnd[${LANGCODE}]}"
        read -n 1
	clear
        exit
    fi
}

#鵱ǰǷк̨
CheckRunning()
{
    RUNJAR=`ps -ef |grep -v grep |grep MobilePartner.jar | awk '{print $2}'`
    RUNBIN=`ps -ef |grep -v grep |grep MobilePartner.bin | awk '{print $2}'`
    if [ "x${RUNJAR}" != "x" ]
    then
        echo -e "Program is running, you need close it before installing."
        read RESP
        exit
    fi

    if [ "x${RUNBIN}" != "x" ]
    then
        echo -e "Program is running, you need close it before installing."
        read RESP
        exit
    fi
}

#ļӲϽŰװļʱĿ¼װļĿ¼
PreInstall()
{
    #鰲װļ
    if [ ! -f "${INSTALLWORKPATH}"/MobilePartner.bin ]
    then
        echo -e "${LNoFile[${LANGCODE}]}MobilePartner.bin"
        exit
    fi
    if [ ! -f "${INSTALLWORKPATH}"/data.bin ]
    then
        echo -e "${LNoFile[${LANGCODE}]}data.bin"
        exit
    fi
    if [ ! -f "${INSTALLWORKPATH}"/7zr ]
    then
        echo -e "${LNoFile[${LANGCODE}]}7zr"
        exit
    fi
 
    if [ ! -d "${TEMPWORKPATH}" ]
    then
        mkdir ${TEMPWORKPATH}
    fi
    if [ ! -d "${TEMPWORKPATH}" ]
    then
        echo -e "\n${LCanNotCreateDir[${LANGCODE}]}: ${TEMPWORKPATH}"
        exit
    fi
    
    #̨װļ
    cp -f "${INSTALLWORKPATH}"/MobilePartner.bin ${TEMPWORKPATH}
    cp -f "${INSTALLWORKPATH}"/data.bin ${TEMPWORKPATH}
    cp -f "${INSTALLWORKPATH}"/7zr ${TEMPWORKPATH}
    chmod +x ${TEMPWORKPATH}/7zr

    #װűӲ
    cp -f "${INSTALLWORKPATH}"/install ${TEMPWORKPATH}
    chmod a+x ${TEMPWORKPATH}/install    
    

    #add by liuzhiqiang... begin
    if [ -f $CONFIG_FILE ]
    then
        #ȡ汾Ϣ
        . $CONFIG_FILE

        #ȡϵͳѾװİ汾
        VRVERSIONINSTALLED=`echo $FullVersion | cut -d '.' -f1`
        BUILDVERSIONINSTALLED=`echo $FullVersion | cut -d '.' -f2`
        DEVELOPVERSIONINSTALLED=`echo $FullVersion | cut -d '.' -f3`
        SPVERSIONINSTALLED=`echo $FullVersion | cut -d '.' -f4`
        CUSTOMIZEVERSIONINSTALLED=`echo $FullVersion | cut -d '.' -f5`
        
        #ȡڰװİ汾
        VRVERSIONINSTALLING=`echo $FULLVERSION | cut -d '.' -f1`
        BUILDVERSIONINSTALLING=`echo $FULLVERSION | cut -d '.' -f2`
        DEVELOPVERSIONINSTALLING=`echo $FULLVERSION | cut -d '.' -f3`
        SPVERSIONINSTALLING=`echo $FULLVERSION | cut -d '.' -f4`
        CUSTOMIZEVERSIONINSTALLING=`echo $FULLVERSION | cut -d '.' -f5`
        
        #ӡ汾Ϣ
        echo "${LInstalledVersion[${LANGCODE}]} ${FullVersion}"
        echo "${LInstallingVersion[${LANGCODE}]} ${FULLVERSION}"
        
        #Ѿװİ汾Ƿ
        while [ 1 ]
        do
            #ȽVR汾ţͬʾûǰװ
            if [ $VRVERSIONINSTALLED -ne $VRVERSIONINSTALLING ]
            then
                InstallDifferentVersionPrompt
                break
            fi
            
            #ȽC汾ţͬʾûǰװ
            if [ $CUSTOMIZEVERSIONINSTALLED -ne $CUSTOMIZEVERSIONINSTALLING ]
            then
                InstallDifferentVersionPrompt
                break
            fi
            
            #ȽB汾
            if [ $BUILDVERSIONINSTALLED -gt $BUILDVERSIONINSTALLING ]
            then
                #ѰװB汾Ž£ʾûѾװ˽µĺ̨汾Ƿ
                InstallOlderVersionPrompt
                break
            elif [ $BUILDVERSIONINSTALLED -lt $BUILDVERSIONINSTALLING ]
            then
                #ѰװB汾ŽϣҪȽD汾SP汾ֱӸǰװ
                InstallLaterVersionPrompt
                break
            fi 
            
            #ȽD汾
            if [ $DEVELOPVERSIONINSTALLED -gt $DEVELOPVERSIONINSTALLING ]
            then
                #ѰװD汾Ž£ʾûѾװ˽µĺ̨汾Ƿ
                InstallOlderVersionPrompt
                break
            elif [ $DEVELOPVERSIONINSTALLED -lt $DEVELOPVERSIONINSTALLING ]
            then
                #ѰװD汾ŽϣҪȽSP汾ֱӸǰװ
                InstallLaterVersionPrompt
                break
            fi
            
            #ȽSP汾
            if [ $SPVERSIONINSTALLED -gt $SPVERSIONINSTALLING ]
            then
                #ѰװSP汾Ž£ʾûѾװ˽µĺ̨汾Ƿ
                InstallOlderVersionPrompt
                break
            elif [ $SPVERSIONINSTALLED -lt $SPVERSIONINSTALLING ]
            then
                #ѰװSP汾ŽϣֱӸǰװ
                InstallLaterVersionPrompt
                break
            fi
            
            #ߵʾа汾һ£ʾǷ񸲸
            InstallSameVersionPrompt
            break
        done

        INSTALLPATH=`egrep "^path=" $CONFIG_FILE | awk -F  '=' '{print $2}'`
        
    else
        #밲װĿ¼
        echo -e "\n ${LPlsInputInstallPath[${LANGCODE}]}[${INSTALLPATH}]: \c"
        read ANS
        : ${ANS:="${INSTALLPATH}"}
        INSTALLPATH=${ANS}
        
        #Ŀ¼ĺϷ
        if [[ ${INSTALLPATH} != /* ]]
        then
            echo -e "\n${LInstallPath[${LANGCODE}]} ${LIllegal[${LANGCODE}]}"
            DisplayEndMsg
            exit
        fi
        
        #ʹװĿ¼
        if [  -d "${INSTALLPATH}" ]
        then
            INSTALLPATH=${INSTALLPATH}/${SOFTWARENAME}
        fi
    fi
    
    #װĿ¼
    if [ ! -d "${INSTALLPATH}" ]
    then
        mkdir ${INSTALLPATH}
    fi
    if [ ! -d "${INSTALLPATH}" ]
    then
        echo -e "\n${LCanNotCreateDir[${LANGCODE}]}: ${INSTALLPATH}"
        DisplayEndMsg
        exit
    fi

    echo -e "\n${LLocalPath[${LANGCODE}]}: ${INSTALLPATH}"
}

InstallLaterVersionPrompt()
{
    #°汾ʾǷ	
    yes_or_no "\n${LInstallingVersionLaterThenInstalled[${LANGCODE}]}?" Y
    if [ ${?} -ne 0 ]
    then
        DisplayEndMsg
        exit
    fi
}

InstallSameVersionPrompt()
{
    #ǰѾװ̨ʾǷ񸲸	
    yes_or_no "\n${LOverwriteInstalled[${LANGCODE}]}?" Y
    if [ ${?} -ne 0 ]
    then
        DisplayEndMsg
        exit
    fi
}

InstallOlderVersionPrompt()
{
    #װİ汾ϵͳеİ汾ɣʾ
    yes_or_no "\n${LInstallingVersionOlderThenInstalled[${LANGCODE}]}?" N
    if [ ${?} -ne 0 ]
    then
        DisplayEndMsg
        exit
    fi
}

InstallDifferentVersionPrompt()
{
    #ǰѾװ̨ʾǷ񸲸	
    yes_or_no "\n${LOverwriteInstalled[${LANGCODE}]}?" Y
    if [ ${?} -ne 0 ]
    then
        DisplayEndMsg
        exit
    fi
}

#begin xkf21619 added 20101203
#޸⣺Ubuntu10.04ϵͳ£װϵͳ󣬺̨˵ʧ
#ԭ	Ubuntu10.04ϵͳ˲˵ƣÿȡ˵ʱȡ/usr/share/applications뵱ǰϵͳƥdesktop.*.cacheеϢ
#	(desktop.*.cacheļֻһ):en_US.utf8£ȡdesktop.en_US.utf8.cacheеĲ˵Ϣ
WriteMenuCacheInfo()
{
    #find the .cache file, the file is used for cache the menus, * instead of language type, such as en_US.utf8
    for CACHE_FILE in ls /usr/share/applications/desktop.*.cache
    do
        if [ -f ${CACHE_FILE} ]; then
            #"#begin MobilePartner""#end MobilePartner"̨˵Ϣı־Աжʱɾ
            echo "#begin MobilePartner" >> ${CACHE_FILE}
		
            echo "[MobilePartner]" >> ${CACHE_FILE}
            echo "Categories=Application;Network" >> ${CACHE_FILE}
            echo "Comment=${SOFTWARENAMEINDESKTOP} Applications" >> ${CACHE_FILE}
            echo "Comment[en]=${SOFTWARENAMEINDESKTOP} Applications" >> ${CACHE_FILE}
            echo "Encoding=UTF-8" >> ${CACHE_FILE}
            echo "Name=${SOFTWARENAMEINDESKTOP}" >> ${CACHE_FILE}
            echo "Name[en]=${SOFTWARENAMEINDESKTOP}" >> ${CACHE_FILE}
            echo "Terminal=false" >> ${CACHE_FILE}
            echo "Type=Application" >> ${CACHE_FILE}
            echo "Exec=${INSTALLPATH}/MobilePartner" >> ${CACHE_FILE}
            echo "Icon=${INSTALLPATH}/mobile.png" >> ${CACHE_FILE}
            echo "Path=${INSTALLPATH}" >> ${CACHE_FILE}
            echo "" >> ${CACHE_FILE}

            echo "[UninstallMobilePartner]" >> ${CACHE_FILE}
            echo "Categories=Application;Network" >> ${CACHE_FILE}
            echo "Comment=Uninstall ${SOFTWARENAMEINDESKTOP}" >> ${CACHE_FILE}
            echo "Comment[en]=Uninstall ${SOFTWARENAMEINDESKTOP}" >> ${CACHE_FILE}
            echo "Encoding=UTF-8" >> ${CACHE_FILE}
            echo "Name=Uninstall ${SOFTWARENAMEINDESKTOP}" >> ${CACHE_FILE}
            echo "Name[en]=Uninstall ${SOFTWARENAMEINDESKTOP}" >> ${CACHE_FILE}
            echo "Terminal=true" >> ${CACHE_FILE}
            echo "Type=Application" >> ${CACHE_FILE}
            echo "Exec=${INSTALLPATH}/UninstallMobilePartner" >> ${CACHE_FILE}
            echo "Icon=${INSTALLPATH}/uninstall.gif" >> ${CACHE_FILE}
            echo "Path=${INSTALLPATH}" >> ${CACHE_FILE}
		
            echo "#end MobilePartner" >> ${CACHE_FILE}
            echo "" >> ${CACHE_FILE}	 	
        fi
    done
}

#xkf21619 added 20101203 ɾdesktop.*.cacheļĻݵĴджؽű
WriteRemoveMenuCacheCodeToUnin()
{   
    echo "TEMP_FILE=\"/tmp/temp_desktop_cache_\$PPID\"" >> ./UninstallMobilePartner
    echo "for CACHE_FILE in ls /usr/share/applications/desktop.*.cache" >> ./UninstallMobilePartner
    echo "do" >> ./UninstallMobilePartner
    echo "if [ -f \${CACHE_FILE} ]; then" >> ./UninstallMobilePartner
    echo "cp -f \${CACHE_FILE} \${TEMP_FILE}" >> ./UninstallMobilePartner
    echo "fi" >> ./UninstallMobilePartner
    echo "done" >> ./UninstallMobilePartner
    echo "if [ -f \${TEMP_FILE} ]; then" >> ./UninstallMobilePartner
    echo "BEGIN=\$(sed -n \"/\\#begin MobilePartner/=\" \${TEMP_FILE})" >> ./UninstallMobilePartner
    echo "END=\$(sed -n \"/\\#end MobilePartner/=\" \${TEMP_FILE})" >> ./UninstallMobilePartner   
    echo "if [ \${BEGIN} -ge 0 -a \${END} -ge 0 ] 2>/dev/null; then" >> ./UninstallMobilePartner  
    echo "sed \"\${BEGIN},\${END}d\" \${TEMP_FILE} > \${CACHE_FILE} 2>/dev/null" >> ./UninstallMobilePartner
    echo "fi" >> ./UninstallMobilePartner
    echo "rm -f \${TEMP_FILE}" >> ./UninstallMobilePartner  
    echo "fi" >> ./UninstallMobilePartner
 }
#end xkf21619 

#װ̨
InstallMobilePartner()
{
    #   Madhu added to set the library path	
    echo -e "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${INSTALLPATH} \n export LD_LIBRARY_PATH \n" > ${HOME}/.bash_profile

    echo -e -n "\n${LStartInstallPartner[${LANGCODE}]}"
    
    cd "${INSTALLPATH}"
#ڰװ·½ѹװ   
#    tar jxf ${TEMPWORKPATH}/MobilePartner.tar.bz2 >/dev/null 2>&1
    "${TEMPWORKPATH}/7zr" x -y ${TEMPWORKPATH}/MobilePartner.bin >/dev/null 2>&1
    "${TEMPWORKPATH}/7zr" x -y ${TEMPWORKPATH}/data.bin >/dev/null 2>&1
#    chmod -R a+w "${INSTALLPATH}"/userdata
#    chmod -R a+w "${INSTALLPATH}"/log 	
    chmod -R a+w "${INSTALLPATH}"/config 
    
#߰װű
    chmod -R a+x ./driver/*
    #./driver/install ${INSTALLPATH} >/dev/null  2>&1
    ./driver/install ${INSTALLPATH} .bin

#Joven 2009.09.03 add
#װCommMgrΪϵͳ
#    chmod +x ./CommMgr/*
#    cd CommMgr
#    ./install_CommMgr ${INSTALLPATH} >/dev/null  2>&1
#    cd ..
    
#copyļӦĿ¼

    #ļ
    chmod a+x ./sbin/*
    chmod -R a+w ./hw_pppd
    chmod -R a+x ./hw_pppd
# ubuntu10.10 cann't modem connect begin
    ./hw_pppd/sbin/install_pppd 
    rm -rf ./hw_pppd/sbin/install_pppd
    rm -rf /usr/local/hw_pppd
# ubuntu10.10 cann't modem connect end
    cp -rf ./hw_pppd /usr/local/

    #copy QT libs to Mobile Partner directory
    cp -lrf ${INSTALLPATH}/qtlib/lib*.so* ${INSTALLPATH}

    #copyҪĶ̬ļӦĿ¼
    #copy only when UpdateDog directory exists
    if [ -d ${INSTALLPATH}/UpdateDog ]
    then
        cp -lrf ${INSTALLPATH}/qtlib/lib*.so* ${INSTALLPATH}/UpdateDog
        cp -lrf ${INSTALLPATH}/plugins/imageformats/libqgif.so ${INSTALLPATH}/UpdateDog/plugins/imageformats
        cp -lrf ${INSTALLPATH}/plugins/imageformats/libqico.so ${INSTALLPATH}/UpdateDog/plugins/imageformats
    fi

#uncommenting this to create /usr/local/hw_mobile_userdata/Mobile_Partner    
    #ûļ
   if [ ! -d ${USERDATA_PATH} ]
   then
       mkdir $USERDATA_PATH
       mkdir ${USERDATA_PATH}/${SOFTWARENAME}
       #20091112 c00106366 add - create userdata folder 
       mkdir ${USERDATA_PATH}/${SOFTWARENAME}/userdata 
       # do not create userdata directory.
       # cp -rf ./userdata ${USERDATA_PATH}/${SOFTWARENAME}
       chmod -R a+w ${USERDATA_PATH}
       chmod -R a+r ${USERDATA_PATH}
   else
       #ͬƵûݣ
       if [ ! -d ${USERDATA_PATH}/${SOFTWARENAME} ]
       then
           mkdir ${USERDATA_PATH}/${SOFTWARENAME}
           #20091112 c00106366 add - create userdata folder 
           mkdir ${USERDATA_PATH}/${SOFTWARENAME}/userdata 
           # do not create userdata directory.
           # cp -rf ./userdata ${USERDATA_PATH}/${SOFTWARENAME}
           chmod -R a+w ${USERDATA_PATH}
           chmod -R a+r ${USERDATA_PATH}
       fi
   fi

   #20091112 c00106366 add - set the permission of userdata folder
   chmod -R a+rwx ${USERDATA_PATH}/${SOFTWARENAME}
   
   # create userdata/log directory for ui.
   # mkdir -p ${USERDATA_PATH}/${SOFTWARENAME}/log      
      
    #޸sudoersļ
    grep -v "MobilePartner.sh" /etc/sudoers >/tmp/${TEMPFILE} 2>&1
    DELETECOMMENT="delete requiretty for hw_mobile"
    REQUIRETTY=`grep "${DELETECOMMENT}" /tmp/${TEMPFILE}`
    if [ "x${REQUIRETTY}" != "x" ]
    then
        REQUIRETTY=`echo "${REQUIRETTY}" | awk -F ',' '{printf $2}'` 
    else
        REQUIRETTY=`grep "requiretty" /tmp/${TEMPFILE}`
        if [ "x${REQUIRETTY}" != "x" ]
        then
            sed -i "s/${REQUIRETTY}/# ,${REQUIRETTY},${DELETECOMMENT}/g" /tmp/${TEMPFILE} 2>/dev/null
        fi
    fi
    # Shashank: Defect fix AJ2D13470: Begin
    echo -e "ALL ALL=(ALL) NOPASSWD:ALL" >> /tmp/${TEMPFILE}

    # Madhu added a new batch file
    # Shashank [s72814] added to generate .bin file and to give access permissions in user mode: Begin
    # AJ2D14022 karthik exec ${INSTALLPATH}/MobilePartner.bin will now be put after the special steps for each distro.
    #echo -e "#!/bin/bash \n LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${INSTALLPATH} \n export LD_LIBRARY_PATH \n export PATH=/sbin:$PATH \n sudo LD_LIBRARY_PATH=${INSTALLPATH} \n exec ${INSTALLPATH}/MobilePartner.bin" > ${INSTALLPATH}/MobilePartner_Bat
    #DTS2010072902594 lkf26999 2010-8-9 Xserver path add to PATH
    echo -e "#!/bin/bash \n LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${INSTALLPATH} \n export LD_LIBRARY_PATH \n export PATH=/usr/bin/X11:/usr/X11R6/bin:/sbin:$PATH \n sudo LD_LIBRARY_PATH=${INSTALLPATH} \n" > ${INSTALLPATH}/MobilePartner_Bat
    #DTS2010072902594 modify end
    mv ${INSTALLPATH}/MobilePartner ${INSTALLPATH}/MobilePartner.bin
    mv ${INSTALLPATH}/MobilePartner_Bat ${INSTALLPATH}/MobilePartner

   chmod a+x ${INSTALLPATH}/MobilePartner
   chmod a+x ${INSTALLPATH}/MobilePartner.bin
   chmod 777 -R ${INSTALLPATH}/*

   # w00159557 2010-6-18 add for customization begin
   CURRENT_VERSION=$(grep VALUE "${INSTALLPATH}/SysConfig.dat" | head -n1 | cut -d = -f2 | tr -d "\015")
   VERSION_TO_REPLACE=$(grep version= "${INSTALLPATH}/RunInfo.ini" | head -n1)
   sed -e 's/'"${VERSION_TO_REPLACE}"'/version='"${CURRENT_VERSION}"'/' "${INSTALLPATH}/RunInfo.ini" > RunInfo.tmp
   mv -f RunInfo.tmp ${INSTALLPATH}/RunInfo.ini

   CURRENT_OPERATOR=$(grep operator "${INSTALLPATH}/SysConfig.dat" | head -n1 | cut -d = -f2 | tr -d "\015")
   OPERATOR_TO_REPLACE=$(grep operator= "${INSTALLPATH}/RunInfo.ini" | head -n1)
   sed -e 's/'"${OPERATOR_TO_REPLACE}"'/operator='"${CURRENT_OPERATOR}"'/' "${INSTALLPATH}/RunInfo.ini" > RunInfo.tmp
   mv -f RunInfo.tmp ${INSTALLPATH}/RunInfo.ini
   # w00159557 2010-6-18 add for customization end

   # Shashank [s72814] added to generate .bin file and to give access permissions in user mode: End
   # Shashank: Defect fix AJ2D13470: End
    cp -f /tmp/${TEMPFILE} /etc/sudoers
    

#༭ͼͿʼ˵ͼ   
    sed "s#\${HW_SOFTWARENAME}#${SOFTWARENAMEINDESKTOP}#g" ./MobilePartner.desktop > /tmp/${TEMPFILE} 2>/dev/null
    sed "s#\${HW_INSTALLPATH}#${INSTALLPATH}#g" /tmp/${TEMPFILE} > ./MobilePartner.desktop 2>/dev/null
    if [ -d /root/Desktop ]
    then
        cp -f ./MobilePartner.desktop /root/Desktop
        
    else
        cp -f ./MobilePartner.desktop /root
    fi  
    cp -f ./MobilePartner.desktop /usr/share/applications
    
#:Ubuntu10.04ϵͳ£װϵͳ󣬺̨˵ʧ xkf21619 added 20101203
    WriteMenuCacheInfo

#༭ʼ˵жͼ  
    sed "s#\${HW_SOFTWARENAME}#${SOFTWARENAMEINDESKTOP}#g" ./UninstallMobilePartner.desktop > /tmp/${TEMPFILE} 2>/dev/null
    sed "s#\${HW_INSTALLPATH}#${INSTALLPATH}#g" /tmp/${TEMPFILE} > ./UninstallMobilePartner.desktop 2>/dev/null  
    
    cp -f ./UninstallMobilePartner.desktop /usr/share/applications
    
#༭нű
    echo -e "#!/bin/bash" > ./MobilePartner.sh

# for Ubuntu
    UBUNTURELEASE=`grep Ubuntu /etc/issue 2>&1 | awk -F ' ' '{printf $1}'`
    if [ "x${UBUNTURELEASE}" = "xUbuntu" ]
    then
        if [ ! -d /usr/share/fonts/truetype/arphic ]
	then
            mkdir -p /usr/share/fonts/truetype/arphic
	fi
    fi
    
# for Debian
    DEBIANRELEASE=`grep Debian /etc/issue 2>&1 | awk -F ' ' '{printf $1}'`
    if [ "x${DEBIANRELEASE}" = "xDebian" ]
    then
        if [ ! -d /usr/share/fonts/truetype/arphic ]
	then
            mkdir -p /usr/share/fonts/truetype/arphic
	fi
    fi

# for OpenSuSE
    if [ -f /etc/SuSE-release ]
    then
        if [ ! -d /usr/share/fonts/truetype ]
	then
            mkdir -p /usr/share/fonts/truetype
	fi
        # AJ2D14022 karthik put this in our bat file.
        # echo -e "export DISPLAY=:0" >> ./MobilePartner.sh
#DTS2010062201326 w00159557 2010-10-26 modify begin
        echo -e "export DISPLAY=\$1" >> ${INSTALLPATH}/MobilePartner
    fi
if [ -z $(/usr/bin/sudo) ]
then
    echo "There is no sudo command in your system,you'd better run the software by root"
    echo "Press any key to continue..."
    read -n 1
    echo -e "#!/bin/bash \n ${INSTALLPATH}/MobilePartner \${DISPLAY}" > ${INSTALLPATH}/ReadDisplay
else
    echo -e "#!/bin/bash \n sudo ${INSTALLPATH}/MobilePartner \${DISPLAY}" > ${INSTALLPATH}/ReadDisplay
fi
chmod +x ${INSTALLPATH}/ReadDisplay
#DTS2010062201326 w00159557 2010-10-26 modify end

    
#insert hook
    if [ -d /etc/pm/sleep.d ]
    then
        cp -f ${INSTALLPATH}/sbin/67hw_hook /etc/pm/sleep.d
        chmod +x /etc/pm/sleep.d/67hw_hook
    fi


# for jre compatibility
    echo -e "export LIBXCB_ALLOW_SLOPPY_LOCK=1" >> ./MobilePartner.sh

    # Shashank [s72814]: added for executing MobilePartner.bin file from MobilePartner.sh file: Begin
    echo -e "APPDIR=${INSTALLPATH}" >> ./MobilePartner.sh
    echo -e "cd \${APPDIR}" >> ./MobilePartner.sh
    echo -e "\${APPDIR}/MobilePartner.bin &" >> ./MobilePartner.sh

    # AJ2D14022 karthik now put the executable 
    echo -e "exec ${INSTALLPATH}/MobilePartner.bin" >> ${INSTALLPATH}/MobilePartner

    # Shashank [s72814]: added for executing MobilePartner.bin file from MobilePartner.sh file: End
    chmod +x ./MobilePartner.sh
    chmod a+x ./MobilePartner
        
#༭жؽű
    sed -i "s/{LYouMustBeRoot}/${LYouMustBeRoot[${LANGCODE}]}/g" ./UninstallMobilePartner
    sed -i "s/{LInstallEnd}/${LInstallEnd[${LANGCODE}]}/g" ./UninstallMobilePartner
    sed -i "s/{LProgramRunning}/${LProgramRunning[${LANGCODE}]}/g" ./UninstallMobilePartner
    sed -i "s#{HOOK_FILE}#${HOOK_FILE}#g" ./UninstallMobilePartner
    sed -i "s#{INSTALLPATH}#${INSTALLPATH}#g" ./UninstallMobilePartner
    sed -i "s#{CONFIG_FILE}#${CONFIG_FILE}#g" ./UninstallMobilePartner
    if [ "x${REQUIRETTY}" != "x" ]
    then
        sed -i "s/{REQUIRETTY}/${REQUIRETTY}/g" ./UninstallMobilePartner
	sed -i "s/{DELETECOMMENT}/${DELETECOMMENT}/g" ./UninstallMobilePartner
    else
        grep -v {REQUIRETTY} ./UninstallMobilePartner > /tmp/${TEMPFILE}
	cp -f /tmp/${TEMPFILE} ./UninstallMobilePartner
    fi
    
    chmod +x ./UninstallMobilePartner
    
    #xkf21619 added 20101203 ޸⣺Ubuntu10.04ϵͳ£װϵͳ󣬺̨˵ʧ
    WriteRemoveMenuCacheCodeToUnin

    DonePrompt "${LStartInstallPartner[${LANGCODE}]}"

    #echo -e "\n${SOFTWARENAMEINDESKTOP} ${LCompleteInstallPartner[${LANGCODE}]} ${INSTALLPATH}"
    
    #20100104 c00106366 add
    #After install succeed, create a new file to let onlineupdate know it's finished
    #This file should be delete by onlineupdate program
    touch "${USERDATA_PATH}/${SOFTWARENAME}/userdata/install.flg"

    #ļ
#    rm -rf ./userdata
    rm -rf ./hw_pppd
    rm -rf ./*.desktop

    rm -f /tmp/${TEMPFILE}
    rm -rf ${TEMPWORKPATH}
    #DTS2010062201326 w00159557 2010-10-26 add begin
    chmod 777 ${INSTALLPATH}
    #DTS2010062201326 w00159557 2010-10-26 add end
}

DonePrompt()
{
    LOGCHARNUM=`echo "$1" | wc -m`
    TERMCHARNUM=`stty size | awk -F ' ' '{printf $2}'`
    LOGCHARNUM=`expr $TERMCHARNUM - $LOGCHARNUM`
    echo "[ done ] " | awk '{printf "%"'"$LOGCHARNUM"'"s", $0}'
    echo -e ""
}


# /*ṩѡ*/
SelectLanguage()
{
    while :
    do
        case ${LANGCODE} in
            0)
                echo -e "\n\t1. "
                echo -e "\t2. Ӣ"
                echo -e "\n\tѡ: [1]\c"
                read RESP
                : ${RESP:="1"}
            ;;
            *)
                echo -e "\n\t1. Simplified Chinese"
                echo -e "\t2. English"
                echo -e "\n\tPlease select Language: [2]\c"
                read RESP
                : ${RESP:="2"}
            ;;
        esac
        case ${RESP} in
            [1,2])
                LANGCODE=`expr ${RESP} - 1`
                return ${LANGCODE}
            ;;
            *)
                case ${LANGCODE} in
                    0)
                        echo -e - "\n\tѡ: 1, 2\n"
                    ;;
                    *)
                        echo -e "\n\tPlease select: 1, 2\n"
                    ;;
                esac
            ;;
        esac
    done
}

# /*ʾʱϢ*/
DisplayStartMsg()
{
    clear
}

# /*ʾʱϢ*/
DisplayEndMsg()
{
    cd "${BAKCURRENTPATH}"
    rm -rf "${TEMPWORKPATH}"
    echo -e "\n${LInstallEnd[${LANGCODE}]}"
    read -n 1
    clear
}



GenConfigFile()
{
    cd $INSTALLPATH
    echo "path=$INSTALLPATH"               > $CONFIG_FILE
    echo "name=MobilePartner"              >> $CONFIG_FILE
    echo "Exec=$INSTALLPATH/MobilePartner" >> $CONFIG_FILE
    echo "FullVersion=$FULLVERSION" >> $CONFIG_FILE
    
}



clear
CheckID
CheckRunning
#SelectLanguage
DisplayStartMsg
#ûѡװʱ²ִ뵽Ӧ÷ŵwhileѭ
PreInstall
InstallMobilePartner
GenConfigFile
#luanying add 20081229
#echo "Download Programs finished!" > "$INSTALLPATH/lib/UpdateInstall/inputLog.txt"
DisplayEndMsg
exit 0

#ûѡװ´Ч
while :
do
    echo -e - "***\t\t${LMobilePartnerInstall[${LANGCODE}]}\t\t***\n"
    echo -e - "${LPlsSelect[${LANGCODE}]}\n"
    echo -e - "\t1) ${LInstallMP[${LANGCODE}]}"
    echo -e - "\t0) ${LQuitInstall[${LANGCODE}]}\n"
    echo -e - "Choice: [0]\c"
    read RESP
    : ${RESP:="0"}
    case ${RESP} in
        1)
             PreInstall
             InstallJRE
             InstallMobilePartner
             GenConfigFile
        ;;
        0)
            DisplayEndMsg
            exit 0
        ;;
        *)
            echo -e - "${LYouMustSelect[${LANGCODE}]}1, 0"
        ;;
    esac
done
