summaryrefslogtreecommitdiff
path: root/build_tools
diff options
context:
space:
mode:
authortzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2007-12-29 23:34:16 +0000
committertzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2007-12-29 23:34:16 +0000
commit2a6e20a86b4c3042c52c764bd719fcfbd7ddc800 (patch)
tree3a4484d4bf709d650198d40f28425d7fa421a919 /build_tools
parentddb92eb4611d5c14675273f3a6f775678c38ed2c (diff)
The script now will not require unnecessary parameters: it saves them in
build_tools/git_test.conf git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.4@3580 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'build_tools')
-rwxr-xr-xbuild_tools/test_kernel_git63
1 files changed, 37 insertions, 26 deletions
diff --git a/build_tools/test_kernel_git b/build_tools/test_kernel_git
index 7e11a81..329ae11 100755
--- a/build_tools/test_kernel_git
+++ b/build_tools/test_kernel_git
@@ -3,46 +3,57 @@
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() {
- echo "$0: -k kernel_dir setup"
- echo "$0: -k kernel_dir test <kernel_version>"
- echo "$0: -k kernel_dir test-cur <kernel_version>"
+ echo "$0: test building Zaptel vs. kernel from git"
+ echo "Usage:"
+ echo " $0 checkout <kerneldir> Pull a kernel version into <kerneldir>"
+ echo " $0 setver <kernel_version> Set the kernel version"
+ echo " $0 test test-build"
}
-while getopts 'hk:' arg; do
- case "$arg" in
- k) kernel_dir="$OPTARG";;
- h) usage; exit 0;;
- *) usage; exit 1;;
- esac
-done
+# 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=\"$value\"" >>$CONF_FILE
+ fi
+}
+
+if [ -r "$CONF_FILE" ]; then . "$CONF_FILE"; fi
-shift $(( $OPTIND - 1 ))
+if echo "$CONF_FILE" | grep -qv '^/'; then
+ # make CONF_FILE an absolute path:
+ CONF_FILE="$PWD/$CONF_FILE"
+fi
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
+ checkout)
+ kernel_dir="$2"
+ cd "$kernel_dir"
git clone $GIT_URL
+ set_ver kernel_dir "$kernel_dir/linux-2.6"
;;
- test-cur)
- ver="$2"
- make KSRC="$kernel_dir" KVERS=$ver
- ;;
- test)
- ver="$2"
- tag="v$ver"
- curdir="$PWD"
+ setver)
+ kernel_ver="$2"
+ tag="v$kernel_ver"
cd "$kernel_dir"
git-checkout $tag .
make prepare
- cd "$curdir"
- make KSRC="$kernel_dir" KVERS=$ver
+ set_var kernel_ver "$kernel_ver"
+ ;;
+ test)
+ make KSRC="$kernel_dir" KVERS=$kernel_ver
;;
*)
echo "$0: no such command $command. Aborting."