summaryrefslogtreecommitdiff
path: root/build_tools/test_kernel_git
blob: 7e11a810d7b8761029b857aa01578f4ad8cbad98 (plain)
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
#!/bin/sh

set -e

GIT_URL=git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git

usage() {
	echo "$0: -k kernel_dir setup"
	echo "$0: -k kernel_dir test <kernel_version>"
	echo "$0: -k kernel_dir test-cur <kernel_version>"
}

while getopts 'hk:' arg; do
	case "$arg" in
		k) kernel_dir="$OPTARG";;
		h) usage; exit 0;;
		*) usage; exit 1;;
	esac
done

shift $(( $OPTIND - 1 ))

command="$1"

case "$command" in
	setup) 
		# Note: this creates the directory linux-2.6 under
		# $kernel_dir . You should run 
		# "-k $kernel_dir/linux-2.6 test SOMEVERSION"
		cd $kernel_dir
		git clone $GIT_URL
		;;
	test-cur)
		ver="$2"
		make KSRC="$kernel_dir" KVERS=$ver
		;;
	test)
		ver="$2"
		tag="v$ver"
		curdir="$PWD"
		cd "$kernel_dir"
		git-checkout $tag .
		make prepare
		cd "$curdir"
		make KSRC="$kernel_dir" KVERS=$ver
		;;
	*)
		echo "$0: no such command $command. Aborting."
		usage
		exit 1
		;;
esac