# New ports collection makefile for: dspam # Date created: 3 August 2003 # Whom: Dominic Marks # # $Tecnik: ports/mail/dspam/Makefile,v 1.18 2006/06/07 23:40:55 itetcu Exp $ # $FreeBSD$ # # Note to commiters: If don't commit a maintainer patch and as a result PKGNAME # or user variables (WITH*) changes please add an entry in ${FILESDIR}/UPDATING # Thanks. PORTNAME= dspam PORTVERSION= ${PORTVER_MAJ}${SNAP_DATE} PORTREVISION= 1 CATEGORIES= mail MASTER_SITES= # set later MAINTAINER= itetcu@FreeBSD.org COMMENT= Bayesian spam filter - stable maintenance version PORTVER_MAJ= 3.6.8 #SNAP_DATE= .20060421.2101 MIN_OPTIONS_VER= ${PORTNAME}-3.6.8_1 .ifdef(SNAP_DATE) MASTER_SITES= http://sce-tindy.tecnik93.com/FreeBSD/ports/${PORTNAME}/sources/ \ http://people.tecnik93.com/~itetcu/FreeBSD/ports/${PORTNAME}/sources/ WRKSRC= ${WRKDIR}/dspam-${SNAP_DATE} .else MASTER_SITES= http://dspam.irontec.com/sources/ \ http://dspam.nuclearelephant.com/sources/ \ http://dspam.systemadministrator.org/sources/ \ http://dspam.sourceforge.net/sources/ \ http://sce-tindy.tecnik93.com/FreeBSD/ports/${PORTNAME}/sources/ .endif ## debug / log / admin options OPTIONS= SYSLOG "Logs via syslog" on OPTIONS+= DEBUG "Enable debugging logging" on OPTIONS+= VERBOSE_DEBUG "Enable debug in LOGDIR/dspam.debug" off OPTIONS+= BNR_DEBUG "Enable debug for BNR" off OPTIONS+= PREF_EXT "Preferences in database not in files" off OPTIONS+= DAEMON "Daemonize dspam; speaks LMTP or DLMTP" on # OPTIONS+= CLAMAV "Enable clamav support" on OPTIONS+= CLAMAV_DEVEL "Enable clamav support" off OPTIONS+= CLAMAV_LOCAL "RUN_DEPEND on selected clamav" on # OPTIONS+= MYSQL40 "Use MySQL 4.0.x as back-end" off OPTIONS+= MYSQL41 "Use MySQL 4.1.x as back-end" off OPTIONS+= MYSQL50 "Use MySQL 5.0.x as back-end" on OPTIONS+= MYSQL51 "Use MySQL 5.1.x as back-end" off OPTIONS+= MYSQL_COMPRESS "Compress dspam <--> MySQL" off OPTIONS+= MYSQL_LOCAL "RUN_DEPEND on selected MySQL server ver." off OPTIONS+= POSTGRESQL "Use PostgreSQL as back-end" on OPTIONS+= POSTGRESQL_LOCAL "RUN_DEPEND on PostgreSQL server" off OPTIONS+= ORACLE "Use Oracle as back-end (BROKEN)" off OPTIONS+= SQLITE2 "Use SQLite v2.x as back-end" off OPTIONS+= SQLITE3 "Use SQLite v3.x as back-end" on OPTIONS+= HASH "Use hash driver" on # OPTIONS+= LDAP "Enable recipient verification via LDAP" off # layout OPTIONS+= USER_HOMEDIR "Store user data in ~/.dspam" off OPTIONS+= TRUSTED_USERS "Disable trusted user security" off OPTIONS+= VIRT_USERS "Enable virtual users (needs SQL back-end)" off OPTIONS+= LONG_USERNAMES "Usernames longer that OS supports" off OPTIONS+= LARGE_SCALE "File structure for large scale" off OPTIONS+= DOMAIN_SCALE "File structure for multiple domains" off ## MTA and LDA OPTIONS+= CYRUS21_LDA "Use Cyrus's 2.1 deliver as LDA" off OPTIONS+= CYRUS22_LDA "Use Cyrus's 2.2 deliver as LDA" off OPTIONS+= CYRUS23_LDA "Use Cyrus's 2.3 deliver as LDA" off OPTIONS+= EXIM_LDA "Use Exim as local delivery agent" off OPTIONS+= MAILDROP_LDA "Use Maildrop as local delivery agent" off OPTIONS+= PROCMAIL_LDA "Use Procmail as local delivery agent" off OPTIONS+= SAFECAT_LDA "Use Safecat as local delivery agent" off OPTIONS+= SENDMAIL_LDA "Use Sendmail as local delivery agent" off OPTIONS+= SENDMAIL "Play nice with sendmail server" off OPTIONS+= POSTFIX_MBC "Dspam as mailbox_command in Postfix" off OPTIONS+= QMAIL "Play nice with Qmail mail server" off OPTIONS+= CGI "Install CGI (pulls in Apache or see below)" off OPTIONS+= LIGHTTPD "RUN_DEPEND on LightHTTPD, not Apache" off USE_PERL5= yes USE_AUTOTOOLS= libtool:15 USE_LDCONFIG= yes GNU_CONFIGURE= yes #CONFIGURE_ENV= LDFLAGS="-L${LOCALBASE}/lib" CONFIGURE_ENV= CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" \ CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \ LDFLAGS="-L${LOCALBASE}/lib" \ LIBS="-L${LOCALBASE}/lib ${PTHREAD_LIBS}" CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL} .ifdef(GDBS) CFLAGS+= -g -DDEBUG STRIP= .endif PKGMESSAGE= ${WRKSRC}/src/README.FreeBSD CONFLICTS= dspam-devel-[0-9]* SIGNATURE_LIFE?= 15 _VAR_DIR= /var LOG_DIR?= ${_VAR_DIR}/log/dspam LOGFILE?= ${LOG_DIR}/dspam.log DSPAM_MODE?= 4510 DSPAM_OWNER?= root DSPAM_GROUP?= mail DSPAM_ETC?= ${LOCALBASE}/etc DSPAM_HOME?= ${_VAR_DIR}/db/dspam DSPAM_HOME_OWNER?= ${DSPAM_OWNER} DSPAM_HOME_GROUP?= ${DSPAM_GROUP} DSPAM_HOME_MODE?= 0770 .include CONFIGURE_ARGS+= --sysconfdir=${DSPAM_ETC} CONFIGURE_ARGS+= --with-logdir=${LOG_DIR} PLIST_SUB+= LOG_DIR=${LOG_DIR} CONFIGURE_ARGS+= --with-dspam-home=${DSPAM_HOME} CONFIGURE_ARGS+= --with-dspam-home-owner=${DSPAM_HOME_OWNER} CONFIGURE_ARGS+= --with-dspam-home-group=${DSPAM_HOME_GROUP} CONFIGURE_ARGS+= --with-dspam-home-mode=${DSPAM_HOME_MODE} PLIST_SUB+= DSPAM_HOME=${DSPAM_HOME} CONFIGURE_ARGS+= --with-dspam-owner=${DSPAM_OWNER} CONFIGURE_ARGS+= --with-dspam-group=${DSPAM_GROUP} # we set DSPAM_MODE at the end as some LDAs want specific mode _SED_SCRIPT= -e 's,%%DOCSDIR%%,${DOCSDIR},g' \ -e 's,%%EXAMPLESDIR%%,${EXAMPLESDIR},g' \ -e 's,%%DSPAM_HOME%%,${DSPAM_HOME},g' \ -e 's,%%PORTNAME%%,${PORTNAME},g' \ -e 's,%%_VAR_DIR%%,${_VAR_DIR},g' \ -e '/^%%FreeBSD/D' \ -e '/^%%Tecnik%%/D' .ifndef(WITHOUT_SYSLOG) CONFIGURE_ARGS+= --enable-syslog .else CONFIGURE_ARGS+= --disable-syslog CONFIGURE_ARGS+= --with-logfile=${LOGFILE} .endif .ifndef(WITHOUT_DEBUG) CONFIGURE_ARGS+= --enable-debug .endif .ifdef(WITH_VERBOSE_DEBUG) CONFIGURE_ARGS+= --enable-verbose-debug .endif .ifdef(WITH_BNR_DEBUG) CONFIGURE_ARGS+= --enable-bnr-debug .endif .ifdef(WITH_PREF_EXT) CONFIGURE_ARGS+= --enable-preferences-extension .endif .ifndef(WITHOUT_DAEMON) CONFIGURE_ARGS+= --enable-daemon USE_RC_SUBR= ${PORTNAME} _SED_SCRIPT+= -e 's,%%DAEMON%%,,g' SUB_LIST+= DSPAM_HOME=${DSPAM_HOME} .else _SED_SCRIPT+= -e '/%%DAEMON%%/D' .endif .ifndef(WITHOUT_CLAMAV) CONFIGURE_ARGS+= --enable-clamav . ifndef(WITHOUT_CLAMAV_LOCAL) RUN_DEPENDS+= clamav>=0:${PORTSDIR}/security/clamav SUB_LIST+= CLAMD=clamd . else SUB_LIST+= CLAMD= . endif .endif .ifdef(WITH_CLAMAV_DEVEL) CONFIGURE_ARGS+= --enable-clamav . ifndef(WITHOUT_CLAMAV_LOCAL) RUN_DEPENDS+= clamav-devel>=0:${PORTSDIR}/security/clamav-devel SUB_LIST+= CLAMD=clamd . else SUB_LIST+= CLAMD= . endif .endif # we need to know if we are building statically or dynamicaly for the plist _DBDRV_COUNT= # blank, but defined so we can check against it #_DBDRV_ALL= pgsql_drv,ora_drv,sqlite3_drv,sqlite_drv,hash_drv,mysql_drv # above won't work because ORACLE support is broken so _DBDRV= pgsql_drv,sqlite3_drv,sqlite_drv,hash_drv,mysql_drv, .ifndef(WITHOUT_POSTGRESQL) USE_PGSQL= yes CONFIGURE_ARGS+= --with-pgsql-includes=${LOCALBASE}/include \ --with-pgsql-libraries=${LOCALBASE}/lib PLIST_SUB+= PGSQL="" #PKGNAMESUFFIX= -pgsql _DBDRV_COUNT:= ${_DBDRV_COUNT}o . if defined(WITH_POSTGRESQL_LOCAL) RUN_DEPENDS+= postgresql-server>=0:${PORTSDIR}/databases/postgresql${PGSQL_VER}-server SUB_LIST+= PGSQL=postgresql . else SUB_LIST+= PGSQL= . endif .else PLIST_SUB+= PGSQL="@comment " _DBDRV:= ${_DBDRV:S/pgsql_drv,//} .endif .if defined(WITH_ORACLE) #BUILD_DEPENDS= ${LOCALBASE}/oracle7/rdbms/lib/libnlsrtl3.a:\ # ${PORTSDIR}/databases/oracle7-client #CONFIGURE_ARGS+= --with-oracle-home= ${LOCALBASE}/oracle7 #PKGNAMESUFFIX= -oracle #_DBDRV_COUNT:= ${_DBDRV_COUNT}o #.else #_DBDRV:= ${_DBDRV:S/ora_drv,//} .endif .ifndef(WITHOUT_SQLITE3) USE_SQLITE= 3 _DBDRV_COUNT:= ${_DBDRV_COUNT}o .else _DBDRV:= ${_DBDRV:S/sqlite3_drv,//} .endif .if defined(WITH_SQLITE2) USE_SQLITE= 2 _DBDRV_COUNT:= ${_DBDRV_COUNT}o .else _DBDRV:= ${_DBDRV:S/sqlite_drv,//} .endif .if defined(USE_SQLITE) CONFIGURE_ARGS+= --with-sqlite-includes=${LOCALBASE}/include \ --with-sqlite-libraries=${LOCALBASE}/lib PLIST_SUB+= SQLITE="" .else PLIST_SUB+= SQLITE="@comment " .endif .ifndef(WITHOUT_HASH) PLIST_SUB+= HASH="" #PKGNAMESUFFIX= -css _DBDRV_COUNT:= ${_DBDRV_COUNT}o .else _DBDRV:= ${_DBDRV:S/hash_drv,//} PLIST_SUB+= HASH="@comment " .endif .ifdef(WITH_MYSQL40) WANT_MYSQL_VER= 40 #PKGNAMESUFFIX= -mysql40 .elifdef(WITH_MYSQL41) WANT_MYSQL_VER= 41 #PKGNAMESUFFIX= -mysql41 .elifndef(WITHOUT_MYSQL50) WANT_MYSQL_VER= 50 #PKGNAMESUFFIX= -mysql50 .elifdef(WITH_MYSQL51) WANT_MYSQL_VER= 51 #PKGNAMESUFFIX= -mysql51 .endif .if defined(WITH_MYSQL40) || defined(WITH_MYSQL41) || \ !defined(WITHOUT_MYSQL50) || defined(WITH_MYSQL51) USE_MYSQL= yes CONFIGURE_ARGS+= --with-mysql-includes=${LOCALBASE}/include/mysql \ --with-mysql-libraries=${LOCALBASE}/lib/mysql PLIST_SUB+= MYSQL="" _DBDRV_COUNT:= ${_DBDRV_COUNT}o . if defined(WITH_MYSQL_COMPRESS) CONFIGURE_ARGS+= --enable-client-compression . endif . if defined(WITH_MYSQL_LOCAL) RUN_DEPENDS+= mysql-server>=0:${PORTSDIR}/databases/mysql${WANT_MYSQL_VER}-server SUB_LIST+= MYSQL=mysql . else SUB_LIST+= MYSQL= . endif .else _DBDRV:= ${_DBDRV:S/mysql_drv,//} PLIST_SUB+= MYSQL="@comment " .endif # now we have all the db backends the user wants and we remove last ',' CONFIGURE_ARGS+= --with-storage-driver=${_DBDRV:S/,$//} .if ${_DBDRV_COUNT} != "o" PLIST_SUB+= DYNAMIC="" .else PLIST_SUB+= DYNAMIC="@comment " .endif .ifdef(WITH_LDAP) CONFIGURE_ARGS+= --enable-ldap USE_OPENLDAP= YES #CPPFLAGS+= -I${LOCALBASE}/include #LDFLAGS+= -lldap -llber #CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}" .endif .ifdef(WITH_USER_HOMEDIR) CONFIGURE_ARGS+= --enable-homedir .endif .ifdef(WITH_TRUSTED_USERS) CONFIGURE_ARGS+= --disable-trusted-user-security .endif .ifdef(WITH_VIRT_USERS) CONFIGURE_ARGS+= --enable-virtual-users .endif .ifdef(WITH_LONG_USERNAMES) CONFIGURE_ARGS+= --enable-long-usernames .endif .ifdef(WITH_LARGE_SCALE) CONFIGURE_ARGS+= --enable-large-scale .endif .ifdef(WITH_DOMAIN_SCALE) CONFIGURE_ARGS+= --enable-domain-scale .endif # add one 'o' here for each new LDA LDA_TOTAL_COUNT= ooooooooo # 9 LDA_COUNT= ${LDA_TOTAL_COUNT} .if defined(WITH_CYRUS21_LDA) RUN_DEPENDS+= ${LOCALBASE}/cyrus/bin/deliver:${PORTSDIR}/mail/cyrus-imapd2 CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/cyrus/bin/deliver' LDA_COUNT:= ${LDA_COUNT:S/o//} .endif .if defined(WITH_CYRUS22_LDA) RUN_DEPENDS+= ${LOCALBASE}/cyrus/bin/deliver:${PORTSDIR}/mail/cyrus-imapd22 CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/cyrus/bin/deliver' LDA_COUNT:= ${LDA_COUNT:S/o//} .endif .if defined(WITH_CYRUS23_LDA) RUN_DEPENDS+= ${LOCALBASE}/cyrus/bin/deliver:${PORTSDIR}/mail/cyrus-imapd23 CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/cyrus/bin/deliver' LDA_COUNT:= ${LDA_COUNT:S/o//} .endif .ifdef(WITH_EXIM_LDA) . ifdef(WITH_MYSQL40) || (WITH_MYSQL41) _EXIM_EXT= -mysql . elifdef(WITH_POSTGRESQL) _EXIM_EXT= -postgresql . endif RUN_DEPENDS+= exim:${PORTSDIR}/mail/exim${_EXIM_EXT} CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/sbin/exim' LDA_COUNT:= ${LDA_COUNT:S/o//} .endif .ifdef(WITH_MAILDROP_LDA) RUN_DEPENDS+= maildrop:${PORTSDIR}/mail/maildrop CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/bin/maildrop' LDA_COUNT:= ${LDA_COUNT:S/o//} .endif .ifdef(WITH_PROCMAIL_LDA) RUN_DEPENDS+= procmail:${PORTSDIR}/mail/procmail CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/bin/procmail' LDA_COUNT:= ${LDA_COUNT:S/o//} .endif .ifdef(WITH_SAFECAT_LDA) RUN_DEPENDS+= safecat:${PORTSDIR}/sysutils/safecat CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/safecat tmp new' LDA_COUNT:= ${LDA_COUNT:S/o//} .endif .ifdef(WITH_SENDMAIL_LDA) && exists(/usr/sbin/sendmail) CONFIGURE_ARGS+= --with-delivery-agent=/usr/sbin/sendmail LDA_COUNT:= ${LDA_COUNT:S/o//} .else . ifdef(WITH_SENDMAIL_LDA) && exists(${LOCALBASE}/sbin/sendmail) CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/sbin/sendmail' LDA_COUNT:= ${LDA_COUNT:S/o//} . endif .endif .ifdef(WITH_SENDMAIL) DSPAM_MODE= 4511 .endif .ifdef(WITH_POSTFIX_MBC) DSPAM_MODE= 4511 .endif .ifdef(WITH_QMAIL) DSPAM_MODE= 4511 .endif .ifdef(DSPAM_MODE) CONFIGURE_ARGS+= --with-dspam-mode=${DSPAM_MODE} .endif .ifdef(WITH_CGI) . if defined(WITH_LIGHTTPD) RUN_DEPENDS+= ${LOCALBASE}/sbin/lighttpd:${PORTSDIR}/www/lighttpd . else USE_APACHE= 1.3+ . endif LIB_DEPENDS+= gd.4:${PORTSDIR}/graphics/gd RUN_DEPENDS+= ${SITE_PERL}/mach/GD.pm:${PORTSDIR}/graphics/p5-GD RUN_DEPENDS+= ${SITE_PERL}/GD/Graph.pm:${PORTSDIR}/graphics/p5-GD-Graph RUN_DEPENDS+= ${SITE_PERL}/GD/Graph3d.pm:${PORTSDIR}/graphics/p5-GD-Graph3d RUN_DEPENDS+= ${SITE_PERL}/GD/Text.pm:${PORTSDIR}/graphics/p5-GD-TextUtil CONFIGURE_ARGS+=--enable-logging CONFIGURE_ARGS+=--enable-user-logging USE_PERL5= yes PLIST_SUB+= CGI="" CGI_PATH?= ${PREFIX}/www/vhosts/dspam _SED_SCRIPT+= -e 's/%%CGI%%//g' _SED_SCRIPT+= -e 's,%%CGI_PATH%%,${CGI_PATH},g' #SED_FILES= ${LS} ${WRKSRC}/cgi/*.pl #SED_FILES+= ${LS} $PWRKSRC}/cgi/*.cgi .else PLIST_SUB+= CGI="@comment " _SED_SCRIPT+= -e '/%%CGI%%/D' .endif MAN1= dspam.1 dspam_clean.1 dspam_dump.1 dspam_merge.1 dspam_stats.1 \ dspam_train.1 MAN3= libdspam.3 MLINKS= libdspam.3 dspam_init.3 MLINKS+= libdspam.3 dspam_create.3 MLINKS+= libdspam.3 dspam_addattribute.3 MLINKS+= libdspam.3 dspam_attach.3 MLINKS+= libdspam.3 dspam_process.3 MLINKS+= libdspam.3 dspam_getsource.3 MLINKS+= libdspam.3 dspam_destroy.3 MLINKS+= libdspam.3 dspam_detach.3 _DOCS= CHANGELOG LICENSE README README.FreeBSD RELEASE.NOTES UPGRADING _DOCSL= courier.txt exim.txt markov.txt mysql_drv.txt ora_drv.txt \ pgsql_drv.txt pop3filter.txt postfix.txt qmail.txt relay.txt \ sendmail.txt sqlite_drv.txt pre-everything:: .ifndef(MAINT) @${ECHO_CMD} "" @${ECHO_CMD} "Last ${FILESDIR}/UPDATING entry:" @${ECHO_CMD} "###########################################################################" @${SED} -n < ${FILESDIR}/UPDATING "/^# ${PKGNAME}/,/^#####/p" @${ECHO_CMD} "" @sleep 5 .endif pre-extract: check-options-version .ifndef(MAINT) @${ECHO_CMD} "" @${ECHO_CMD} "Define vars below before make-ing if you need:" @${ECHO_CMD} "" @${ECHO_CMD} "SIGNATURE_LIFE=${SIGNATURE_LIFE} (default 15)" @${ECHO_CMD} "DSPAM_OWNER=${DSPAM_OWNER} (default: root)" @${ECHO_CMD} "DSPAM_GROUP=${DSPAM_GROUP} (default: mail)" @${ECHO_CMD} "DSPAM_MODE=${DSPAM_MODE}" @${ECHO_CMD} "DSPAM_ETC=${DSPAM_ETC} (default: ${LOCALBASE}/etc" @${ECHO_CMD} "DSPAM_HOME=${DSPAM_HOME} (default: ${_VAR_DIR}/db/dspam)" @${ECHO_CMD} "DSPAM_HOME_OWNER=${DSPAM_HOME_OWNER}" @${ECHO_CMD} "DSPAM_HOME_GROUP=${DSPAM_HOME_GROUP}" @${ECHO_CMD} "DSPAM_HOME_MODE=${DSPAM_HOME_MODE} (default: 0770)" @${ECHO_CMD} "LOG_DIR=${LOG_DIR} (default: ${_VAR_DIR}/log/dspam)" . ifdef(WITHOUT_SYSLOG) @${ECHO_CMD} "LOGFILE=${LOGFILE} (default: ${_VAR_DIR}/log/dspam/dspam.log)" . endif . ifdef(WITH_CGI) @${ECHO_CMD} "Define CGI_PATH before make-ing if you need the CGI files" @${ECHO_CMD} "installed in other place that this installation's default" @${ECHO_CMD} "${PREFIX}/www/vhosts/dspam" . endif @${ECHO_CMD} "" @sleep 5 .endif post-patch: @${REINPLACE_CMD} -e 's|where @a-14 > to_days(created_on);|where @a-${SIGNATURE_LIFE} > to_days(created_on);|' \ ${WRKSRC}/src/tools.mysql_drv/purge.sql @${REINPLACE_CMD} -e 's|where @a-14 > to_days(created_on);|where @a-${SIGNATURE_LIFE} > to_days(created_on);|' \ ${WRKSRC}/src/tools.mysql_drv/purge-4.1.sql @${REINPLACE_CMD} -e 's|WHERE CURRENT_DATE - created_on > 14;|WHERE CURRENT_DATE - created_on > ${SIGNATURE_LIFE};|' \ ${WRKSRC}/src/tools.pgsql_drv/purge.sql @${REINPLACE_CMD} -e 's|where SYSDATE-created_on > 14|where SYSDATE-created_on > ${SIGNATURE_LIFE};|' \ ${WRKSRC}/src/tools.ora_drv/purge.sql @${REINPLACE_CMD} -e "s|where date('now')-date(created_on) > 14;|where date('now')-date(created_on) > ${SIGNATURE_LIFE};|" \ ${WRKSRC}/src/tools.sqlite_drv/purge-2.sql @${REINPLACE_CMD} -e "s|where julianday('now')-julianday(created_on) > 14;|where julianday('now')-julianday(created_on) > ${SIGNATURE_LIFE};|" \ ${WRKSRC}/src/tools.sqlite_drv/purge-3.sql @${REINPLACE_CMD} -e "s^%%PERL%%^${PERL}^; s^%%DSPAM_PATH%%^${PREFIX}/bin^" ${WRKSRC}/scripts/train.pl pre-configure: @${ECHO_CMD} .if !( ${LDA_TOTAL_COUNT:S/o//}==${LDA_COUNT} || ${LDA_TOTAL_COUNT}==${LDA_COUNT} ) @${ECHO_CMD} "You can only use one local delivery agent at once." @${ECHO_CMD} "See ${DSPAM_ETC}/dspam.conf for how to change it at run time." @${FALSE} .endif .if ${_DBDRV}=="" @${ECHO_CMD} @${ECHO_CMD} "You need to enable at least one database back-end." @${FALSE} .endif .if defined(WITH_VIRT_USERS) && !(defined(USE_MYSQL) || \ !defined(WITHOUT_POSTGRESQL) || defined(WITH_ORACLE) || !defined(WITHOUT_HASH) ) @${ECHO_CMD} "You need MySQL, POSTGRESQL, HASH or ORACLE for virtual users." @${FALSE} .endif .if defined(WITH_PREF_EXT) && !( defined(USE_MYSQL) || \ !defined(WITHOUT_POSTGRESQL) ) @${ECHO_CMD} "You need MySQL or Postgres for preferences extension" @${FALSE} .endif .ifndef(WITHOUT_DAEMON) && !( defined(USE_MYSQL) || \ !defined(WITHOUT_POSTGRESQL) || !defined(WITHOUT_HASH) ) @${ECHO_CMD} "You need MySQL, PostgreSQL or Hash for Daemon mode, because multithreading support is needed" @${FALSE} .endif .if ( defined(WITH_MYSQL40) && defined(WITH_MYSQL41) && !defined(WITHOUT_MYSQL50) && defined(WITH_MYSQL51)) @${ECHO_CMD} "You can compile with only one MySQL version driver." @${FALSE} .endif .if defined(WITH_LDAP) && !( defined(USE_MYSQL) || \ !defined(WITHOUT_POSTGRESQL) || defined(USE_SQLITE) ) @${ECHO_CMD} "You need MySQL, Postgres or SQLITE for LDAP." @${FALSE} .endif .if defined(WITH_USER_HOMEDIR) && defined(WITH_CGI) @${ECHO_CMD} "USER_HOMEDIR and CGI are incopatible" @${FALSE} .endif .if defined(WITH_DOMAIN_SCALE) && defined(WITH_LARGE_SCALE) @${ECHO_CMD} "DOMAIN_SCALE and LARGE_SCALE are incopatible" @${FALSE} .endif .if defined(WITH_LIGHTHTTPD) && !defined(WITH_CGI) @${ECHO_CMD} "There's no reason to depend on LightHTTPD if you're not using CGI" @${FALSE} .endif .ifdef(SNAP_DATE) @${ECHO_CMD} @${ECHO_CMD} "You can safely ignore the following auto* errors" @${ECHO_CMD} @(cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./autogen.sh) .endif post-install: ${CP} ${WRKSRC}/src/dspam.conf ${WRKSRC}/src/dspam.conf.sample cd ${WRKSRC}/src/ && \ ${INSTALL} -o ${DSPAM_OWNER} -g ${DSPAM_GROUP} -m 0640 \ dspam.conf.sample ${PREFIX}/etc ######## # stupid hack until I figure out where/how to patch @${MKDIR} ${PREFIX}/libdata/pkgconfig @${MV} ${PREFIX}/lib/pkgconfig/dspam.pc ${PREFIX}/libdata/pkgconfig/dspam.pc ${TEST} `ls -1 ${PREFIX}/lib/pkgconfig | wc -l` -eq 0 && \ ${RM} -R ${PREFIX}/lib/pkgconfig || true .ifdef(USE_MYSQL) @${MKDIR} ${EXAMPLESDIR}/mysql cd ${WRKSRC}/src/tools.mysql_drv && \ ${INSTALL_DATA} mysql_objects-4.1.sql \ mysql_objects-space.sql \ mysql_objects-speed.sql \ purge-4.1.sql purge.sql \ virtual_user_aliases.sql \ virtual_users.sql ${EXAMPLESDIR}/mysql .endif .ifndef(WITHOUT_POSTGRESQL) @${MKDIR} ${EXAMPLESDIR}/pgsql @cd ${WRKSRC}/src/tools.pgsql_drv && \ ${INSTALL_DATA} *.sql ${EXAMPLESDIR}/pgsql .endif .ifdef(USE_SQLITE) @${MKDIR} ${EXAMPLESDIR}/sqlite cd ${WRKSRC}/src/tools.sqlite_drv && \ ${INSTALL_DATA} *.sql ${EXAMPLESDIR}/sqlite .endif .ifdef(WITH_ORACLE) @${MKDIR} ${EXAMPLESDIR}/oracle cd ${WRKSRC}/src/tools.ora_drv && \ ${INSTALL_DATA} *.sql ${EXAMPLESDIR}/oracle .endif .ifdef(WITH_CGI) . for I in admin.cgi admingraph.cgi configure.pl dspam.cgi graph.cgi @${REINPLACE_CMD} -e "s,/usr/bin/perl,${PERL},g" ${WRKSRC}/webui/cgi-bin/${I} . endfor cd ${WRKSRC}/webui/cgi-bin && ${MV} configure.pl configure.pl.sample cd ${WRKSRC}/webui/cgi-bin && ${MKDIR} ${CGI_PATH} && \ ${INSTALL_SCRIPT} configure.pl.sample ${CGI_PATH}/ && \ ${INSTALL_SCRIPT} *.cgi ${CGI_PATH} && \ ${INSTALL_DATA} rgb.txt ${CGI_PATH}/ cd ${WRKSRC}/webui/htdocs && \ ${INSTALL_DATA} base.css dspam-logo-small.gif ${CGI_PATH}/ cd ${WRKSRC}/webui/cgi-bin && \ ${INSTALL_DATA} default.prefs ${CGI_PATH}/default.prefs.sample cd ${WRKSRC}/webui/cgi-bin && \ ${INSTALL_DATA} admins ${CGI_PATH}/admins.sample ${MKDIR} ${CGI_PATH}/templates && cd ${WRKSRC}/webui/cgi-bin/templates && \ ${INSTALL_DATA} *.html ${CGI_PATH}/templates/ .endif @${SED} ${_SED_SCRIPT} ${.CURDIR}/pkg-message > ${WRKSRC}/README.FreeBSD .if !defined(NOPORTDOCS) @${MKDIR} ${DOCSDIR} @cd ${WRKSRC} && ${INSTALL_DATA} ${_DOCS} ${DOCSDIR} @cd ${WRKSRC}/doc && ${INSTALL_DATA} ${_DOCSL} ${DOCSDIR} @cd ${FILESDIR} && ${INSTALL_DATA} UPDATING ${DOCSDIR}/UPDATING .endif @${MKDIR} -m ${DSPAM_HOME_MODE} ${DSPAM_HOME} @${CHOWN} ${DSPAM_HOME_OWNER}:${DSPAM_HOME_GROUP} ${DSPAM_HOME} .for _file in firstrun.txt firstspam.txt quarantinefull.txt @if ! ${TEST} -e ${WRKSRC}/txt/${_file}.sample;\ then\ cd ${WRKSRC}/txt && \ ${MV} ${_file} ${_file}.sample;\ fi cd ${WRKSRC}/txt && \ ${INSTALL_DATA} ${_file}.sample ${DSPAM_HOME} .endfor @${MKDIR} -m ${DSPAM_HOME_MODE} ${LOG_DIR} @${CAT} ${WRKSRC}/README.FreeBSD @${ECHO_CMD} "If you haven't defined NOPORTDOCS you can review this" @${ECHO_CMD} "message in ${DOCSDIR}/README.FreeBSD" @${ECHO_CMD} check-options-version: .ifdef(_OPTIONS_READ) @(if ${PKG_VERSION} -t ${_OPTIONS_READ} ${MIN_OPTIONS_VER} | ${GREP} -q '<'; \ then ${ECHO_CMD} ""; \ ${ECHO_CMD} "===> You have unsupported (old) OPTIONS, please do a 'make config; make'"; \ ${ECHO_CMD} ""; \ exit 1; \ fi) .endif .include