#!/bin/bash

set -u
set -e

SCRIPTPATH=$(cd "$(dirname "$0")" && pwd)

export PATH="$SCRIPTPATH/src/tufs-mail/bin:$PATH"
export LANG="ja_JP.UTF-8"
export PYTHONPATH="/opt/osstech/lib/mailman/bin"

envdir() {
  local envdir="$1"; shift
  local envfile envname

  for envfile in "$envdir"/*; do
    [[ -f $envfile ]] || continue
    envname="${envfile##*/}"
    [[ $envname =~ ^[A-Za-z_][A-Za-z_0-9]*$ ]] || continue
    if [[ -s $envfile ]]; then
      ## Prefer external environment variables to envdir
      if eval '[[ -z ${'"$envname"'+set} ]]'; then
	IFS= read -r "$envname" <"$envfile" || return $?
	export "$envname"
      fi
    else
      unset "$envname"
    fi
  done

  return 0
}

cd "$SCRIPTPATH"
chmod 0755 tufs-mail src/tufs-mail/bin/*

envdir ./etc/env

exec \
  setpriv --reuid=mailman --regid=mailman --init-group \
  "$SCRIPTPATH/tufs-mail" \
    -importPath tufs-mail \
    -srcPath "$SCRIPTPATH/src" \
    -runMode prod \
;
