#!/bin/sh
#***************************************************************************
#time : 2024-10-09
#author: wuquanwei
#功能 : 打包升级文件,将脚本和升级包打包在一起,做成脚本文件,直接执行即可升级
#***************************************************************************
if [ $# -lt 2 ]
then
printf "Usage: ./package.sh
\n"
exit 1
fi
#***************************************************************************
TARGET_DIR=$1
time=`date '+%Y%m%d'`
name=IGD5300-v4-$time-v$2".sh"
#***************************************************************************
#head是升级包的头部脚本
#***************************************************************************
head="#!/bin/sh\n\n
touch /tmp/fzzy_upgrade\n\n
payload_offset=\$((\$(grep -na -m1 \"^MARKER:\$\" \$0|cut -d':' -f1) + 1));\n
printf \"Extracting upgrade file...\\n\"\n
tail -n +\$payload_offset \$0| tar xvzf - -C ./ || exit 1\n
echo \"Extracting done\\n\"\n\n
printf \"start upgrade...\\n\"\n
cd $TARGET_DIR/\n\n
if [ -f upgrade.sh ] \n
then \n
\tsh upgrade.sh\n
\tif [ $? -eq 0 ]\n
\tthen\n
\t\t printf \"upgrade done.\"\n
\t\t echo \"success\" > /tmp/fzzy_upgrade\n
\telse\n
\t\techo \"upgrade fault.\"\n
\tfi\n\n
else \n
echo \"upgrade.sh not found, exit.\" \n
exit 1 \n
fi\n\n
exit 0\n\n
"
#***************************************************************************
#打包命令
#***************************************************************************
tar cvzf tmp.tgz $TARGET_DIR
#echo -n $head > $name
echo -e $head > $name
echo "MARKER:" >> $name
cat tmp.tgz >> $name
rm tmp.tgz
chmod +x $name
echo "package done."