#!/bin/sh
|
#***************************************************************************
|
#time : 2024-10-09
|
#author: wuquanwei
|
#功能 : 打包升级文件,将脚本和升级包打包在一起,做成脚本文件,直接执行即可升级
|
#***************************************************************************
|
|
|
if [ $# -lt 2 ]
|
then
|
printf "Usage: ./package.sh <dir> <ver no>\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."
|