#!/bin/bash
#
# Initialisierung.
#
# SYNTAX: tw_init

. ${0%/*}/tw_conf ; . ${0%/*}/tw_lib

new_db="./databases/$DATABASE"
def_db=$DATADIR/$DATABASE
def_dbsig=$DBSIGDIR/$DBSIG
def_dbback=$BACKUPDIR/$DATABASE

declare -i i=1
for cfg in $(databases); do

  echo -n "$i) $cfg..." ; i=$((i+1))
  ext="-$cfg" ; [ $cfg = $DEFDBNAME ] && unset ext
  conf=$DESTDIR/tw.config$ext

  if ! [ -e $def_db$ext ]; then
    set_entry FLAG <$conf
    if scat_dummies "${entry[@]}"; then
      # Datenbank generieren!
      db=$def_db$ext ; dbsig=$def_dbsig$ext ; dbback=$def_dbback$ext
      if $DESTDIR/tripwire --initialize --quiet --cfgfile $conf >/dev/null; then
        # Installiere Arbeitskopie...
        cp $new_db $db
        # ...zug. Signatur...
        $DESTDIR/siggen -7 $new_db >$dbsig
        # ...und Sicherheitskopie der Datenbank.
        gzip -1 -c $new_db >$dbback.gz ; gzip -t $dbback.gz
        chmod 600 $conf $db $dbsig $dbback.gz
      else
        echo -e "break. \t(--> ${0##*/}: Laufzeitfehler beim Erstellen der Datenbank!)"
      fi
      echo 'ok.'

      # Dummies einsammeln!
      rm -f ${entry[*]}
    else
      echo -e "break. \t(--> ${0##*/}: Kein Schreibrecht in $scat_dir!)"
    fi
  else
    echo -e "break. \t(--> ${0##*/}: Datenbank bereits vorhanden!)"
  fi

done

