#!/bin/sh # $FreeBSD$ if [ -f ${WRKDIRPREFIX}${REALCURDIR}/Makefile.inc ]; then exit fi tempfile=`mktemp -t checklist` if [ "${BATCH}" ]; then if [ "${WITH_DB3}" ]; then OPTIONS="\"DB3\"" else OPTIONS="\"NDBM\"" fi if [ "${WITH_JAVA}" ]; then OPTIONS="${OPTIONS} \"JAVA\"" fi if [ "${WITH_MYSQL}" ]; then OPTIONS="${OPTIONS} \"MySQL\"" fi if [ "${WITH_LDAP2}" ]; then OPTIONS="${OPTIONS} \"OpenLDAP2\"" elif [ "${WITH_LDAP1}" ]; then OPTIONS="${OPTIONS} \"OpenLDAP1\"" fi if [ "${OPTIONS}" != "x" ]; then OPTIONS="${OPTIONS} \"PWCHECK\"" set ${OPTIONS} fi else if [ "${WITH_DB3}" -o -f ${PREFIX}/lib/libdb3.so ] ; then SET_DB3="ON" SET_NDBM="OFF" else SET_DB3="OFF" SET_NDBM="ON" fi if [ "${WITH_JAVA}" ] ; then SET_JAVA="ON" else SET_JAVA="OFF" fi if [ "${WITH_MYSQL}" -o -f ${PREFIX}/lib/mysql/libmysqlclient.so ] ; then SET_MYSQL="ON" else SET_MYSQL="OFF" fi #Perfer LDAP2 over LDAP1 SET_LDAP1="OFF" SET_LDAP2="OFF" if [ "${WITH_LDAP2}" -o -f ${PREFIX}/lib/libldap.so.2 -a -f ${PREFIX}/lib/liblber.so.2 ] ; then SET_LDAP2="ON" elif [ "${WITH_LDAP1}" -o -f ${PREFIX}/lib/libldap.so.1 -a -f ${PREFIX}/lib/liblber.so.1 ]; then SET_LDAP1="ON" fi /usr/bin/dialog --title "Additional SASL options" --clear \ --checklist "\n\ Please select desired options:" -1 -1 16 \ NDBM "ndbm DB" ${SET_NDBM} \ DB3 "Berkeley DB, revision 3" ${SET_DB3} \ JAVA "JavaSASL [Experimental]" ${SET_JAVA} \ MySQL "MySQL password Authentication" ${SET_MYSQL} \ OpenLDAP1 "OpenLDAP 1.x password Authentication" ${SET_LDAP1} \ OpenLDAP2 "OpenLDAP 2.x password Authentication w/TLS" ${SET_LDAP2} \ PWCHECK "Use pwcheck for password Authentication" ON \ PAMPWCHECK "Use pwcheck_pam for password Authentication" OFF \ 2> $tempfile retval=$? if [ -s $tempfile ]; then set `cat $tempfile` fi rm -f $tempfile case $retval in 0) if [ -z "$*" ]; then echo "Nothing selected" OPTIONS="\"NDBM\"" set ${OPTIONS} fi ;; 1) echo "Cancel pressed." exit 1 ;; esac fi ${MKDIR} ${WRKDIRPREFIX}${REALCURDIR} exec > ${WRKDIRPREFIX}${REALCURDIR}/Makefile.inc echo "PREFIX= ${PREFIX}" while [ "$1" ]; do case $1 in \"NDBM\") if [ "${DBLIB}" ]; then echo "ndbm and db3 are mutually exclusive." > /dev/stderr rm -f ${WRKDIRPREFIX}${REALCURDIR}/Makefile.inc exit 1 fi echo "CONFIGURE_ARGS+= --with-dblib=ndbm" echo "SASLDB_NAME= sasldb.db" DBLIB=1 ;; \"DB3\") if [ "${DBLIB}" ]; then echo "ndbm and db3 are mutually exclusive." > /dev/stderr rm -f ${WRKDIRPREFIX}${REALCURDIR}/Makefile.inc exit 1 fi echo "LIB_DEPENDS+= db3.2:\${PORTSDIR}/databases/db3" echo "CONFIGURE_ARGS+= --with-dblib=berkeley" echo "SASLDB_NAME= sasldb" DBLIB=1 ;; \"JAVA\") echo "BUILD_DEPENDS+= \${LOCALBASE}/\${JAVADIR}/bin/java:\${PORTSDIR}/java/jdk13" echo "RUN_DEPENDS+= \${LOCALBASE}/\${JAVADIR}/bin/java:\${PORTSDIR}/java/jdk13" echo "USE_GMAKE= yes" echo "CONFIGURE_ARGS+= --enable-java \\" echo " --with-javabase=\${LOCALBASE}/\${JAVADIR}" echo "CONFIGURE_ENV+= JAVAC=\"\${LOCALBASE}/\${JAVADIR}/bin/javac\" \\" echo " JAVAH=\"\${LOCALBASE}/\${JAVADIR}/bin/javah\" \\" echo " JAVADOC=\"\${LOCALBASE}/\${JAVADIR}/bin/javadoc\"" echo "PLIST_SUB+= JAVASASL=\"\"" DEFJAVA=1 ;; \"MySQL\") echo "LIB_DEPENDS+= mysqlclient.10:\${PORTSDIR}/databases/mysql323-client" echo "CONFIGURE_ARGS+= --with-mysql=\${PREFIX}" MSG=1 ;; \"OpenLDAP1\") if [ "$OPENLDAP" ]; then echo "OpenLDAP1 and OpenLDAP2 are mutually exclusive." > /dev/stderr rm -f ${WRKDIRPREFIX}${REALCURDIR}/Makefile.inc exit 1 fi echo "LIB_DEPENDS+= ldap.1:\${PORTSDIR}/net/openldap" echo "LIB_DEPENDS+= lber.1:\${PORTSDIR}/net/openldap" echo "CONFIGURE_ARGS+= --with-ldap=\${PREFIX}" OPENLDAP=1 ;; \"OpenLDAP2\") if [ "$OPENLDAP" ]; then echo "OpenLDAP1 and OpenLDAP2 are mutually exclusive." > /dev/stderr rm -f ${WRKDIRPREFIX}${REALCURDIR}/Makefile.inc exit 1 fi echo "LIB_DEPENDS+= ldap.2:\${PORTSDIR}/net/openldap2" echo "LIB_DEPENDS+= lber.2:\${PORTSDIR}/net/openldap2" echo "CONFIGURE_ARGS+= --with-ldap=\${PREFIX}" OPENLDAP=1 ;; \"PWCHECK\") if [ "$PWCHECK" ]; then echo "PWCHECK or PAMPWCHECK must be choosen seperately: Defaulting to PAMPWCHECK" > /dev/stderr else echo "PWCHECK_SUB+= -e \"s;%%PWCHECK%%;pwcheck;g\"" PWCHECK=1 fi ;; \"PAMPWCHECK\") if [ "$PWCHECK" ]; then echo "PWCHECK or PAMPWCHECK must be choosen seperately: Defaulting to PWCHECK" > /dev/stderr else echo "PWCHECK_SUB+= -e \"s;%%PWCHECK%%;pwcheck_pam;g\"" PWCHECK=1 fi ;; *) echo "Invalid option(s): $*" > /dev/stderr rm -f ${WRKDIRPREFIX}${REALCURDIR}/Makefile.inc exit 1 ;; esac shift done if [ "$PWCHECK" ]; then echo "PWCHECK_SUB+= -e \"s;%%ENABLEPWCHECK%%;yes;g\"" else echo "PWCHECK_SUB+= -e \"s;%%PWCHECK%%;pwcheck;g\" \\" echo " -e \"s;%%ENABLEPWCHECK%%;no;g\"" fi if [ ! "${DEFJAVA}" ]; then echo "PLIST_SUB+= JAVASASL=\"@comment \"" fi if [ ! "${DBLIB}" ]; then echo "CONFIGURE_ARGS+= --with-dblib=ndbm" echo "SASLDB_NAME= sasldb.db" fi if [ "$OPENLDAP" ]; then echo "LDAP_MYSQL_MSG= \"See sysadmin.html in the Cyrus-SASL docs directory for informaion on using LDAP or MySQL for authentication.\"" fi