freebsd-ports/mail/courier/scripts/configure.courier
Sergei Kolobov 716bc6aa4a - Update to 0.44.2
- Fix LDAP support build problems
- CONFLICTS has been expanded
- WITH_GHOSTSCRIPT_AFPL support has been changed to honor GSPORT
- WITH_TRANSPORT+=uucp changed since uucp is no longer part of the base system
  and NOUUCP is no longer a /etc/make.conf tunable for buildworld
- WITH_EXPECT not being set now adds --disable-changepass which causes the suid
  authdaemon.passwd to not be installed.
- devel/fam dependency is now non-optional since the port will use the library
  if it finds it regardless of one's intention to use it or not.  For instance
  if libfam is installed and one doe not want it used by courier but chosses
  the WITH_LDAP support than libfam will get sucked in as well.  Then the user
  deletes fam and courier breaks because the user had no idea courier depended
  on it.  So until courier gets a configure --without-fam tunable this should
  be a mandatory dependency.
- and last but not least etc/rc.d/courier.sh startup script has been rewritten
  to work with rc.subr which allows one to move it to /etc/rc.d/courier and
  have it just work. :)

PR:		61112
Submitted by:	Yarema <yds@CoolRat.org>
2004-01-15 15:12:32 +00:00

299 lines
9.3 KiB
Bash

