#!/bin/bash
#
###############################################################################
# #
# »ªÎªÖÕ¶ËÊýŸÝ¿šlinux ºóÌš×¢²áÈíŒþ #
# °æÈšÊôÓÚ»ªÎªŒŒÊõÓÐÏÞ¹«ËŸ£¬²»µÃµÁÓã¬Î¥Õ߱؟¿ #
# Huawei linux MobilePartner licensed software #
# Copyright (c) 2007-2008 by Huawei Tech. Corp. Ltd.. #
# ×÷ÕߣºÕÅǬŽº 2008.7.8 #
# #
###############################################################################
#
BAKCURRENTPATH=`pwd`
SOFTWARENAME="Connect Manager"
# 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=21.003.28.24.143
SOFTWARENAMEINDESKTOP=$SOFTWARENAME
SOFTWARENAME=$(echo $SOFTWARENAME | sed s\#\ \#_\#g)
INSTALLPATH="/usr/local/${SOFTWARENAME}"
TEMPWORKPATH="/tmp/${SOFTWARENAME}_$$"
TEMPFILE="${SOFTWARENAME}_install_$PPID"
INSTALLPATH_MTNFONT="/usr/share/fonts" #add by kf37461 for mtnfont
#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 ¹«¹²º¯Êý, yes·µ»Ø0, no·µ»Ø1*/
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
}
#°²×°ºóÌš
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
#DTS2010062201326 w00159557 2010-10-26 delete
#ÔËÐÐÇý¶¯¹€Ÿß°²×°œÅ±Ÿ
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
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
#±àŒ²¢ŽŽœš¿ªÊŒ²Ëµ¥Ð¶ÔØÍŒ±ê
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
# add by kf37461 begin for mtnfont
#cd /usr/share/fonts/truetype
if [ ! -d /usr/share/fonts/mtnfont ]
then
mkdir -p /usr/share/fonts/mtnfont
fi
cp -f "${INSTALLPATH}"/fonts/* "${INSTALLPATH_MTNFONT}"/mtnfont
# add by kf37461 end for mtnfont
fi
# for Mint
MINTRELEASE=`grep Mint /etc/issue 2>&1 | awk -F ' ' '{printf $2}'`
if [ "x${MINTRELEASE}" = "xMint" ]
then
if [ ! -d /usr/share/fonts/truetype/arphic ]
then
mkdir -p /usr/share/fonts/truetype/arphic
fi
if [ ! -d /usr/share/fonts/mtnfont ]
then
mkdir -p /usr/share/fonts/mtnfont
fi
cp -f "${INSTALLPATH}"/fonts/* "${INSTALLPATH_MTNFONT}"/mtnfont
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
# add by kf37461 begin for mtnfont
#cd /usr/share/fonts/truetype
if [ ! -d /usr/share/fonts/mtnfont ]
then
mkdir -p /usr/share/fonts/mtnfont
fi
cp -f "${INSTALLPATH}"/fonts/* "${INSTALLPATH_MTNFONT}"/mtnfont
# add by kf37461 end for mtnfont
fi
# for OpenSuSE
if [ -f /etc/SuSE-release ]
then
if [ ! -d /usr/share/fonts/truetype ]
then
mkdir -p /usr/share/fonts/truetype
fi
# add by kf37461 begin for mtnfont
if [ ! -d /usr/share/fonts/mtnfont ]
then
mkdir -p /usr/share/fonts/mtnfont
fi
cp "${INSTALLPATH}"/fonts/* "${INSTALLPATH_MTNFONT}"/mtnfont
# add by kf37461 end for mtnfont
# 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 [ ! -e /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
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:
read RESP
: ${RESP:="0"}
case ${RESP} in
1)
PreInstall
InstallJRE
InstallMobilePartner
GenConfigFile
;;
0)
DisplayEndMsg
exit 0
;;
*)
echo -e - "${LYouMustSelect[${LANGCODE}]}1, 0"
;;
esac
done