guowenxue
2020-01-09 f2ad9b27bbaec2adafdbf499eee750830a762d9d
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
68
69
70
#!/bin/bash
# Description: This shell script used to generate patch file
#      Author: guowenxue <guowenxue@gmail.com>
#     Version: 1.0.0  
 
PROJ_PATH=`pwd`
 
PACK_PATH=${PROJ_PATH}/tarballs
PATCH_PATH=${PROJ_PATH}/patches
 
BOARD=fl2440
PATCH_SUFFIX=${BOARD}.patch
 
function do_clean()
{
    if [ -f .config ] ; then
        set -x
        cp .config .cfg-${BOARD}
        set +x
    fi
 
    #echo "WARNNING: Maybe need input sudo passwd here: "
    bash build.sh clean
}
 
if [ $# != 1 ] ; then
    echo "Usage: $0 [src_path]"
    printf "\nExample: \n"
    echo "$0 linux-3.0"
 
    exit ;
fi
 
 
SRC=`basename $1`
 
if [ ! -d ${SRC} ] ; then
    printf "\nERROR: ${SRC} source code not exist, exit now\n\n"
    exit
fi
 
if [ ! -f ${PACK_PATH}/${SRC}.tar.bz2 ] ; then
    printf "\nERROR: ${SRC}.tar.bz2 packet not exist, exit now\n\n"
    exit
fi
 
cd ${PROJ_PATH}
 
cd ${SRC}
do_clean
cd -
 
# rename new source code
mv ${SRC} ${SRC}-${BOARD}
 
# decompress orignal soruce code packet
tar -xjf ${PACK_PATH}/${SRC}.tar.bz2
 
# generate patch file 
if [[ $SRC =~ linux ]] ; then
    diff -Nuar -x ".gitignore" ${SRC} ${SRC}-${BOARD} > ${SRC}-${PATCH_SUFFIX}
else
    diff -Nuar ${SRC} ${SRC}-${BOARD}  > ${SRC}-${PATCH_SUFFIX}
fi
 
# remove orignal soruce code
rm -rf ${SRC}
 
# recover new source code
mv ${SRC}-${BOARD} ${SRC}