lgq
2025-07-16 6cdf7cc83f02f12f79372797ce76bdc7e8fdc262
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/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 "MARKER:"  >> $name
cat tmp.tgz >> $name
 
rm tmp.tgz 
 
chmod +x  $name
 
echo "package done."