12166 resync smatch to 0.6.1-rc1-il-3
1 #!/bin/bash
2
3 PROJECT=kernel
4
5 function usage {
6 echo
7 echo "Usage: $0"
8 echo "Updates the smatch_data/ directory and builds the smatch database"
9 echo
10 exit 1
11 }
12
13 if [ "$1" = "-h" ] || [ "$1" = "--help" ] ; then
14 usage;
15 fi
16
17 SCRIPT_DIR=$(dirname $0)
18 if [ -e $SCRIPT_DIR/../smatch -a -d kernel -a -d fs ] ; then
19 CMD=$SCRIPT_DIR/../smatch
20 DATA_DIR=$SCRIPT_DIR/../smatch_data
21 else
22 echo "This script should be located in the smatch_scripts/ subdirectory of the smatch source."
23 echo "It should be run from the root of a kernel source tree."
24 exit 1
25 fi
26
27 # If someone is building the database for the first time then make sure all the
28 # required packages are installed
29 if [ ! -e smatch_db.sqlite ] ; then
30 [ -e smatch_warns.txt ] || touch smatch_warns.txt
31 if ! $DATA_DIR/db/create_db.sh -p=kernel smatch_warns.txt ; then
32 echo "Hm... Not working. Make sure you have all the sqlite3 packages"
33 echo "And the sqlite3 libraries for Perl and Python"
34 exit 1
35 fi
36 fi
37
38 BUILD_STATUS=0
39 $SCRIPT_DIR/test_kernel.sh --call-tree --info --param-mapper --spammy --data=$DATA_DIR || BUILD_STATUS=$?
40
41 for i in $SCRIPT_DIR/gen_* ; do
42 $i smatch_warns.txt -p=kernel
43 done
44
45 mv ${PROJECT}.* $DATA_DIR
46
47 $DATA_DIR/db/create_db.sh -p=kernel smatch_warns.txt
48
49 exit $BUILD_STATUS
--- EOF ---