From 2a6e20a86b4c3042c52c764bd719fcfbd7ddc800 Mon Sep 17 00:00:00 2001 From: tzafrir Date: Sat, 29 Dec 2007 23:34:16 +0000 Subject: 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 --- build_tools/test_kernel_git | 63 ++++++++++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 26 deletions(-) (limited to 'build_tools/test_kernel_git') 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 " - echo "$0: -k kernel_dir test-cur " + echo "$0: test building Zaptel vs. kernel from git" + echo "Usage:" + echo " $0 checkout Pull a kernel version into " + echo " $0 setver 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." -- cgit v1.2.3