#!/bin/sh
exec 2>&1
exec envdir ./env sh -c '
  sv_dir=`pwd`
  ${WORKINGDIR:+cd} ${WORKINGDIR:+"$WORKINGDIR"}
  if [ -d "$CONFIGFILE" ]; then
    config_opt="-F"
  else
    config_opt="-f"
  fi
  if [ -n "$SERVICES" ]; then
    SERVICES="ldapi:/// $SERVICES"
  else
    SERVICES="ldapi:/// ldap:/// ldaps:///"
  fi
  echo "PID: $$"
  env |sort |sed "s/^/Environment: /"
  set -- \
    ${NICE:+nice} ${NICE:+-n} ${NICE:+"$NICE"} \
    ${IONICE:+ionice} ${IONICE:+-n} ${IONICE:+"$IONICE"} \
    softlimit \
      ${MEMORYLIMIT:+"-m$MEMORYLIMIT"} \
      ${DATALIMIT:+"-d$DATALIMIT"} \
      ${STACKLIMIT:+"-s$STACKLIMIT"} \
      ${OPENFILELIMIT:+"-o$OPENFILELIMIT"} \
      ${OPENFDLIMIT:+"-o$OPENFDLIMIT"} \
      ${COREFILELIMIT:+"-c$COREFILELIMIT"} \
    $DEBUGGER \
    ${SLAPD_WRAPPER_COMMAND:+"$SLAPD_WRAPPER_COMMAND" ${SLAPD_WRAPPER_OPTIONS-}} \
    "$COMMAND" \
      -d "${DEBUGLEVEL:-none}" \
      ${CONFIGFILE:+"$config_opt$CONFIGFILE"} \
      ${SERVICES:+"-h$SERVICES"} \
      ${USER:+"-u$USER"} \
      ${GROUP:+"-g$GROUP"} \
      ${SYSLOGLEVEL:+"-s$SYSLOGLEVEL"} \
      ${SYSLOGFACILITY:+"-l$SYSLOGFACILITY"} \
      $OPTIONS \
    ;
  ## ksh: Ensure that all commands in the pipeline are terminated
  wait
  echo "Execute: $@"
  exec "$@"
'
