# $NetBSD: INSTALL,v 1.10 2017/08/13 23:42:55 schmonz Exp $

DOCDIR=@DOCDIR@
EGDIR=@EGDIR@
PKGMANDIR=@PKGMANDIR@
QMAILDIR=@QMAILDIR@
QMAIL_QUEUE_DIR=@QMAIL_QUEUE_DIR@
QMAIL_QUEUE_EXTRA=@QMAIL_QUEUE_EXTRA@

VAR_QMAIL_DIRS="alias bin boot control doc man queue users"

case ${STAGE} in

PRE-INSTALL)
	for dir in $VAR_QMAIL_DIRS; do
		if [ -e ${QMAILDIR}/$dir ]; then
			${CAT} <<EOF
===========================================================================

ERROR: ${QMAILDIR} exists and is non-empty.

Please remove or rename it, then try again.

===========================================================================
EOF
		exit 1
		fi
	done

	if ${ECHO} ${QMAIL_QUEUE_DIR} | ${GREP} -q "^${QMAILDIR}/"; then
		${CAT} <<EOF
===========================================================================

ERROR: QMAIL_QUEUE_DIR must not be under ${QMAILDIR}.

Please adjust your definition of QMAIL_QUEUE_DIR, then try again.

===========================================================================
EOF
		exit 1
	fi

	# keep in sync with Makefile:pre-install
	${LN} -s ${PKG_SYSCONFDIR}/alias	${QMAILDIR}/alias
	${LN} -s ${PREFIX}/bin			${QMAILDIR}/bin
	${LN} -s ${EGDIR}/boot			${QMAILDIR}/boot
	${LN} -s ${PKG_SYSCONFDIR}/control	${QMAILDIR}/control
	${LN} -s ${DOCDIR}			${QMAILDIR}/doc
	${LN} -s ${PREFIX}/${PKGMANDIR}		${QMAILDIR}/man
	${LN} -s ${QMAIL_QUEUE_DIR}		${QMAILDIR}/queue
	${LN} -s ${PKG_SYSCONFDIR}/users	${QMAILDIR}/users

	;;

POST-INSTALL)
	${PREFIX}/share/qmail/setup/install-destdir
	QMAIL_SETUP_EXITCODE=$?
	if [ ${QMAIL_SETUP_EXITCODE} -ne 0 ]; then
		${CAT} <<EOF
===========================================================================

ERROR: install-destdir exited nonzero (${QMAIL_SETUP_EXITCODE}).

Permissions are likely wrong, and/or the queue may be uninitialized.

===========================================================================
EOF
		exit 1
	fi

	QMAIL_CHECK_OUTPUT=$(${PREFIX}/share/qmail/setup/instcheck 2>&1)
	if [ -n "${QMAIL_CHECK_OUTPUT}" ]; then
		${CAT} <<EOF
===========================================================================

ERROR: instcheck issued warnings:

${QMAIL_CHECK_OUTPUT}

Permissions are likely wrong, and/or the queue may be uninitialized.

===========================================================================
EOF
		exit 1
	fi

	if ! [ -z ${QMAIL_QUEUE_EXTRA} ]; then
		${CAT} <<EOF
===========================================================================

NOTE: Before using qmail, create a .qmail file corresponding with the local
user or alias "${QMAIL_QUEUE_EXTRA}" that meets the requirements for
QUEUE_EXTRA.

===========================================================================
EOF
	fi

	;;

esac
