Make test scripts callable from any path
[strongswan.git] / testing / scripts / build-guestkernel
1 #!/bin/bash
2
3 DIR=$(dirname `readlink -f $0`)
4 . $DIR/../testing.conf
5 . $DIR/function.sh
6
7 echo "Building guest kernel version $KERNELVERSION"
8
9 [ -f "$KERNELCONFIG" ] || die "Kernel config $KERNELCONFIG not found"
10
11 check_commands bunzip2 bzcat make wget
12
13 mkdir -p $BUILDDIR
14 cd $BUILDDIR
15
16 if [ ! -f "$KERNELTARBALL" ]
17 then
18         url=ftp://ftp.kernel.org/pub/linux/kernel/v3.x/$KERNELTARBALL
19         log_action "Downloading $url"
20         execute "wget -q $url"
21 fi
22
23 if [[ $KERNELPATCH && ! -f "$KERNELPATCH" ]]
24 then
25         url=http://download.strongswan.org/uml/$KERNELPATCH
26         log_action "Downloading $url"
27         execute "wget -q $url"
28 fi
29
30 log_action "Unpacking kernel"
31 execute "tar xjf $KERNELTARBALL"
32
33 KERNELDIR=$BUILDDIR/$KERNEL
34 cd $KERNELDIR
35
36 if [ $KERNELPATCH ]
37 then
38         log_action "Applying kernel patch"
39         bzcat ../$KERNELPATCH | patch -p1 >>$LOGFILE 2>&1
40         log_status $?
41         [ $? -eq 0 ] || exit 1
42 fi
43
44 execute "cp $KERNELCONFIG .config" 0
45
46 echo "Creating kernel configuration, you might get prompted for new parameters"
47 make oldconfig 2>&1 | tee -a $LOGFILE
48
49 log_action "Compiling the kernel"
50 execute "make -j5"