#!/bin/sh

prefix="/usr"
exec_prefix="${prefix}"
libexecdir=`eval echo "${exec_prefix}/libexec"`
sbindir=`eval echo "${exec_prefix}/sbin"`

gluster="$sbindir"/gluster

# glusterd service autodetection

config_wanted=1
if [ "$_GLUSTERD_CALLED_" = 1 ]; then
    # OK, we know glusterd called us, no need to look for further config
    config_wanted=0
    # ... altough this conclusion should not inherit to our children
    unset _GLUSTERD_CALLED_
else
    # look for a -c option -- if present, we are already configured.

    for a in "$@"; do
        # -c found, see if it has an argument
        if [ "$one_more_arg" = 1 ]; then
            if echo "$a" | grep -qv ^-; then
                config_wanted=0
                break
            fi
            one_more_arg=0
        fi

        if [ "$a" = -c ] || [ "$a" = --config-file ]; then
            one_more_arg=1
            continue
        fi

        if echo $a | grep -qE '^(-c.|--config-file=)'; then
            config_wanted=0;
            break
        fi
    done

fi

if [ $config_wanted = 1 ]; then
    wd="`${gluster} system:: getwd`"
    if [ $? -eq 0 ]; then
        config_file="$wd/geo-replication/gsyncd.conf"
    fi
fi

if [ -z "$config_file" ]; then
    exec /usr/bin/python "$libexecdir"/glusterfs/python/syncdaemon/gsyncd.py "$@"
else
    exec /usr/bin/python "$libexecdir"/glusterfs/python/syncdaemon/gsyncd.py -c "$config_file" "$@"
fi
