# $Id: 100-ezmlm-make 115 2004-12-22 04:59:00Z bruce $

##############
# ezmlm-make #
##############

if [ $SECT -eq 1 ]; then

  prompt "ezmlm-make (1/2):     "

# edit non-existant list
  ${EZBIN}/ezmlm-make -e -C${EZBIN}/ezmlmrc "${DIR}" "${DOT}" \
	"$LOC" "$HOST" > /dev/null 2>&1 && \
	{ ${ECHO} "ezmlm-make failed reject edit of non-existing list:"
	  exit 100; }

# make simple test list
  ${EZBIN}/ezmlm-make -C${EZBIN}/ezmlmrc "${DIR}" "${DOT}" \
	"$LOC" "$HOST" || \
	{ ${ECHO} "ezmlm-make failed to create test list"; exit 100; }

# remake simple test list which should fail
  ${EZBIN}/ezmlm-make -C${EZBIN}/ezmlmrc "${DIR}" "${DOT}" \
	"$LOC" "$HOST" >/dev/null 2>&1 && \
	{ ${ECHO} "failed to reject creation of existing list"; exit 100; }

# edit the list (add digest)
  ${EZBIN}/ezmlm-make -+d -C${EZBIN}/ezmlmrc "${DIR}" || \
	{ ${ECHO} "ezmlm-make failed to edit test list"; exit 100; }

# edit the list (add digest)
  ${MV} "${DIR}/config" "${DIR}/config~"
  ${EZBIN}/ezmlm-make -ed -C${EZBIN}/ezmlmrc "${DIR}" "$DOT" "$LOC" "$HOST" \
	>/dev/null 2>&1 || \
	{ ${ECHO} "failed without DIR/config: 0.313 bug, fixed in 0.314."
	  prompt "ezmlm-make ......     "
	  BUG="${BUG} config"
	}
  ${MV} "${DIR}/config~" "${DIR}/config"

  ${GREP} "ezmlm-weed" "${DIR}/bouncer" >/dev/null 2>&1 || \
	{ ${ECHO} "no ezmlm-weed in bouncer"; exit 100; }
  ${GREP} "ezmlm-return" "${DIR}/bouncer" >/dev/null 2>&1 || \
	{ ${ECHO} "no ezmlm-return in bouncer: 0.32 bug, fixed in 0.321."
	  prompt "ezmlm-make ......     "
	  BUG="${BUG} return"
	}
# digest/bouncer only for >=0.32
  if [ ! -f "${DIR}/digest/bouncer" ]; then
	  ${ECHO} "failed to create digest/bouncer"; exit 100;
    ${GREP} "ezmlm-weed" "${DIR}/digest/bouncer" >/dev/null 2>&1 || \
	  { ${ECHO} "no ezmlm-weed in bouncer"; exit 100; }
    ${GREP} "ezmlm-return" "${DIR}/digest/bouncer" >/dev/null 2>&1 || \
	  { ${ECHO} "no ezmlm-return in digest/bouncer: 0.32 bug, OK in 0.321."
	    prompt "ezmlm-make ......     "
	    BUG="${BUG} return"
	  }
  fi
  ${ECHO} "OK"

# Add sql files for sql testing
 RDBMS='STD'
 prompt "Using RDBMS support:  "
 if [ $USESQL ]; then
   ${EZBIN}/ezmlm-make -+6 "$SQLHOST::$SQLUSER:$PW:$DB:$TABLE" \
 	-C${EZBIN}/ezmlmrc "${DIR}"|| \
 	{ ${ECHO} "ezmlm-make failed to add SQL config info"; exit 100; }
 
   ${STRINGS} ${EZBIN}/ezmlm-sub | ${GREP} -i 'MySQL' >/dev/null 2>&1 && \
 	RDBMS='MySQL'
   ${STRINGS} ${EZBIN}/ezmlm-sub | ${GREP} -i 'libpq.' >/dev/null 2>&1 && \
 	RDBMS='PostgreSQL'
   if [ "$RDBMS" = 'STD' ]; then
 	  ${ECHO} "No recognized support. If none, will default to std dbs."
   else
 	  ${ECHO} "$RDBMS. Hope empty tables exist."
   fi
 
 else
 	${ECHO} "No."
 fi

###############################################################
# set up subscriber/moderator/sender/digest recipient account #
###############################################################
  ${MKDIR} "$SINKDIR" "$SINKDIR/new" "$SINKDIR/cur" "$SINKDIR/tmp" || \
	{ ${ECHO} "mkdir for sinkdir failed"; exit 100; }
  ${ECHO} "${SINKDIR}/" > "$DOT-$SINK"
# link for qmail version testing 
  ${ECHO} '|echo $DEFAULT >' "${DIR}/default" > "$DOT-$SINK-default"
  ${ECHO} "${SINKDIR}/" >> "$DOT-$SINK-default"

  ${MKDIR} "$MODDIR" "$MODDIR/new" "$MODDIR/cur" "$MODDIR/tmp" || \
	{ ${ECHO} "mkdir for moddir failed"; exit 100; }
  ${ECHO} "${MODDIR}/" > "$DOT-$MODACC"

  ${MKDIR} "$MANDIR" "$MANDIR/new" "$MANDIR/cur" "$MANDIR/tmp" || \
	{ ${ECHO} "mkdir for mandir failed"; exit 100; }
  ${ECHO} "${MANDIR}/" > "$DOT-$MANAG"

  ${MKDIR} "$DIGDIR" "$DIGDIR/new" "$DIGDIR/cur" "$DIGDIR/tmp" || \
	{ ${ECHO} "mkdir for digdir failed"; exit 100; }
  ${ECHO} "${DIGDIR}/" > "$DOT-$DIGGG"

fi
