#!/bin/bash
# Utility functions for use in the cartridge scripts.

function wait_for_stop {
        pid=$1
    for i in {1..300}
    do
        if `ps --pid $pid > /dev/null 2>&1`
        then
            # only print every second
            [ $((100 % 10)) -eq 0 ] && echo "Waiting for stop to finish"
            sleep .1
        else
            break
        fi
    done
}

function update-configuration {
    case "$1" in
      1.9)
        dirname $(scl enable ruby193 "which ruby") >$OPENSHIFT_RUBY_DIR/env/OPENSHIFT_RUBY_PATH_ELEMENT

        local ld_path=$(LD_LIBRARY_PATH="" scl enable ruby193 "printenv LD_LIBRARY_PATH")
        path_append $LD_LIBRARY_PATH $ld_path >$OPENSHIFT_RUBY_DIR/env/LD_LIBRARY_PATH

        local man_path=$(MANPATH="" scl enable ruby193 "printenv MANPATH")
        path_append $MANPATH $man_path >$OPENSHIFT_RUBY_DIR/env/MANPATH
        ;;

      1.8)
        rm -f $OPENSHIFT_RUBY_DIR/env/OPENSHIFT_RUBY_PATH_ELEMENT \
            $OPENSHIFT_RUBY_DIR/env/LD_LIBRARY_PATH \
            $OPENSHIFT_RUBY_DIR/env/MANPATH
        ;;
    esac
}

function parse_args {
    while :
    do
        case $1 in
            -h | --help | -\?)
                echo "usage: $0 [--version[=]<value>]"
                exit 0
                ;;
            -v | --version)
                version=$2     # You might want to check if you really got VERSION
                shift 2
                ;;
            --version=*)
                version=${1#*=}        # Delete everything up till "="
                shift
                ;;
            --) # End of all options
                shift
                break
                ;;
            -*)
                echo "WARN: Unknown option... Exiting: $1" >&2
                exit 1
                ;;
            *)  # no more options. Stop while loop
                break
                ;;
        esac
    done
}
