summaryrefslogtreecommitdiff
path: root/build_tools/test_kernel_git
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2008-05-21 16:22:34 +0000
committerKevin P. Fleming <kpfleming@digium.com>2008-05-21 16:22:34 +0000
commita33ae91627f1dba54d785056ee2ea6541adfc8fa (patch)
treea18c0175ffffd84b7a504ae069f9ce160ba778c6 /build_tools/test_kernel_git
parent2f2178e2dc43ae074eb1c12f89956c9718dac807 (diff)
modules build now
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@4318 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'build_tools/test_kernel_git')
-rwxr-xr-xbuild_tools/test_kernel_git80
1 files changed, 80 insertions, 0 deletions
diff --git a/build_tools/test_kernel_git b/build_tools/test_kernel_git
new file mode 100755
index 0000000..59c196d
--- /dev/null
+++ b/build_tools/test_kernel_git
@@ -0,0 +1,80 @@
+#!/bin/sh
+
+set -e
+
+GIT_URL=git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
+CONF_FILE=build_tools/git_test.conf
+
+usage() {
+ me=`basename $0`
+ echo "$me: test building Zaptel vs. kernel from git"
+ echo "Usage:"
+ echo " $me checkout <kerneldir> Pull a kernel version into <kerneldir>"
+ echo " $me update Update (pull) the kernel tree."
+ echo " $me setver <kernel_ver> Set the kernel version"
+ echo " $me test Test-build"
+ echo ""
+ echo " $me versions [pattern] List available versions."
+}
+
+# Set a variable in $CONF_FILE
+# The format of CONF_FILE is assumed to be:
+# VAR=value
+# in shell syntax. "value" may be quoted.
+# "value should not contain a '|' character.
+set_var() {
+ var="$1"
+ val="$2"
+ if grep -q "^$var=" $CONF_FILE 2>/dev/null; then
+ sed -i -e "s|^$var=.*|$var=\"$val\"|" $CONF_FILE
+ else
+ echo "$var=\"$val\"" >>$CONF_FILE
+ fi
+}
+
+if [ -r "$CONF_FILE" ]; then . "$CONF_FILE"; fi
+
+if echo "$CONF_FILE" | grep -qv '^/'; then
+ # make CONF_FILE an absolute path:
+ CONF_FILE="$PWD/$CONF_FILE"
+fi
+
+command="$1"
+
+case "$command" in
+ checkout)
+ kernel_dir="$2"
+ cd "$kernel_dir"
+ git clone $GIT_URL
+ set_var kernel_dir "$kernel_dir/linux-2.6"
+ ;;
+ update)
+ cd "$kernel_dir"
+ git pull
+ ;;
+ versions)
+ cd "$kernel_dir"
+ git tag -l $2 | cut -c2-
+ ;;
+ setver)
+ kernel_ver="$2"
+ tag="v$kernel_ver"
+ cd "$kernel_dir"
+ git-reset --hard "$tag"
+ make defconfig prepare
+ set_var kernel_ver "$kernel_ver"
+ ;;
+ test)
+ # you can pass extra parameters to the make command in
+ # two ways:
+ # 1. Set th value of MAKE_PARAMS in git_test.conf .
+ # 2. Any extra command-line parameter.
+ shift
+ make KSRC="$kernel_dir" KVERS=$kernel_ver $MAKE_PARAMS "$@"
+ ;;
+ *)
+ echo "$0: no such command $command. Aborting."
+ usage
+ exit 1
+ ;;
+esac