forked from Lainports/freebsd-ports
205 lines
6.7 KiB
Bash
205 lines
6.7 KiB
Bash
#!/bin/sh
|
|
# $FreeBSD: /tmp/pcvs/ports/mail/postfix22/scripts/Attic/configure.postfix,v 1.76 2007-04-14 16:45:08 mnag Exp $
|
|
|
|
if [ -f ${WRKDIRPREFIX}${CURDIR}/Makefile.inc ]; then
|
|
exit
|
|
fi
|
|
|
|
tempfile=`/usr/bin/mktemp -t checklist`
|
|
|
|
if [ "${POSTFIX_OPTIONS}" ]; then
|
|
set ${POSTFIX_OPTIONS}
|
|
fi
|
|
|
|
for i; do
|
|
eval status_$i=ON
|
|
done
|
|
|
|
if [ -z "${BATCH}" ]; then
|
|
/usr/bin/dialog --title "Postfix configuration options" --clear \
|
|
--checklist "\n\
|
|
Please select desired options:" -1 -1 16 \
|
|
NOPCRE "DISABLE Perl Compatible Regular Expressions" "$status_NOPCRE" \
|
|
SASL2 "Cyrus SASLv2 (Simple Authentication and Security Layer)" "$status_SASL2" \
|
|
SASLKRB "If your SASL requires Kerberos select this option" "$status_SASLKRB" \
|
|
SASLKRB5 "If your SASL requires Kerberos5 select this option" "$status_SASLKRB5" \
|
|
SASLKRB5MIT "If your SASL requires MIT Kerberos5 select this option" "$status_SASLKRB5MIT" \
|
|
SPF "SPF support" "$status_SPF" \
|
|
TLS "SSL and TLS" "$status_TLS" \
|
|
BDB "Berkeley DB (select version using WITH_BDB_VER variable)" "$status_BDB" \
|
|
MySQL "MySQL map lookups (choose version with WITH_MYSQL_VER)" "$status_MySQL" \
|
|
PgSQL "PostgreSQL map lookups (choose with DEFAULT_PGSQL_VER)" "$status_PgSQL" \
|
|
OpenLDAP "OpenLDAP map lookups (choose ver. with WITH_OPENLDAP_VER)" "$status_OpenLDAP" \
|
|
CDB "CDB map lookups" "$status_CDB" \
|
|
NIS "NIS map lookups" "$status_NIS" \
|
|
VDA "VDA (Virtual Delivery Agent)" "$status_VDA" \
|
|
Test "SMTP/LMTP test server and generator" "$status_Test" \
|
|
2> $tempfile
|
|
|
|
retval=$?
|
|
|
|
if [ -s $tempfile ]; then
|
|
set `sed 's/"//g' $tempfile`
|
|
fi
|
|
rm -f $tempfile
|
|
|
|
case $retval in
|
|
0) if [ -z "$*" ]; then
|
|
echo "Nothing selected"
|
|
fi
|
|
;;
|
|
1) echo "Cancel pressed."
|
|
exit 1
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
${MKDIR} ${WRKDIRPREFIX}${CURDIR}
|
|
exec > ${WRKDIRPREFIX}${CURDIR}/Makefile.inc
|
|
|
|
echo "PREFIX= ${PREFIX}"
|
|
|
|
SUB_TEST="@comment "
|
|
SUB_SPF="@comment "
|
|
|
|
while [ "$1" ]; do
|
|
case $1 in
|
|
NOPCRE)
|
|
echo "WITHOUT_PCRE= yes"
|
|
echo "NOPCRE_SUFFIX= +nopcre"
|
|
SUB_NOPCRE=""
|
|
;;
|
|
SASL2)
|
|
echo "LIB_DEPENDS+= sasl2.2:\${PORTSDIR}/security/cyrus-sasl2"
|
|
echo "POSTFIX_CCARGS+= -DUSE_SASL_AUTH -I\${LOCALBASE}/include -I\${LOCALBASE}/include/sasl"
|
|
echo "POSTFIX_AUXLIBS+= -L\${LOCALBASE}/lib -lsasl2 -lpam -lcrypt"
|
|
echo "SASL_SUFFIX= +sasl2"
|
|
if [ -f ${LOCALBASE}/lib/libsasl2.a ]; then
|
|
if /usr/bin/nm ${LOCALBASE}/lib/libsasl2.a | grep -wq "mysql_init"; then
|
|
SASL_USE_MYSQL="YES"
|
|
fi
|
|
fi
|
|
;;
|
|
SASLKRB)
|
|
echo "POSTFIX_AUXLIBS+= -lkrb -lcrypto -lcom_err"
|
|
;;
|
|
SASLKRB5)
|
|
echo "POSTFIX_AUXLIBS+= -lkrb5 -lcrypto -lcrypt -lcom_err -lasn1 -lroken"
|
|
;;
|
|
SASLKRB5MIT)
|
|
echo "LIB_DEPENDS+= krb5.3:${PORTSDIR}/security/krb5"
|
|
echo "POSTFIX_AUXLIBS+= -Wl,--rpath,\$\${KRB5_HOME:-${LOCALBASE}}/lib -lkrb5 -lcrypto -lcrypt -lcom_err"
|
|
;;
|
|
SPF)
|
|
# see http://www.ipnet6.org/postfix/spf/
|
|
echo "LIB_DEPENDS+= spf2.1:\${PORTSDIR}/mail/libspf2-10"
|
|
echo "PATCH_SITES+= http://www.ipnet6.org/postfix/download/"
|
|
echo "PATCHFILES+= postfix-libspf2-2.2.0-5.patch"
|
|
echo "PATCH_DIST_STRIP= -p1"
|
|
echo "POSTFIX_CCARGS+= -I\${LOCALBASE}/include"
|
|
echo "POSTFIX_AUXLIBS+= -L\${LOCALBASE}/lib -lspf2"
|
|
echo "SPF_SUFFIX= +spf"
|
|
echo ""
|
|
SUB_SPF=""
|
|
;;
|
|
TLS)
|
|
echo "USE_OPENSSL= yes"
|
|
echo "POSTFIX_CCARGS+= -DUSE_TLS -I\${OPENSSLINC}"
|
|
echo "POSTFIX_AUXLIBS+= -L\${OPENSSLLIB} \${LDFLAGS} -lssl -lcrypto"
|
|
echo "TLS_SUFFIX= +tls"
|
|
;;
|
|
BDB)
|
|
echo "USE_BDB= yes"
|
|
echo "POSTFIX_CCARGS+= -I\${BDB_INCLUDE_DIR}"
|
|
echo "POSTFIX_AUXLIBS+= -L\${BDB_LIB_DIR} -l\${BDB_LIB_NAME}"
|
|
echo "DB_SUFFIX= +${BDB_LIB_NAME}"
|
|
;;
|
|
MySQL)
|
|
echo "USE_MYSQL=YES"
|
|
echo "POSTFIX_CCARGS+= -DHAS_MYSQL -I\${LOCALBASE}/include/mysql"
|
|
echo "POSTFIX_AUXLIBS+= \${LOCALBASE}/lib/mysql/libmysqlclient.a -lm -lz -lcrypt"
|
|
if [ -f ${LOCALBASE}/lib/mysql/libmysqlclient.a ]; then
|
|
if /usr/bin/nm ${LOCALBASE}/lib/mysql/libmysqlclient.a | grep -wq "SSL_new"; then
|
|
echo "USE_OPENSSL= yes"
|
|
echo "POSTFIX_CCARGS+= -I\${OPENSSLLIB}"
|
|
echo "POSTFIX_AUXLIBS+= -L\${OPENSSLLIB} \${LDFLAGS} -lssl -lcrypto"
|
|
fi
|
|
fi
|
|
echo "MYSQL_SUFFIX= +mysql"
|
|
echo "_REQUIRE+= mysql"
|
|
MYSQL_SELECTED="YES"
|
|
;;
|
|
PgSQL)
|
|
echo "USE_PGSQL=YES"
|
|
echo "POSTFIX_CCARGS+= -DHAS_PGSQL -I\${LOCALBASE}/include -I\${LOCALBASE}/pgsql/include"
|
|
echo "POSTFIX_AUXLIBS+= -L\${LOCALBASE}/lib -L\${LOCALBASE}/pgsql/lib -lpq -lcrypt"
|
|
echo "PGSQL_SUFFIX= +pgsql"
|
|
echo "_REQUIRE+= postgresql"
|
|
;;
|
|
OpenLDAP)
|
|
echo "USE_OPENLDAP=YES"
|
|
echo "POSTFIX_CCARGS+= -DHAS_LDAP -I\${LOCALBASE}/include"
|
|
echo "POSTFIX_AUXLIBS+= -L\${LOCALBASE}/lib -lldap -llber"
|
|
echo "OPENLDAP_SUFFIX= +openldap"
|
|
echo "_REQUIRE+= slapd"
|
|
echo ".if defined(WITH_OPENLDAP_VER)"
|
|
echo "WANT_OPENLDAP_VER=\${WITH_OPENLDAP_VER}"
|
|
echo ".endif"
|
|
;;
|
|
CDB)
|
|
echo "BUILD_DEPENDS+= \${LOCALBASE}/lib/libcdb.a:\${PORTSDIR}/databases/tinycdb"
|
|
echo "POSTFIX_CCARGS+= -DHAS_CDB -I\${LOCALBASE}/include"
|
|
echo "POSTFIX_AUXLIBS+= -L\${LOCALBASE}/lib -lcdb"
|
|
echo "CDB_SUFFIX= +cdb"
|
|
;;
|
|
NIS)
|
|
echo "POSTFIX_CCARGS+= -DHAS_NIS"
|
|
echo "NIS_SUFFIX= +nis"
|
|
echo "_REQUIRE+= ypserv"
|
|
;;
|
|
VDA)
|
|
echo "PATCH_SITES+= http://web.onda.com.br/nadal/postfix/VDA/"
|
|
echo "PATCHFILES+= postfix-2.2.10-vda.patch.gz"
|
|
echo "PATCH_DIST_STRIP= -p1"
|
|
;;
|
|
Test)
|
|
echo "BINTEST= qmqp-sink qmqp-source smtp-sink smtp-source"
|
|
echo "MANTEST= qmqp-sink.1 qmqp-source.1 smtp-sink.1 smtp-source.1"
|
|
echo "MAN1+= \${MANTEST}"
|
|
SUB_TEST=""
|
|
;;
|
|
*)
|
|
echo "Unknown option(s): $*" > /dev/stderr
|
|
rm -f ${WRKDIRPREFIX}${CURDIR}/Makefile.inc
|
|
exit 1
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
if [ -z "${BATCH}" ]; then
|
|
if [ "X$SASL_USE_MYSQL" != "X" ] && [ "$MYSQL_SELECTED" != "YES" ]; then
|
|
/usr/bin/dialog --yesno "Your lib SASL it is compiled with MySQL. It desires to use the MySQL?" 5 80 > /dev/stderr
|
|
if [ $? = 0 ]; then
|
|
echo "USE_MYSQL=YES"
|
|
echo "POSTFIX_CCARGS+= -DHAS_MYSQL -I\${LOCALBASE}/include/mysql"
|
|
echo "POSTFIX_AUXLIBS+= \${LOCALBASE}/lib/mysql/libmysqlclient.a -lm -lz -lcrypt"
|
|
if [ -f ${LOCALBASE}/lib/mysql/libmysqlclient.a ]; then
|
|
if /usr/bin/nm ${LOCALBASE}/lib/mysql/libmysqlclient.a | grep -wq "SSL_new"; then
|
|
echo "USE_OPENSSL= yes"
|
|
echo "POSTFIX_CCARGS+= -I\${OPENSSLLIB}"
|
|
echo "POSTFIX_AUXLIBS+= -L\${OPENSSLLIB} \${LDFLAGS} -lssl -lcrypto"
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
echo "PLIST_SUB+= SUB_TEST=\"${SUB_TEST}\""
|
|
echo "PLIST_SUB+= SUB_SPF=\"${SUB_SPF}\""
|
|
|
|
# for some reason, if we alter the pkg name this way, the first build (where
|
|
# we ask the configure questions) doesn't pick up the extensions, but
|
|
# any subsequent build will. so "make; make install" will build twice.
|
|
# don't do this for now.
|
|
#echo "PKGNAMESUFFIX= \${NOPCRE_SUFFIX}\${SASL_SUFFIX}\${DB_SUFFIX}\${MYSQL_SUFFIX}\${PGSQL_SUFFIX}\${OPENLDAP_SUFFIX}\${TLS_SUFFIX}\${NIS_SUFFIX}\${SPF_SUFFIX}"
|