#!/bin/sh
##----------------------------------------------------------------------
## Prepare config files
##----------------------------------------------------------------------
## Copyright (C) 2007-2011 The NOC Project
## See LICENSE for details
##----------------------------------------------------------------------

D_REPO=/var/repo
D_BACKUP=/var/backup
D_LOG=/var/log/noc
D_PIDDIR=$LOG
REPO=$D_REPO
BACKUP=$D_BACKUP
LOG=$D_LOG
PIDDIR=$D_PIDDIR

## Parse arguments
while getopts hr:b:l:P: o
do case "$o" in
    h)
        echo "Usage: $0 [-r <repo>] [-b <backup>] [-l <log>] [-P <pid_dir>]"
        exit 0
    ;;
    r) REPO="$OPTARG";;
    b) BACKUP="$OPTARG";;
    l) LOG="$OPTARG";;
    P) PIDDIR="$OPTARG";;
esac done

##
## Prepare sed script for path auto-discovery
##
sed_script=`mktemp /tmp/noc-sed.XXXXXX`
rm $sed_script
for cmd in ssh rsync pg_dump tar gzip smidump smilint fping dig gpg mongodump; do
    echo "s@^\\($cmd *\\)=.*\$@\\1 = "`which $cmd`'@' >> $sed_script
done
## Adjust paths in sed script
[ "$PIDDIR" != "$D_PIDDIR" ] && echo "s@pidfile = $D_PIDDIR@pidfile = $PIDDIR@" >> $sed_script
[ "$REPO" != "$D_REPO" ] && echo "s@$D_REPO@$REPO@" >> $sed_script
[ "$BACKUP" != "$D_BACKUP" ] && echo "s@$D_BACKUP@$BACKUP@" >> $sed_script
[ "$LOG" != "$D_LOG" ] && echo "s@$D_LOG@$LOG@" >> $sed_script


##
## Create configs and set up paths
##
for d in etc/*.defaults; do
    conf=`echo $d|sed 's/.defaults$/.conf/'`
    if [ ! -f $conf ]; then
        echo "    creating $conf"
        sed -f $sed_script < $d > $conf
    else
        echo "    $conf is already exists. skipping..."
    fi
done
rm $sed_script
