autotoolize
[m6w6/btr] / lib / btr / btr.sh
diff --git a/lib/btr/btr.sh b/lib/btr/btr.sh
deleted file mode 100755 (executable)
index d0db095..0000000
+++ /dev/null
@@ -1,276 +0,0 @@
-#!/bin/sh
-
-function help {
-       echo "btr v0.3.0, (c) Michael Wallner <mike@php.net>"
-       echo
-       echo "Usage: $(basename $0) [-hyvqcC] [<options>]"
-       echo
-       echo "    -h, --help      Display this help"
-       echo "    -y, --yes       Always assume yes"
-       echo "    -v, --verbose   Be more verbose"
-       echo "    -q, --quiet     Be more quiet"
-       echo "    -c, --clean     Clean build"
-       echo "    -C, --vcsclean  Clean repo/branch"
-       echo
-       echo "  Options:"
-       echo "    -f, --config=<file>           Read configuration from a file"
-       echo "    -s, --source=<rules>          Use the specified source ruleset"
-       echo "    -b, --build=<rules>           Use the specified build ruleset"
-       echo "    -r, --report=<rules>          Use the specifued report ruleset"
-       echo "    -T, --test=<args>             Provide test runner arguments"
-       echo "    -B, --branch=<branch>         Checkout this branch"
-       echo "    -D, --directory=<directory>   Use this directory as work root"
-       echo "    -S, --suffix=<suffix>         Append suffix to the build name"
-       echo
-       echo "  Rules format:"
-       echo "    type=argument    e.g: git=git@github.com:m6w6/btr.git"
-       echo "                          irc=irc://btr@chat.freenode.org/#btr"
-       echo "                          mail=\"-c copy@to rcpt@to\""
-       echo "                          notify-send=\"-u low\""
-       echo
-       echo "    Note though, that some rules do not use any argument."
-       echo
-       echo "  Rulesets:"
-       for ruleset in source build report
-       do
-               printf "    %10s: %s\n" $ruleset \
-                       "$(find "$LIBDIR/$ruleset" -name '*.mk' -exec basename {} .mk \; | sort | xargs)"
-       done
-       echo
-       echo "  Examples:"
-       echo 
-       echo "  Clone PHP's git, use PHP-5.5 branch, build with php ruleset and"
-       echo "  run the test suite with valgrind (-m) on a debug build and report"
-       echo "  the results with a simple OSD notification:"
-       echo "    $ btr -s git=git@php.net:php/php-src.git -B PHP-5.5 \\"
-       echo "          -b \"php=--enable-debug\" -T-m -r notify-send"
-       echo "  See also php.example.conf"
-       echo
-       echo "  Clone CURL's git (use master), build with GNU autotools"
-       echo "  ruleset which runs 'make check' and mail the report to the"
-       echo "  current user. Verbosely show all actions taken:"
-       echo "    $ btr -v -s git=https://github.com/bagder/curl.git -b gnu -r mail"
-       echo "  See also curl.example.conf"
-       echo
-       exit
-}
-
-function parseopts {
-       local shortoptions="hvqycCf:T:B:D:S:s:b:r:"
-       local longoptions="help,verbose,quiet,yes,clean,vcsclean,config:,test:,branch:,directory:,suffix:,source:,build:,report:"
-       local options=$(getopt \
-               --options "$shortoptions" \
-               --longoptions "$longoptions" \
-               -- "$@" \
-       )
-
-       if test $? -ne 0 ; then
-               help
-       fi
-       
-       eval set -- "$options"
-       
-       while test $# -gt 0
-       do
-               case "$1" in
-                       -h|--help)
-                               help
-                               ;;
-                       -v|--verbose)
-                               QUIET=false
-                               VERBOSE=true
-                               ;;
-                       -q|--quiet)
-                               QUIET=true
-                               VERBOSE=false
-                               ;;
-                       -y|--yes)
-                               FORCEYES=true
-                               ;;
-                       -c|--clean)
-                               BUILD_CLEAN=true
-                               ;;
-                       -C|--vcsclean)
-                               SOURCE_CLEAN=true
-                               ;;
-                       ####
-                       -f|--config)
-                               source "$2"
-                               shift
-                               ;;
-                       ####
-                       -B|--branch)
-                               BRANCH="$2"
-                               shift
-                               ;;
-                       -D|--directory)
-                               BTRDIR="$2"
-                               shift
-                               ;;
-                       -S|--suffix)
-                               SUFFIX="$2"
-                               shift
-                               ;;
-                       -T|--test)
-                               TEST_ARGS="$2"
-                               shift
-                               ;;
-                       ####
-                       -s|--source)
-                               case "$2" in
-                               git*)
-                                       test -z "$BRANCH" && BRANCH=master
-                                       ;;
-                               svn*)
-                                       test -z "$BRANCH" && BRANCH=trunk
-                                       ;;
-                               cvs*)
-                                       test -z "$BRANCH" && BRANCH=HEAD
-                                       ;;
-                               esac
-                               SOURCE_RULES="$(cut -d= -f1 <<<$2)"
-                               SOURCE_ARGS="$(cut -s -d= -f2- <<<$2)"
-                               shift
-                               ;;
-                       -b|--build)
-                               BUILD_RULES="$(cut -d= -f1 <<<$2)"
-                               BUILD_ARGS="$(cut -s -d= -f2- <<<$2)"
-                               shift
-                               ;;
-                       -r|--report)
-                               REPORT_RULES="$(cut -d= -f1 <<<$2)"
-                               REPORT_ARGS="$(cut -s -d= -f2- <<<$2)"
-                               shift
-                               ;;
-                       ####
-                       --)
-                               # legacy
-                               if test "$2"
-                               then
-                                       SOURCE_ARGS="$2"
-                               fi
-                               shift
-                               ;;
-               esac
-               shift
-       done
-}
-
-function error {
-       echo "$@" >&2
-       exit
-}
-
-function setup {
-       if test -z "$SOURCE_RULES" -o -z "$BUILD_RULES" -o -z "$REPORT_RULES"
-       then
-               help
-       fi
-
-       if $VERBOSE
-       then
-               QUIET_FLAG=
-               SILENT_FLAG=
-               VERBOSE_FLAG="-v"
-               SAY="echo; echo"
-       elif $QUIET
-       then
-               QUIET_FLAG="-q"
-               SILENT_FLAG="-s"
-               VERBOSE_FLAG=
-               SAY="@true"
-       else
-               QUIET_FLAG=
-               SILENT_FLAG="-s"
-               VERBOSE_FLAG=
-               SAY="@echo"
-       fi
-       
-       export QUIET VERBOSE FORCEYES QUIET_FLAG SILENT_FLAG VERBOSE_FLAG SAY
-       
-       if test -z "$BTRDIR"
-       then
-               export BTRDIR="/tmp/btr"
-       else
-               export BTRDIR=$(realpath "$BTRDIR")
-       fi
-       
-       mkdir -p "$BTRDIR" || error "Could not create $BTRDIR"
-
-       
-       export SOURCE_RULES BUILD_RULES REPORT_RULES
-       test -z "$SOURCE_ARGS"  || export SOURCE_ARGS
-       test -z "$SOURCE_CLEAN" || export SOURCE_CLEAN
-       test -z "$BUILD_ARGS"   || export BUILD_ARGS
-       test -z "$BUILD_CLEAN"  || export BUILD_CLEAN
-       test -z "$TEST_ARGS"    || export TEST_ARGS
-       test -z "$REPORT_ARGS"  || export REPORT_ARGS
-       REPO=$(basename $(sed -re 's~^.*[/:#]~~' <<<"$SOURCE_ARGS") .git)
-       SAFE_BRANCH=$(tr ":" "_" <<<$(basename "$BRANCH"))
-       export REPO BRANCH SAFE_BRANCH
-
-       if test -z "$SUFFIX"
-       then
-               export BUILD="$REPO@$SAFE_BRANCH"
-       else
-               export BUILD="$REPO@$SAFE_BRANCH-$SUFFIX"
-       fi
-
-       export CLEAN_DIR="btr+clean-$REPO"
-       export BRANCH_DIR="btr+branch-$REPO@$SAFE_BRANCH"
-       export BUILD_DIR="btr+build-$BUILD"
-       export CONFIG_REPORT="btr+config-$BUILD-$DATE"
-       export BUILD_REPORT="btr+build-$BUILD-$DATE"
-       export TEST_REPORT="btr+tests-$BUILD-$DATE"
-       export LAST_REPORT=$(basename $(ls -t "$BTRDIR/btr+tests-$BUILD"* 2>/dev/null | head -n1) 2>/dev/null)
-       export REPORT="btr+report-$BUILD-$DATE"
-}
-
-function show_conf {
-       echo
-       echo "Configuration:"
-       echo "=============="
-       echo
-       echo "BTRDIR         = $BTRDIR"
-       echo "BINDIR         = $BINDIR"
-       echo "LIBDIR         = $LIBDIR"
-       echo
-       echo "SOURCE_RULES   = $SOURCE_RULES"
-       echo "SOURCE_ARGS    = $SOURCE_ARGS"
-       echo "SOURCE_CLEAN   = $SOURCE_CLEAN"
-       echo "BUILD_RULES    = $BUILD_RULES"
-       echo "BUILD_ARGS     = $BUILD_ARGS"
-       echo "BUILD_CLEAN    = $BUILD_CLEAN"
-       echo "TEST_ARGS      = $TEST_ARGS"
-       echo "REPORT_RULES   = $REPORT_RULES"
-       echo "REPORT_ARGS    = $REPORT_ARGS"
-       echo
-       echo "REPO           = $REPO"
-       echo "BRANCH         = $BRANCH"
-       echo "SAFE_BRANCH    = $SAFE_BRANCH"
-       echo
-       echo "CLEAN_DIR      = $CLEAN_DIR"
-       echo "BRANCH_DIR     = $BRANCH_DIR"
-       echo "BUILD_DIR      = $BUILD_DIR"
-       echo "CONFIG_REPORT  = $CONFIG_REPORT"
-       echo "BUILD_REPORT   = $BUILD_REPORT"
-       echo "TEST_REPORT    = $TEST_REPORT"
-       echo "LAST_REPORT    = $LAST_REPORT"
-       echo
-}
-
-function confirm {
-       local CONTINUE
-       echo -n "$1 (y/N) "
-       read -r CONTINUE
-       case $CONTINUE in
-               y*|Y*)
-                       echo
-                       ;;
-               *)
-                       exit -1
-                       ;;
-       esac
-}
-
-# vim: noet