#!/bin/sh
# $FreeBSD: /tmp/pcvs/ports/mail/courier/scripts/Attic/configure.courier,v 1.11 2004-01-15 15:12:32 sergei Exp $
[ -f ${WRKDIRPREFIX}${CURDIR}/Makefile.inc ] && exit
tempfile=`mktemp -t checklist`
if [ -x ${PREFIX}/pgsql/bin/postgres -a ! -x ${PREFIX}/bin/postgres ]; then
PGSQLBASE=${PREFIX}/pgsql
PGSQLINCLUDES=${PGSQLBASE}/include
else
PGSQLBASE=${PREFIX}
PGSQLINCLUDES=${PGSQLBASE}/include/pgsql
fi
if [ ":${BATCH}" = ':yes' ]; then
[ ":${WITH_EXPECT}" = ':yes' ] && OPTIONS="${OPTIONS} \"Expect\""
[ ":${WITH_GNUPG}" = ':yes' ] && OPTIONS="${OPTIONS} \"GnuPG\""
[ ":${WITH_ASPELL}" = ':yes' ] && OPTIONS="${OPTIONS} \"ASpell\""
[ ":${WITH_ISPELL}" = ':yes' ] && OPTIONS="${OPTIONS} \"ISpell\""
[ ":${WITH_LDAP}" = ':yes' ] && OPTIONS="${OPTIONS} \"OpenLDAP\""
[ ":${WITH_MYSQL}" = ':yes' ] && OPTIONS="${OPTIONS} \"MySQL\""
[ ":${WITH_PGSQL}" = ':yes' ] && OPTIONS="${OPTIONS} \"PostgreSQL\""
[ ":${WITH_VPOPMAIL}" = ':yes' ] && OPTIONS="${OPTIONS} \"VPopMail\""
[ ":${WITH_PROCMAIL}" = ':yes' ] && OPTIONS="${OPTIONS} \"Procmail\""
[ ":${WITH_SENDFAX}" = ':yes' ] && OPTIONS="${OPTIONS} \"SendFax\""
[ ":${WITH_UUCP}" = ':yes' ] && OPTIONS="${OPTIONS} \"UUCP\""
[ ":${WITH_IPV6}" = ':yes' ] && OPTIONS="${OPTIONS} \"IPv6\""
[ -n "${OPTIONS}" ] && set ${OPTIONS}
else
if [ ":${WITH_EXPECT}" = ':yes' \
-o -x ${LOCALBASE}/bin/expect ]; then
SET_EXPECT="ON"
else
SET_EXPECT="OFF"
fi
if [ ":${WITH_GNUPG}" = ':yes' \
-o -x ${LOCALBASE}/bin/gpg ]; then
SET_GNUPG="ON"
else
SET_GNUPG="OFF"
fi
if [ ":${WITH_ASPELL}" = ':yes' \
-o -x ${LOCALBASE}/bin/aspell ]; then
SET_ASPELL="ON"
SET_ISPELL="OFF"
else
SET_ASPELL="OFF"
fi
if [ ":${WITH_ISPELL}" = ':yes' \
-o -x ${LOCALBASE}/bin/ispell \
-a "${SET_ASPELL}" = "OFF" ]; then
SET_ISPELL="ON"
SET_ASPELL="OFF"
else
SET_ISPELL="OFF"
fi
if [ ":${WITH_LDAP}" = ':yes' \
-o -f ${LOCALBASE}/lib/libldap.so.2 \
-a -f ${LOCALBASE}/lib/liblber.so.2 ]; then
SET_LDAP="ON"
else
SET_LDAP="OFF"
fi
if [ ":${WITH_MYSQL}" = ':yes' \
-o -f ${LOCALBASE}/lib/mysql/libmysqlclient.so.12 ]; then
SET_MYSQL="ON"
else
SET_MYSQL="OFF"
fi
if [ ":${WITH_PGSQL}" = ':yes' \
-o -f ${PGSQLBASE}/lib/libpq.so.3 ]; then
SET_PGSQL="ON"
else
SET_PGSQL="OFF"
fi
if [ ":${WITH_VPOPMAIL}" = ':yes' \
-o -f ${LOCALBASE}/vpopmail/lib/libvpopmail.a ]; then
SET_VPOPMAIL="ON" # authvchkpw and authmysql
SET_MYSQL="OFF" # are mutually exclusive
else
SET_VPOPMAIL="OFF"
fi
if [ ":${WITH_PROCMAIL}" = ':yes' \
-o -x ${LOCALBASE}/bin/procmail ]; then
SET_PROCMAIL="ON"
else
SET_PROCMAIL="OFF"
fi
if [ ":${WITH_SENDFAX}" = ':yes' \
-o -x ${LOCALBASE}/sbin/sendfax \
-a -x ${LOCALBASE}/bin/pnmscale \
-a -x ${LOCALBASE}/bin/giftopnm \
-a -x ${LOCALBASE}/bin/jpegtopnm \
-a -x ${LOCALBASE}/bin/ppmtopgm \
-a -x ${LOCALBASE}/bin/pgmtopbm \
-a -x ${LOCALBASE}/bin/pbmtog3 \
-a -x ${LOCALBASE}/bin/g3topbm \
-a -x ${LOCALBASE}/bin/pngtopnm \
-a -x ${LOCALBASE}/bin/pnmtopng \
-a -x ${LOCALBASE}/bin/gs ]; then
SET_SENDFAX="ON"
else
SET_SENDFAX="OFF"
fi
if [ ":${WITH_UUCP}" = ':yes' \
-o -x ${LOCALBASE}/bin/uux \
-o -x /usr/bin/uux ]; then
SET_UUCP="ON"
else
SET_UUCP="OFF"
fi
if [ ":${WITH_IPV6}" = ':yes' ]; then
SET_IPV6="ON"
else
SET_IPV6="OFF"
fi
/usr/bin/dialog --title "Courier configuration options" --clear \
--checklist "\n\
Please select desired options:" -1 -1 16 \
Expect "Expect support for WebMail change passwd" ${SET_EXPECT} \
GnuPG "GNU Privacy Guard support for WebMail" ${SET_GNUPG} \
ASpell "ASpell support for WebMail" ${SET_ASPELL} \
ISpell "ISpell support for WebMail" ${SET_ISPELL} \
OpenLDAP "OpenLDAP 2.x authentication support" ${SET_LDAP} \
MySQL "MySQL authentication support" ${SET_MYSQL} \
PostgreSQL "PostgreSQL authentication support" ${SET_PGSQL} \
VPopMail "VPopMail authentication support" ${SET_VPOPMAIL} \
Procmail "Procmail local delivery support" ${SET_PROCMAIL} \
SendFax "mgetty+sendfax support" ${SET_SENDFAX} \
UUCP "UUCP support" ${SET_UUCP} \
IPv6 "IPv6 support" ${SET_IPV6} \
2> ${tempfile}
retval=$?
[ -s ${tempfile} ] && set `cat ${tempfile}`
rm -f ${tempfile}
case ${retval} in
0) [ -z "$*" ] && echo "Nothing selected" ;;
1) echo "Cancel pressed." && exit 1 ;;
esac
fi
${MKDIR} ${WRKDIRPREFIX}${CURDIR}
exec > ${WRKDIRPREFIX}${CURDIR}/Makefile.inc
echo "PREFIX= ${PREFIX}"
WITH_TRANSPORT="local esmtp dsn"
WITH_EXPECT="--disable-changepass"
WITH_ISPELL="--without-ispell"
WITH_LDAP="--without-authldap"
WITH_MYSQL="--without-authmysql"
WITH_PGSQL="--without-authpgsql"
WITH_VCHKPW="--without-authvchkpw"
WITH_IPV6="--without-ipv6"
SUB_EXPECT="@comment "
SUB_FAX="@comment "
SUB_LDAP="@comment "
SUB_MYSQL="@comment "
SUB_PGSQL="@comment "
SUB_UUCP="@comment "
while [ "$1" ]; do
case $1 in
\"Expect\")
echo "BUILD_DEPENDS+= expect:\${PORTSDIR}/lang/expect"
WITH_EXPECT=""
SUB_EXPECT=""
;;
\"GnuPG\")
echo "BUILD_DEPENDS+= gpg:\${PORTSDIR}/security/gnupg"
;;
\"ASpell\")
if [ "$ISPELL" ]; then
echo "ASpell and ISpell are mutually exclusive." > /dev/stderr
rm -f ${WRKDIRPREFIX}${CURDIR}/Makefile.inc
exit 1
fi
echo "BUILD_DEPENDS+= aspell:\${PORTSDIR}/textproc/aspell"
WITH_ISPELL="--with-ispell=\${LOCALBASE}/bin/aspell"
ASPELL=1
;;
\"ISpell\")
if [ "$ASPELL" ]; then
echo "ASpell and ISpell are mutually exclusive." > /dev/stderr
rm -f ${WRKDIRPREFIX}${CURDIR}/Makefile.inc
exit 1
fi
echo "BUILD_DEPENDS+= ispell:\${PORTSDIR}/textproc/ispell"
WITH_ISPELL="--with-ispell=\${LOCALBASE}/bin/ispell"
ISPELL=1
;;
\"OpenLDAP\")
echo "USE_OPENLDAP= yes"
WITH_LDAP="--with-authldap"
PKGNAMESUFFIX="${PKGNAMESUFFIX}-ldap"
SUB_LDAP=""
;;
\"MySQL\")
if [ -f ${LOCALBASE}/vpopmail/lib/libvpopmail.a ]; then
echo "VPopMAil and MySQL are mutually exclusive." > /dev/stderr
echo "Uninstall VPopMAil if you want MySQL authentication." > /dev/stderr
rm -f ${WRKDIRPREFIX}${CURDIR}/Makefile.inc
exit 1
else
echo "USE_MYSQL= yes"
WITH_MYSQL="--with-authmysql"
WITH_MYSQL="${WITH_MYSQL} --with-mysql-libs=\${LOCALBASE}/lib/mysql"
WITH_MYSQL="${WITH_MYSQL} --with-mysql-includes=\${LOCALBASE}/include/mysql"
PKGNAMESUFFIX="${PKGNAMESUFFIX}-mysql"
SUB_MYSQL=""
fi
;;
\"PostgreSQL\")
echo "POSTGRESQL_PORT?= databases/postgresql7"
echo "LIB_DEPENDS+= pq.3:\${PORTSDIR}/\${POSTGRESQL_PORT}"
WITH_PGSQL="--with-authpgsql"
WITH_PGSQL="${WITH_PGSQL} --with-pgsql-libs=${PGSQLBASE}/lib"
WITH_PGSQL="${WITH_PGSQL} --with-pgsql-includes=${PGSQLINCLUDES}"
PKGNAMESUFFIX="${PKGNAMESUFFIX}-pgsql"
SUB_PGSQL=""
;;
\"VPopMail\")
echo "BUILD_DEPENDS+= \${LOCALBASE}/vpopmail/lib/libvpopmail.a:\${PORTSDIR}/mail/vpopmail"
WITH_VCHKPW="--with-authvchkpw"
PKGNAMESUFFIX="${PKGNAMESUFFIX}-vpopmail"
;;
\"Procmail\")
echo "BUILD_DEPENDS+= procmail:\${PORTSDIR}/mail/procmail"
;;
\"SendFax\")
echo "BUILD_DEPENDS+= sendfax:\${PORTSDIR}/comms/mgetty+sendfax"
echo "BUILD_DEPENDS+= pnmscale:\${PORTSDIR}/graphics/netpbm"
echo "BUILD_DEPENDS+= giftopnm:\${PORTSDIR}/graphics/netpbm"
echo "BUILD_DEPENDS+= jpegtopnm:\${PORTSDIR}/graphics/netpbm"
echo "BUILD_DEPENDS+= ppmtopgm:\${PORTSDIR}/graphics/netpbm"
echo "BUILD_DEPENDS+= pgmtopbm:\${PORTSDIR}/graphics/netpbm"
echo "BUILD_DEPENDS+= pbmtog3:\${PORTSDIR}/graphics/netpbm"
echo "BUILD_DEPENDS+= g3topbm:\${PORTSDIR}/graphics/netpbm"
echo "BUILD_DEPENDS+= pngtopnm:\${PORTSDIR}/graphics/netpbm"
echo "BUILD_DEPENDS+= pnmtopng:\${PORTSDIR}/graphics/netpbm"
echo "BUILD_DEPENDS+= gs:\${PORTSDIR}/\${GSPORT}"
echo "RUN_DEPENDS+= sendfax:\${PORTSDIR}/comms/mgetty+sendfax"
echo "RUN_DEPENDS+= pnmscale:\${PORTSDIR}/graphics/netpbm"
echo "RUN_DEPENDS+= giftopnm:\${PORTSDIR}/graphics/netpbm"
echo "RUN_DEPENDS+= jpegtopnm:\${PORTSDIR}/graphics/netpbm"
echo "RUN_DEPENDS+= ppmtopgm:\${PORTSDIR}/graphics/netpbm"
echo "RUN_DEPENDS+= pgmtopbm:\${PORTSDIR}/graphics/netpbm"
echo "RUN_DEPENDS+= pbmtog3:\${PORTSDIR}/graphics/netpbm"
echo "RUN_DEPENDS+= g3topbm:\${PORTSDIR}/graphics/netpbm"
echo "RUN_DEPENDS+= pngtopnm:\${PORTSDIR}/graphics/netpbm"
echo "RUN_DEPENDS+= pnmtopng:\${PORTSDIR}/graphics/netpbm"
echo "RUN_DEPENDS+= gs:\${PORTSDIR}/\${GSPORT}"
echo "WITH_FAX= yes"
WITH_TRANSPORT="${WITH_TRANSPORT} fax"
SUB_FAX=""
;;
\"UUCP\")
if [ ! -x /usr/bin/uux ]; then
echo "BUILD_DEPENDS+= uux:\${PORTSDIR}/net/freebsd-uucp"
echo "RUN_DEPENDS+= uux:\${PORTSDIR}/net/freebsd-uucp"
fi
WITH_TRANSPORT="${WITH_TRANSPORT} uucp"
SUB_UUCP=""
;;
\"IPv6\")
WITH_IPV6=""
;;
*)
echo "Invalid option(s): $*" > /dev/stderr
rm -f ${WRKDIRPREFIX}${CURDIR}/Makefile.inc
exit 1
;;
esac
shift
done
echo "CONFIGURE_ARGS+=${WITH_EXPECT}"
echo "CONFIGURE_ARGS+=${WITH_ISPELL}"
echo "CONFIGURE_ARGS+=${WITH_LDAP}"
echo "CONFIGURE_ARGS+=${WITH_MYSQL}"
echo "CONFIGURE_ARGS+=${WITH_PGSQL}"
echo "CONFIGURE_ARGS+=${WITH_VCHKPW}"
echo "CONFIGURE_ARGS+=${WITH_IPV6}"
echo "CONFIGURE_ARGS+=--with-transport='${WITH_TRANSPORT}'"
echo "PLIST_SUB+= SUB_EXPECT='${SUB_EXPECT}'"
echo "PLIST_SUB+= SUB_FAX='${SUB_FAX}'"
echo "PLIST_SUB+= SUB_LDAP='${SUB_LDAP}'"
echo "PLIST_SUB+= SUB_MYSQL='${SUB_MYSQL}'"
echo "PLIST_SUB+= SUB_PGSQL='${SUB_PGSQL}'"
echo "PLIST_SUB+= SUB_UUCP='${SUB_UUCP}'"
[ -n "${PKGNAMESUFFIX}" ] && echo "PKGNAMESUFFIX= ${PKGNAMESUFFIX}"
exit 0