manage local patches
[stor4nfv.git] / src / do_patch.sh
1 #!/bin/bash
2
3 recipe=$1
4 ceph_dir=$PWD/src/ceph
5
6 if [ -n "$1" ]; then
7     echo "recipe file: $1"
8 else
9     echo "must supply one recipe file"
10     exit
11 fi
12
13 if [ ! -f "$recipe" ]; then
14     echo "recipe file $recipe doesn't exist"
15     exit
16 fi
17
18 source $recipe
19
20 echo $PROJECT
21 echo $SUMMARY
22 echo $BRANCH
23 echo $REPO
24 echo $OPTION
25
26 do_patch() {
27     echo ""
28     echo "$PROJECT do_patch"
29     cd $ceph_dir
30     if [ -d "$PROJECT" ]; then
31         rm -rf $PROJECT
32     fi
33     git clone -b $BRANCH $REPO $PROJECT
34     cd $PROJECT
35     for patch in ${SOURCES[@]}
36     do
37         echo ""
38         echo $patch
39         if [ ! -f "$ceph_dir/$patch" ]; then
40             echo "$patch doesn't exit"
41         fi
42         check_results=`patch -p1 < $ceph_dir/$patch | grep FAILED`
43         echo "command (patch -p1 < $ceph_dir/$patch) results are:"
44         echo "$check_results"
45         if [[ $check_results =~ "FAILED" ]]; then
46             echo "$patch could not be applied successfully"
47             exit
48         fi
49     done
50 }
51
52 do_patch