Update build-umlkernel script to new log format
[strongswan.git] / testing / scripts / build-umlkernel
1 #!/bin/bash
2 # build an UML kernel based on a vanilla kernel and UML patch
3 #
4 # Copyright (C) 2004  Eric Marchionni, Patrik Rayo
5 # Zuercher Hochschule Winterthur
6 #
7 # This program is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License as published by the
9 # Free Software Foundation; either version 2 of the License, or (at your
10 # option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
11 #
12 # This program is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 # for more details.
16
17 DIR=`dirname $0`
18 . $DIR/function.sh
19
20 [ -f $DIR/../testing.conf ] || die "Configuration file 'testing.conf' not found"
21
22 . $DIR/../testing.conf
23
24 echo "Building guest kernel version $KERNELVERSION"
25
26 [ -f "$KERNEL" ] || die "Kernel $KERNEL not found"
27 [ -f "$KERNELCONFIG" ] || die "Kernel config $KERNELCONFIG not found"
28
29 if [ $UMLPATCH ]; then
30         [ -f "$UMLPATCH" ] || die "Patch $UMLPATCH not found"
31 fi
32
33 mkdir -p $BUILDDIR
34 cd $BUILDDIR
35
36 log_action "Unpacking kernel"
37 execute "tar xjf $KERNEL"
38
39 KERNELDIR=${BUILDDIR}/linux-${KERNELVERSION}
40 ln -fs linux-${KERNELVERSION} linux
41 cd $KERNELDIR
42
43 if [ $UMLPATCH ]; then
44         log_action "Applying uml patch"
45         bzcat $UMLPATCH | patch -p1 >> $LOGFILE 2>&1
46         log_status $?
47 fi
48
49 execute "cp $KERNELCONFIG .config" 0
50
51 echo "!!"
52 echo "!! Creating kernel configuration, you might get prompted for new parameters!"
53 echo "!!"
54 make oldconfig ARCH=um 2>&1 | tee -a $LOGFILE
55
56 log_action "Compiling the kernel"
57 execute "make -j5 linux ARCH=um"
58
59 log_action "Copying kernel to '${BUILDDIR}/linux-uml-${KERNELVERSION}'"
60 execute "mv linux ${BUILDDIR}/linux-uml-${KERNELVERSION}"