diff -urN dspam.cvs/Makefile dspam/Makefile --- dspam.cvs/Makefile Tue Apr 12 09:49:58 2005 +++ dspam/Makefile Wed Apr 27 16:19:24 2005 @@ -1,26 +1,26 @@ # New ports collection makefile for: dspam -# Date created: 3 August 2003 -# Whom: Dominic Marks +# Date created: 3 August 2003 +# Whom: Dominic Marks # # $FreeBSD: ports/mail/dspam/Makefile,v 1.37 2005/04/12 03:25:56 obrien Exp $ # # Note to commiters: If don't commit a maintainer patch and as a result PKGNAME -# or user variables (WITH*) changes please and an entry in ${FILESDIR}/UPDATING and -# modify UPD_LINE_NO=(no_of_added_lines-1) in this Makefile +# or user variables (WITH*) changes please add an entry in ${FILESDIR}/UPDATING and +# modify _UPD_LINE_NO=(no_of_added_lines-1) in this Makefile # else the port will be broken. Thanks. PORTNAME= dspam PORTVERSION= ${PORTVER_MAJ}${SNAP_DATE} PORTREVISION= 0 CATEGORIES= mail -MASTER_SITES= http://people.tecnik93.com/~itetcu/FreeBSD/ports/dspam/sources/ +MASTER_SITES= http://people.tecnik93.com/~itetcu/FreeBSD/ports/${PORTNAME}/sources/ MAINTAINER= itetcu@people.tecnik93.com COMMENT= Bayesian spam filter - stable maintenance version -PORTVER_MAJ= 3.2.8 -#SNAP_DATE= .20050302.1330 +PORTVER_MAJ= 3.4.5 +#SNAP_DATE= .20050417.0700 .ifdef(SNAP_DATE) WRKSRC= ${WRKDIR}/dspam-cvs-stable${SNAP_DATE} @@ -39,14 +39,16 @@ ## debug / log / admin options 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" on ## algorithm options OPTIONS+= GRAHAM_BAYES "Enable Graham (traditional) bayesian" on OPTIONS+= BURTON_BAYES "Enable Burton (alternative) bayesian" on OPTIONS+= RNB "Use Robinson Naive Bayesian calculation" off OPTIONS+= CHI_SQUARE "Use Fisher-Robinson Inv Chi-Square" off -OPTIONS+= RPV "Use Robinson technique combining p-values" off +OPTIONS+= RPV "Use Robinson technique combining p-values" on OPTIONS+= TEST_COND "More inoculous results rapidly, risk fps" on OPTIONS+= NO_BIAS "No bias toward innocent mail" off OPTIONS+= NEURAL_NET "Enable neural networking" off @@ -57,13 +59,14 @@ ## back-end OPTIONS+= MYSQL40 "Use MySQL 4.0.x as back-end" off -OPTIONS+= MYSQL41 "Use MySQL 4.1.x as back-end" off +OPTIONS+= MYSQL41 "Use MySQL 4.1.x as back-end" on OPTIONS+= MYSQL50 "Use MySQL 5.0.x as back-end" off OPTIONS+= MYSQL_COMPRESS "Compress dspam <--> MySQL" off OPTIONS+= POSTGRESQL "Use PostgreSQL as back-end" off #OPTIONS+= ORACLE "Use Oracle as back-end (BROKEN)" off OPTIONS+= BDB4 "Use BDB4 as back-end (not recomanded)" off -OPTIONS+= SQLITE2 "Use SQLite v2.x as back-end" on +OPTIONS+= SQLITE2 "Use SQLite v2.x as back-end" off +OPTIONS+= SQLITE3 "Use SQLite v3.x as back-end" 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 @@ -95,11 +98,11 @@ CFLAGS+= -g -DDEBUG .endif -PKGMESSAGE= ${WRKSRC}/README.FreeBSD +PKGMESSAGE= ${WRKSRC}/src/README.FreeBSD -UPD_LINE_NO= 6 +_UPD_LINE_NO= 16 -CONFLICTS= dspam-2* dspam-devel-[0-9]* +CONFLICTS= dspam-2* dspam-3* SIGNATURE_LIFE?= 15 @@ -117,12 +120,17 @@ .include +## Actually Thu Feb 10 17:38:05 EET 2005 works +#.if ${OSVERSION} >= 500036 +#. if ${OSVERSION} < 503102 +#IGNORE= Need newer pthread support, please upgrade your system +#. endif +#.endif + CONFIGURE_ARGS+= --with-logdir=${LOG_DIR} PLIST_SUB+= LOG_DIR=${LOG_DIR} CONFIGURE_ARGS+= --with-dspam-home=${DSPAM_HOME} -PLIST_SUB+= 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} @@ -130,14 +138,16 @@ CONFIGURE_ARGS+= --with-dspam-owner=${DSPAM_OWNER} CONFIGURE_ARGS+= --with-dspam-group=${DSPAM_GROUP} -# we set DSPAM_MODE at the end as some LDA want specific mode +# we set DSPAM_MODE at the end as some LDA whant specific mode -SED_SCRIPT= -e 's,%%DOCSDIR%%,${DOCSDIR},g' \ +_SED_SCRIPT= -e 's,%%DOCSDIR%%,${DOCSDIR},g' \ -e 's,%%EXAMPLESDIR%%,${EXAMPLESDIR},g' \ - -e 's,%%LOCALBASE%%,${LOCALBASE},g' \ - -e 's,%%PREFIX%%,${PREFIX},g' \ - -e 's,%%PKGNAME%%,${PKGNAME},g' \ - -e 's,%%DSPAM_HOME%%,${DSPAM_HOME},g' + -e 's,%%DSPAM_HOME%%,${DSPAM_HOME},g' \ + -e 's,%%PORTNAME%%,${PORTNAME},g' \ + -e 's,%%_VAR_DIR%%,${_VAR_DIR},g' +# -e 's,%%LOCALBASE%%,${LOCALBASE},g' \ +# -e 's,%%PREFIX%%,${PREFIX},g' \ +# -e 's,%%PKGNAME%%,${PKGNAME},g' \ .if defined(WITH_DEBUG) CONFIGURE_ARGS+= --enable-debug @@ -147,10 +157,33 @@ CONFIGURE_ARGS+= --enable-verbose-debug .endif +.if defined(WITH_BNR_DEBUG) +CONFIGURE_ARGS+= --enable-bnr-debug +.endif + .if defined(WITH_PREF_EXT) CONFIGURE_ARGS+= --enable-preferences-extension .endif +#### +# quick hack to build the package with daemon +.ifndef(WITHOUT_DAEMON) +WITH_DAEMON= on +.endif + +.ifdef(WITH_DAEMON) +CONFIGURE_ARGS+= --enable-daemon +RC_DIR= ${PREFIX}/etc/rc.d +RC_SUFX= .sh +USE_RC_SUBR= yes +PLIST_FILES+= etc/rc.d/dspam${RC_SUFX} +_SED_SCRIPT+= -e 's,%%DAEMON%%,,g' +_SED_RC_SCRIPT= -e 's,%%PREFIX%%,${PREFIX},g' \ + -e 's,%%DSPAM_HOME%%,${DSPAM_HOME},g' +.else +_SED_SCRIPT+= -e ',%%DAEMON%%,D' +.endif + .if !defined(WITH_GRAHAM_BAYES) CONFIGURE_ARGS+= --disable-traditional-bayesian .endif @@ -191,38 +224,9 @@ CONFIGURE_ARGS+= --disable-trusted-user-security .endif -DBDRV_TOTAL_COUNT= ooooooo # 7 +DBDRV_TOTAL_COUNT= ooooooooo # 8 DBDRV_COUNT= ${DBDRV_TOTAL_COUNT} -.ifdef(WITH_MYSQL40) -WANT_MYSQL_VER= 40 -#PKGNAMESUFFIX= -mysql40 -.elifdef(WITH_MYSQL41) -WANT_MYSQL_VER= 41 -#PKGNAMESUFFIX= -mysql41 -.elifdef(WITH_MYSQL50) -WANT_MYSQL_VER= 50 -#PKGNAMESUFFIX= -mysql50 -.endif - -.if defined(WITH_MYSQL40) || defined(WITH_MYSQL41) || defined(WITH_MYSQL50) -USE_MYSQL= yes -CONFIGURE_ARGS+= --with-storage-driver=mysql_drv \ - --with-mysql-includes=${LOCALBASE}/include/mysql \ - --with-mysql-libraries=${LOCALBASE}/lib/mysql -PLIST_SUB+= DB4="@comment " -PLIST_SUB+= MYSQL="" -PLIST_SUB+= PGSQL="@comment " -PLIST_SUB+= SQLITE="@comment " -SED_SCRIPT+= -e 's,%%MYSQL%%,,g' -SED_SCRIPT+= -e '/%%PGSQL%%/D' -SED_SCRIPT+= -e '/%%SQLITE%%/D' -DBDRV_COUNT:= ${DBDRV_COUNT:S/o//} -.if defined(WITH_MYSQL_COMPRESS) -CONFIGURE_ARGS+= --enable-client-compression -.endif -.endif - .if defined(WITH_POSTGRESQL) USE_PGSQL= yes CONFIGURE_ARGS+= --with-storage-driver=pgsql_drv \ @@ -232,15 +236,15 @@ PLIST_SUB+= MYSQL="@comment " PLIST_SUB+= PGSQL="" PLIST_SUB+= SQLITE="@comment " -SED_SCRIPT+= -e '/%%MYSQL%%/D' -SED_SCRIPT+= -e 's,%%PGSQL%%,,g' -SED_SCRIPT+= -e '/%%SQLITE%%/D' +#_SED_SCRIPT+= -e '/%%MYSQL%%/D' +#_SED_SCRIPT+= -e 's,%%PGSQL%%,,g' +#_SED_SCRIPT+= -e '/%%SQLITE%%/D' #PKGNAMESUFFIX= -pgsql DBDRV_COUNT:= ${DBDRV_COUNT:S/o//} .endif .if defined(WITH_ORACLE) -BUILD_DEPENDS+= ${LOCALBASE}/oracle7/rdbms/lib/libnlsrtl3.a:\ +BUILD_DEPENDS= ${LOCALBASE}/oracle7/rdbms/lib/libnlsrtl3.a:\ ${PORTSDIR}/databases/oracle7-client CONFIGURE_ARGS+= --with-storage-driver=ora_drv \ --with-oracle-home= ${LOCALBASE}/oracle7 @@ -256,16 +260,24 @@ PLIST_SUB+= MYSQL="@comment " PLIST_SUB+= PGSQL="@comment " PLIST_SUB+= SQLITE="@comment " -SED_SCRIPT+= -e '/%%MYSQL%%/D' -SED_SCRIPT+= -e '/%%PGSQL%%/D' -SED_SCRIPT+= -e '/%%SQLITE%%/D' +#_SED_SCRIPT+= -e '/%%MYSQL%%/D' +#_SED_SCRIPT+= -e '/%%PGSQL%%/D' +#_SED_SCRIPT+= -e '/%%SQLITE%%/D' #PKGNAMESUFFIX= -bdb DBDRV_COUNT:= ${DBDRV_COUNT:S/o//} .endif -.if ${DBDRV_TOTAL_COUNT}==${DBDRV_COUNT} || defined(WITH_SQLITE2) -WITH_SQLITE2= on +.if defined(WITH_SQLITE3) +HAVE_SQLITE= yes +LIB_DEPENDS+= sqlite.3:${PORTSDIR}/databases/sqlite3 +.endif + +.if defined(WITH_SQLITE2) +HAVE_SQLITE= yes LIB_DEPENDS+= sqlite.2:${PORTSDIR}/databases/sqlite2 +.endif + +.if defined(HAVE_SQLITE) CONFIGURE_ARGS+= --with-storage-driver=sqlite_drv \ --with-sqlite-includes=${LOCALBASE}/include \ --with-sqlite-libraries=${LOCALBASE}/lib @@ -273,13 +285,45 @@ PLIST_SUB+= MYSQL="@comment " PLIST_SUB+= PGSQL="@comment " PLIST_SUB+= SQLITE="" -SED_SCRIPT+= -e '/%%MYSQL%%/D' -SED_SCRIPT+= -e '/%%PGSQL%%/D' -SED_SCRIPT+= -e 's,%%SQLITE%%,,g' +#_SED_SCRIPT+= -e '/%%MYSQL%%/D' +#_SED_SCRIPT+= -e '/%%PGSQL%%/D' +#_SED_SCRIPT+= -e 's,%%SQLITE%%,,g' #PKGNAMESUFFIX= -sqlite2 DBDRV_COUNT:= ${DBDRV_COUNT:S/o//} .endif +.ifdef(WITH_MYSQL40) +WANT_MYSQL_VER= 40 +#PKGNAMESUFFIX= -mysql40 +.elifdef(WITH_MYSQL41) +WANT_MYSQL_VER= 41 +#PKGNAMESUFFIX= -mysql41 +.elifdef(WITH_MYSQL50) +WANT_MYSQL_VER= 50 +#PKGNAMESUFFIX= -mysql50 +.endif + +.if defined(WITH_MYSQL40) || defined(WITH_MYSQL41) || defined(WITH_MYSQL50) || ${DBDRV_TOTAL_COUNT}==${DBDRV_COUNT} +USE_MYSQL= yes +CONFIGURE_ARGS+= --with-storage-driver=mysql_drv \ + --with-mysql-includes=${LOCALBASE}/include/mysql \ + --with-mysql-libraries=${LOCALBASE}/lib/mysql +PLIST_SUB+= DB4="@comment " +PLIST_SUB+= MYSQL="" +PLIST_SUB+= PGSQL="@comment " +PLIST_SUB+= SQLITE="@comment " +#_SED_SCRIPT+= -e 's,%%MYSQL%%,,g' +#_SED_SCRIPT+= -e '/%%PGSQL%%/D' +#_SED_SCRIPT+= -e '/%%SQLITE%%/D' +DBDRV_COUNT:= ${DBDRV_COUNT:S/o//} +. if defined(WITH_MYSQL_COMPRESS) +CONFIGURE_ARGS+= --enable-client-compression +. endif +_SED_RC_SCRIPT+= -e 's,%%MYSQL%%,mysql,g' +.else +_SED_RC_SCRIPT+= -e 's,%%MYSQL%%,,' +.endif + .if defined(WITH_VIRT_USERS) CONFIGURE_ARGS+= --enable-virtual-users .endif @@ -313,7 +357,7 @@ .if defined(WITH_EXIM_LDA) . if defined(WITH_MYSQL40) || (WITH_MYSQL41) _EXIM_EXT= -mysql -. elseif defined(WITH_POSTGRESQL) +. elif defined(WITH_POSTGRESQL) _EXIM_EXT= -postgresql . endif RUN_DEPENDS+= exim:${PORTSDIR}/mail/exim${_EXIM_EXT} @@ -323,13 +367,13 @@ .if defined(WITH_MAILDROP_LDA) RUN_DEPENDS+= maildrop:${PORTSDIR}/mail/maildrop -CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/bin/maildrop -d $$u' +CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/bin/maildrop' LDA_COUNT:= ${LDA_COUNT:S/o//} .endif .if defined(WITH_PROCMAIL_LDA) RUN_DEPENDS+= procmail:${PORTSDIR}/mail/procmail -CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/bin/procmail -d $$u' +CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/bin/procmail' LDA_COUNT:= ${LDA_COUNT:S/o//} .endif @@ -349,9 +393,9 @@ .if defined(WITH_POSTFIX_MBC) DSPAM_MODE= 4511 -SED_SCRIPT+= -e 's,%%POSTFIX_MBC%%,,g' +#_SED_SCRIPT+= -e 's,%%POSTFIX_MBC%%,,g' .else -SED_SCRIPT+= -e '/%%POSTFIX_MBC%%/D' +#_SED_SCRIPT+= -e '/%%POSTFIX_MBC%%/D' .endif .if defined(WITH_QMAIL) @@ -374,13 +418,13 @@ USE_PERL5_RUN= 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 +_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' +_SED_SCRIPT+= -e '/%%CGI%%/D' .endif MAN1= dspam.1 dspam_clean.1 dspam_corpus.1 dspam_dump.1 dspam_merge.1 \ @@ -395,21 +439,22 @@ MLINKS+= libdspam.3 dspam_destroy.3 MLINKS+= libdspam.3 dspam_detach.3 -DOCS= CHANGELOG LICENSE README README.FreeBSD README.courier README.exim \ - README.pop3filter README.postfix README.qmail README.sendmail \ - RELEASE.NOTES +_DOCS= CHANGELOG LICENSE README README.FreeBSD RELEASE.NOTES UPGRADING +_DOCSL= appliance.txt exim.txt ora_drv.txt pgsql_drv.txt postfix.txt \ + sendmail.txt courier.txt mysql_drv.txt pop3filter.txt qmail.txt \ + sqlite_drv.txt .ifndef(MAINT) pre-everything:: @${ECHO_CMD} "" @${ECHO_CMD} "Last ${FILESDIR}/UPDATING entry:" - @${GREP} -B 1 -A ${UPD_LINE_NO} ${PKGNAME} ${FILESDIR}/UPDATING - @${ECHO_CMD} "" + @${GREP} -B 1 -A ${_UPD_LINE_NO} ${PKGNAME} ${FILESDIR}/UPDATING @${ECHO_CMD} "" -.else # maintainer only + @sleep 5 +.else # maintainer only post-fetch: . ifndef(STOP) -. include "/root/ports/upd" +#. include "/root/ports/upd" . endif .endif @@ -431,6 +476,7 @@ @${ECHO_CMD} "installed in other place that this installation's default" @${ECHO_CMD} "${PREFIX}/www/vhosts/dspam" . endif + @${ECHO_CMD} "Define WITHOUT_DAEMON if not using OPTIONS and do not want daemon." @${ECHO_CMD} "" @sleep 5 @@ -438,7 +484,7 @@ USER_LOGGING SYSTEM_LOGGING WEBMAIL OPT_IN SAT PARSE_TO_HEADERS \ BROKEN_MTA BROKEN_ERR_CODES SIGNATURE_HEADERS SIGNATURE_ATACH \ HOMEDIR_DOT SIGNATURE_LIFE SQLITE QUARANTINE_AGENT WHITELIST \ - POSTGRESQL73 POSTGRESQL74 ORACLE + POSTGRESQL73 POSTGRESQL74 . if defined(WITH_${old_opt}) || defined(WITHOUT_${old_opt}) @${ECHO_CMD} "" @${ECHO_CMD} "******************************************************************" @@ -450,10 +496,7 @@ @${ECHO_CMD} "You shold always read ${PORTSDIR}/UPDATING before installing/updating" @${ECHO_CMD} "any port. Please remove/adjust your pkgtools.conf, environment and" @${ECHO_CMD} "your make command-line and/or do 'make rmconfig' as appropiate." - @${ECHO_CMD} "But before read ${FILESDIR}/UPDATING" - @${ECHO_CMD} "as a lot of things have changed, notably the majority of" - @${ECHO_CMD} "compile-time options can/must now be set in" - @${ECHO_CMD} "${PREFIX}/etc/dspam.conf" + @${ECHO_CMD} "But before read ${FILESDIR}/UPDATING as a lot of things have changed." @${ECHO_CMD} "******************************************************************" @${ECHO_CMD} "******************************************************************" @${ECHO_CMD} "" @@ -465,12 +508,18 @@ @${REINPLACE_CMD} -e 's|%%PORTNAME%%|${PORTNAME}|; \ s|%%PKGNAME%%|${PKGNAME}|; s|%%MAINTAINER%%|${MAINTAINER}|; \ s|%%LIBTOOLFLAGS%%|${LIBTOOLFLAGS}|g; \ - s|-ldb-4.1|-ldb41|g;' ${WRKSRC}/configure - - @${REINPLACE_CMD} -e 's|where @a-14 > to_days(created_on);|where @a-${SIGNATURE_LIFE} > to_days(created_on);|' ${WRKSRC}/tools.mysql_drv/purge.sql - @${REINPLACE_CMD} -e 's|WHERE CURRENT_DATE - created_on > 14;|WHERE CURRENT_DATE - created_on > ${SIGNATURE_LIFE};|' ${WRKSRC}/tools.pgsql_drv/purge.sql - @${REINPLACE_CMD} -e 's|where SYSDATE-created_on > 14|where SYSDATE-created_on > ${SIGNATURE_LIFE};|' ${WRKSRC}/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}/tools.sqlite_drv/purge.sql + s|-ldb-4.1|-ldb41|g;' ${WRKSRC}/configure + @${REINPLACE_CMD} -e 's|(libdir)/pkgconfig|(prefix)/libdata/pkgconfig|' \ + ${WRKSRC}/Makefile.in + + @${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 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.sql +.if defined(WITH_DAEMON) + @${CP} ${FILESDIR}/dspam.rc ${WRKSRC} + @${REINPLACE_CMD} ${_SED_RC_SCRIPT} ${WRKSRC}/dspam.rc +.endif pre-configure: @${ECHO_CMD} @@ -498,23 +547,36 @@ @${ECHO_CMD} "You need MySQL or Postgres for preferences extension" @${FALSE} .endif +.if defined(WITH_DAEMON) && !( defined(USE_MYSQL) || \ + defined(WITH_POSTGRESQL) ) + @${ECHO_CMD} "You need MySQL or Postgres for Daemon mode, because multithreading support is needed" + @${FALSE} +.endif .if defined(WITH_USER_HOMEDIR) && defined(WITH_CGI) @${ECHO_CMD} "USER_HOMEDIR and CGI are incopatible" @${FALSE} .endif post-install: - ${CP} ${WRKSRC}/dspam.conf ${WRKSRC}/dspam.conf.sample - cd ${WRKSRC}/ && \ + ${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 -# @${MKDIR} ${LOG_DIR} -# @${MKDIR} ${DSPAM_HOME} + dspam.conf.sample ${PREFIX}/etc +.if defined(WITH_DAEMON) + ${INSTALL_SCRIPT} ${WRKSRC}/dspam.rc ${RC_DIR}/dspam${RC_SUFX} +.endif + +######## +# 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 .if defined(USE_MYSQL) @${MKDIR} ${EXAMPLESDIR}/mysql - cd ${WRKSRC}/tools.mysql_drv && \ - ${INSTALL_DATA} README mysql_objects-space.sql \ + cd ${WRKSRC}/src/tools.mysql_drv && \ + ${INSTALL_DATA} mysql_objects-space.sql \ mysql_objects-speed.sql purge.sql \ virtual_users.sql mysql_objects-4.1.sql \ purge-4.1.sql neural.sql ${EXAMPLESDIR}/mysql @@ -523,18 +585,18 @@ .endif .if defined(WITH_POSTGRESQL) @${MKDIR} ${EXAMPLESDIR}/pgsql - @cd ${WRKSRC}/tools.pgsql_drv && \ - ${INSTALL_DATA} README *.sql ${EXAMPLESDIR}/pgsql + @cd ${WRKSRC}/src/tools.pgsql_drv && \ + ${INSTALL_DATA} *.sql ${EXAMPLESDIR}/pgsql .endif -.if defined(WITH_SQLITE2) +.if defined(HAVE_SQLITE) @${MKDIR} ${EXAMPLESDIR}/sqlite - cd ${WRKSRC}/tools.sqlite_drv && \ - ${INSTALL_DATA} README *.sql ${EXAMPLESDIR}/sqlite + cd ${WRKSRC}/src/tools.sqlite_drv && \ + ${INSTALL_DATA} *.sql ${EXAMPLESDIR}/sqlite .endif .if defined(WITH_ORACLE) @${MKDIR} ${EXAMPLESDIR}/oracle - cd ${WRKSRC}/tools.ora_drv && \ - ${INSTALL_DATA} README *.sql ${EXAMPLESDIR}/oracle + cd ${WRKSRC}/src/tools.ora_drv && \ + ${INSTALL_DATA} *.sql ${EXAMPLESDIR}/oracle .endif .if defined(WITH_CGI) @@ -555,11 +617,12 @@ ${INSTALL_DATA} *.html ${CGI_PATH}/templates/ .endif - @${SED} ${SED_SCRIPT} ${.CURDIR}/pkg-message > ${WRKSRC}/README.FreeBSD + @${SED} ${_SED_SCRIPT} ${.CURDIR}/pkg-message > ${WRKSRC}/README.FreeBSD .if !defined(NOPORTDOCS) @${MKDIR} ${DOCSDIR} - cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${DOCSDIR} - cd ${FILESDIR} && ${INSTALL_DATA} UPDATING ${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} diff -urN dspam.cvs/distinfo dspam/distinfo --- dspam.cvs/distinfo Mon Mar 7 07:08:06 2005 +++ dspam/distinfo Wed Apr 27 16:19:36 2005 @@ -1,2 +1,2 @@ -MD5 (dspam-3.2.8.tar.gz) = e2cf80ef0a10ff8c123cb4fda5f2411d -SIZE (dspam-3.2.8.tar.gz) = 621195 +MD5 (dspam-3.4.5.tar.gz) = fcb16a275e343baaa657eda045123e06 +SIZE (dspam-3.4.5.tar.gz) = 698456 diff -urN dspam.cvs/files/UPDATING dspam/files/UPDATING --- dspam.cvs/files/UPDATING Mon Mar 7 07:08:06 2005 +++ dspam/files/UPDATING Wed Apr 27 16:20:06 2005 @@ -15,6 +15,23 @@ in the port directory: make extract; more `find . -type f -maxdepth 2 -name UPGRADING` +########################################################################### +# dspam-3.4.5 +# + +This is the post-3.4 devel branch. A lot of things have changed and your +existing dspam.conf won't probably work anymore. Please compare it with the +dspam.conf.sample located in the same etc/ directory. + +Most notable addition is the SMTP delivery which together with "standard" +inbound LMTP make a very nice content and light (e.g. it's the fastest setup +I've had so far) filter. + +Database structure is roughly the same but you may wish to check your +existing database structure with the *.sql corresponding to you database +driver from EXAMPLESDIR (Mysql 4.1.x is now default as it's _much_ faster). +Please read carefully distributed docs like README and UPGRADING. + ############################################################################# # dspam-3.2.8 # diff -urN dspam.cvs/files/dspam.rc dspam/files/dspam.rc --- dspam.cvs/files/dspam.rc Thu Jan 1 02:00:00 1970 +++ dspam/files/dspam.rc Wed Apr 27 16:20:20 2005 @@ -0,0 +1,41 @@ +#!/bin/sh +# +# $FreeBSD: ports/mail/dspam-devel/files/dspam.rc,v 1.2 2005/02/25 03:09:26 leeym Exp $ +# + +# PROVIDE: dspam +# REQUIRE: LOGIN NETWORKING SERVERS %%MYSQL%% +# BEFORE: mail +# KEYWORD: shutdown + +# +# Add the following lines to /etc/rc.conf[.local] to enable dspam: +# +# dspam_enable="YES" +# + +. /etc/rc.subr + +name=dspam +rcvar=`set_rcvar` + +command=%%PREFIX%%/bin/${name} +command_args="--daemon > /dev/null 2>&1 &" +pidfile=/var/run/${name}.pid +required_dirs=%%DSPAM_HOME%% +required_files=%%PREFIX%%/etc/${name}.conf + +extra_commands=reload + +reload() +{ + kill -HUP `cat $pidfile` +} + +# set defaults + +dspam_enable=${dspam_enable:-"NO"} +#dspam_flags=${dspam_flags:-"--daemon &"} + +load_rc_config $name +run_rc_command "$1" diff -urN dspam.cvs/files/patch-Makefile.in dspam/files/patch-Makefile.in --- dspam.cvs/files/patch-Makefile.in Fri Mar 4 13:39:53 2005 +++ dspam/files/patch-Makefile.in Thu Jan 1 02:00:00 1970 @@ -1,11 +0,0 @@ ---- Makefile.in.orig Thu Jun 24 18:32:38 2004 -+++ Makefile.in Thu Jun 24 18:37:09 2004 -@@ -242,7 +242,7 @@ - man_MANS = dspam.1 dspam_stats.1 dspam_corpus.1 dspam_clean.1 dspam_dump.1 \ - dspam_merge.1 - --pkgconfigdir = $(libdir)/pkgconfig -+pkgconfigdir = $(prefix)/libdata/pkgconfig - pkgconfig_DATA = dspam.pc - EXTRA_DIST = autogen.sh RELEASE.NOTES CHANGELOG LICENSE example.c \ - dspam-button.gif dspam.1 dspam_stats.1 dspam_corpus.1 dspam_clean.1 \ diff -urN dspam.cvs/files/patch-dspam.c dspam/files/patch-dspam.c --- dspam.cvs/files/patch-dspam.c Thu Jan 1 02:00:00 1970 +++ dspam/files/patch-dspam.c Wed Apr 27 16:20:23 2005 @@ -0,0 +1,23 @@ +--- src/dspam.c.dist Sun Apr 10 15:49:29 2005 ++++ src/dspam.c Sun Apr 10 15:52:48 2005 +@@ -2733,8 +2733,9 @@ + LOG (LOG_CRIT, ERROR_MEM_ALLOC); + } + +- if (CTX->result == DSR_ISSPAM) +- { ++// FreeBSD port patch: put the user in all emails, extremely usefull for scripts ++// if (CTX->result == DSR_ISSPAM) ++// { + snprintf(data, sizeof(data), "X-DSPAM-User: %s", CTX->username); + head = _ds_create_header_field(data); + if (head != NULL) +@@ -2746,7 +2747,7 @@ + } + else + LOG (LOG_CRIT, ERROR_MEM_ALLOC); +- } ++// } // end of FreeBSD port patch + + if (!strcmp(_ds_pref_val(PTX, "showFactors"), "on")) { + diff -urN dspam.cvs/files/patch-dspam.conf.in dspam/files/patch-dspam.conf.in --- dspam.cvs/files/patch-dspam.conf.in Fri Mar 4 13:39:53 2005 +++ dspam/files/patch-dspam.conf.in Thu Jan 1 02:00:00 1970 @@ -1,29 +0,0 @@ ---- dspam.conf.in.orig Thu Dec 30 19:18:14 2004 -+++ dspam.conf.in Thu Dec 30 19:20:02 2004 -@@ -34,7 +34,7 @@ - # the user DSPAM is processing mail for. This configuration parameter is only - # necessary if you plan on allowing untrusted processing. - # --#UntrustedDeliveryAgent "/usr/bin/procmail -d %u" -+#UntrustedDeliveryAgent "@delivery_agent@" - - # - # Quarantine Agent: DSPAM's default behavior is to quarantine all mail it -@@ -42,7 +42,7 @@ - # a quarantine agent which will be called with all messages DSPAM thinks is - # spam. Use %u to specify the user DSPAM is processing mail for. - # --#QuarantineAgent "/usr/bin/procmail -d spam" -+#QuarantineAgent "@delivery_agent@" - - # - # OnFail: What to do if local delivery or quarantine should fail. If set -@@ -169,7 +169,7 @@ - # Storage driver settings: Specific to a particular storage driver. Uncomment - # the configuration specific to your installation, if applicable. - # --#MySQLServer /var/lib/mysql/mysql.sock -+#MySQLServer /tmp/mysql.sock - #MySQLPort - #MySQLUser dspam - #MySQLPass changeme diff -urN dspam.cvs/files/patch-src_dspam.conf.in dspam/files/patch-src_dspam.conf.in --- dspam.cvs/files/patch-src_dspam.conf.in Thu Jan 1 02:00:00 1970 +++ dspam/files/patch-src_dspam.conf.in Wed Apr 27 16:20:08 2005 @@ -0,0 +1,53 @@ +--- src/dspam.conf.in.dist Fri Feb 25 23:08:31 2005 ++++ src/dspam.conf.in Fri Feb 25 23:19:02 2005 +@@ -35,6 +35,7 @@ + # necessary if you plan on allowing untrusted processing. + # + #UntrustedDeliveryAgent "/usr/bin/procmail -d %u" ++#UntrustedDeliveryAgent "@delivery_agent@" + + # + # LMTP Delivery: Alternatively, you may wish to use LMTP delivery to deliver +@@ -53,6 +54,7 @@ + # spam. Use %u to specify the user DSPAM is processing mail for. + # + #QuarantineAgent "/usr/bin/procmail -d spam" ++#QuarantineAgent "@delivery_agent@" + + # + # OnFail: What to do if local delivery or quarantine should fail. If set +@@ -179,7 +181,7 @@ + # Storage driver settings: Specific to a particular storage driver. Uncomment + # the configuration specific to your installation, if applicable. + # +-#MySQLServer /var/lib/mysql/mysql.sock ++#MySQLServer /tmp/mysql.sock + #MySQLPort + #MySQLUser dspam + #MySQLPass changeme +@@ -385,6 +387,7 @@ + # without processing. Value is in bytes. + # + #MaxMessageSize 4194304 ++MaxMessageSize 307200 + + # + # Daemonized Server: If you are running DSPAM as a daemonized server using +@@ -396,6 +399,7 @@ + # + #ServerPort 24 + #ServerQueueSize 32 ++# keep this is sync with /usr/local/etc/rc.d/dspam.rc script + #ServerPID /var/run/dspam.pid + + # +@@ -422,7 +426,8 @@ + # you are running the client and server on the same machine, as it eliminates + # much of the bandwidth overhead. + # +-#ServerDomainSocketPath "/tmp/dspam.sock" ++# keep this is sync with /usr/local/etc/rd.d/dspam.rc script ++#ServerDomainSocketPath "/var/run/dspam.sock" + + # + # Client Mode: If you are running DSPAM in client/server mode, uncomment and diff -urN dspam.cvs/files/patch-tools_dspam_clean.c dspam/files/patch-tools_dspam_clean.c --- dspam.cvs/files/patch-tools_dspam_clean.c Fri Mar 4 13:39:53 2005 +++ dspam/files/patch-tools_dspam_clean.c Thu Jan 1 02:00:00 1970 @@ -1,18 +0,0 @@ -Index: tools/dspam_clean.c -=================================================================== -RCS file: /usr/local/cvsroot/dspam-3.2/tools/dspam_clean.c,v -retrieving revision 1.5 -diff -u -r1.5 dspam_clean.c ---- tools/dspam_clean.c 25 Oct 2004 22:57:56 -0000 1.5 -+++ tools/dspam_clean.c 28 Jan 2005 19:58:49 -0000 -@@ -188,7 +188,7 @@ - nt_add(users, argv[i]); - } - -- if (!do_probs && !do_sigs && !do_unused) { -+ if (help || !do_probs && !do_sigs && !do_unused) { - fprintf(stderr, "%s", CLEANSYNTAX); - _ds_destroy_attributes(agent_config); - nt_destroy(users); - -L. diff -urN dspam.cvs/pkg-message dspam/pkg-message --- dspam.cvs/pkg-message Fri Mar 4 13:39:53 2005 +++ dspam/pkg-message Wed Apr 27 16:19:52 2005 @@ -1,41 +1,13 @@ ------------------------------------------------------------------------------- + Reporting problems, asking questions: + - FreeBSD specific port-related problems/questions/paches: maintainer +(and ports@ if you fell the need); send-pr only if you get no timely reply + - dspam specific questions: dspam/dspam-dev mailling list (maintainer cc'ed) + - dspam specific patches: dspam/dspam-dev mailling list (maintainer cc'ed if) + Please be sure to include in your email/pr relevant information such as: + uname -a, dspam --version, %%_VAR_DIR%%/db/ports/%%PORTNAME%%/options, MTA setup. - See the file %%DOCSDIR%%/README for advice about - how to configure DSPAM and - %%DOCSDIR%%/README.your_mta_name - for MTA or pop3 integration; examples for: - courier, exim, pop3filter, postfix, qmail and sendmail. - Keep in mind that while this port obeys our hier(7) this thing is not - reflected in distributed files because I lack the time for patching them. - -%%MYSQL%% -%%MYSQL%% See %%EXAMPLESDIR%%/mysql/README -%%MYSQL%% for instructions on how to configure DSPAM - MySQL interaction. -%%MYSQL%% -%%MYSQL%% BACKUP FIRST !!! -%%MYSQL%% -%%MYSQL%% To modify a 2.x database use and use it with dspam 3.x use: -%%MYSQL%% %%EXAMPLESDIR%%/mysql/2x_to_3x_db.sql -%%MYSQL%% To modify a 3.1.0 *mysql4.0* use : -%%MYSQL%% %%EXAMPLESDIR%%/mysql/310_to_320.my.sql -%%MYSQL%% -%%PGSQL%% -%%PGSQL%% See %%EXAMPLESDIR%%/pgsql/README -%%PGSQL%% for instructions on how to configure PostrgreSQL -%%PGSQL%% for use with DSPAM. -%%PGSQL%% -%%SQLITE%% -%%SQLITE%% See %%EXAMPLESDIR%%/sqlite/README -%%SQLITE%% for suggestion on SQLite back-end. It should work out-of-the-box. -%%SQLITE%% -%%SQLITE%% You'll always want to run dspam_clean -p0 and -%%SQLITE%% sqlite %%DSPAM_HOME%%/data/user/user.sdb < vacuum -%%SQLITE%% after a corpusfeed. -%%SQLITE%% There are most likely 70%+ junk tokens that need to be removed. -%%SQLITE%% This will have a HUGE impact on the disk space your db uses. -%%SQLITE%% -%%CGI%% %%CGI%% The CGI files had been installed in %%CGI%% %%CGI_PATH%% %%CGI%% Copy @@ -55,40 +27,13 @@ %%CGI%% to %%CGI%% %%CGI_PATH%%/admins %%CGI%% and edit the file to your needs. -%%CGI%% See %%DOCSDIR%%/README -%%CGI%% especially the CGI and Trusted Users sections for more info. %%CGI%% If you have problems (after upgrading) check permissions. - - See %%DOCSDIR%%/RELEASE.NOTES - for new things in this %%PKGNAME%% and - %%DOCSDIR%%/CHANGELOG - for the full list from 3.0.0 stable. - Preference extensions are NOT yet integrated in this port, - feel free to test and send patches. - - ***************************** WARNING: *************************************** - Almost everything regarding how dspam must be configured has changed. - If you are upgrading from 2.x or 3.x be sure to read - %%DOCSDIR%%/UPDATING - ****************************************************************************** - - ---- %%PKGNAME%% is considered to be a STABLE release. --- - Reporting problems, asking questions: - - small typos, etc. to the maintainer - - FreeBSD specific port-related problems/questions: ports@, maintainer cc'ed - - FreeBSD specific patches, doc enhancements: send-pr maintainer cc'ed - - dspam specific questions: dspam mailling list (maintainer cc'ed if you like) - - dspam specific patches: dspam/dspam-dev mailling list (maintainer cc'ed if you like) - Please be sure to include in your email/pr relevant information such as: - uname -a, dspam --version, /var/db/ports/dspam-devel/options, MTA setup. - If needed rebuild WITH_DEBUG and to turn on debugging see DebugOpt in dsapm.conf - - Please send unified diff's (diff -u). - - If you don't want to see in your maillog : - "query error: verbose debug INFO ONLY: see sql.errors for more details" - please recompile withOUT verbose debug; those who will report this "error" will - be sent to spen their night in a room with a cardassian, a klingonian and a romulan. - - -- Thanks for making both our lives easier. +%%DAEMON%% +%%DAEMON%% To enable the dspam deamon put dspam_enable="YES" in your +%%DAEMON%% /etc/rc.conf + + You'll find additional setup instructions under + %%DOCSDIR%% +and + %%EXAMPLESDIR%% ------------------------------------------------------------------------------ diff -urN dspam.cvs/pkg-plist dspam/pkg-plist --- dspam.cvs/pkg-plist Fri Mar 4 13:39:53 2005 +++ dspam/pkg-plist Wed Apr 27 16:19:42 2005 @@ -1,4 +1,5 @@ bin/dspam +bin/dspamc bin/dspam_2sql bin/dspam_admin bin/dspam_clean @@ -6,20 +7,23 @@ bin/dspam_crc bin/dspam_dump bin/dspam_genaliases +bin/dspam_logrotate bin/dspam_merge +%%PGSQL%%bin/dspam_pg2int8 bin/dspam_stats @unexec if cmp -s %D/etc/dspam.conf %D/etc/dspam.conf.sample; then rm -f %D/etc/dspam.conf; fi etc/dspam.conf.sample include/dspam/buffer.h include/dspam/config.h +include/dspam/config_shared.h include/dspam/decode.h +include/dspam/diction.h include/dspam/error.h -include/dspam/lht.h +include/dspam/heap.h include/dspam/libdspam.h include/dspam/libdspam_objects.h include/dspam/nodetree.h include/dspam/storage_driver.h -include/dspam/tbt.h lib/libdspam.a lib/libdspam.so lib/libdspam.so.6 @@ -30,17 +34,22 @@ %%PORTDOCS%%%%DOCSDIR%%/README %%PORTDOCS%%%%DOCSDIR%%/RELEASE.NOTES %%PORTDOCS%%%%DOCSDIR%%/README.FreeBSD -%%PORTDOCS%%%%DOCSDIR%%/README.courier -%%PORTDOCS%%%%DOCSDIR%%/README.exim -%%PORTDOCS%%%%DOCSDIR%%/README.pop3filter -%%PORTDOCS%%%%DOCSDIR%%/README.postfix -%%PORTDOCS%%%%DOCSDIR%%/README.qmail -%%PORTDOCS%%%%DOCSDIR%%/README.sendmail +%%PORTDOCS%%%%DOCSDIR%%/appliance.txt +%%PORTDOCS%%%%DOCSDIR%%/courier.txt +%%PORTDOCS%%%%DOCSDIR%%/exim.txt +%%PORTDOCS%%%%DOCSDIR%%/mysql_drv.txt +%%PORTDOCS%%%%DOCSDIR%%/ora_drv.txt +%%PORTDOCS%%%%DOCSDIR%%/pgsql_drv.txt +%%PORTDOCS%%%%DOCSDIR%%/pop3filter.txt +%%PORTDOCS%%%%DOCSDIR%%/postfix.txt +%%PORTDOCS%%%%DOCSDIR%%/qmail.txt +%%PORTDOCS%%%%DOCSDIR%%/sendmail.txt +%%PORTDOCS%%%%DOCSDIR%%/sqlite_drv.txt %%PORTDOCS%%%%DOCSDIR%%/UPDATING +%%PORTDOCS%%%%DOCSDIR%%/UPGRADING %%PORTDOCS%%@dirrm %%DOCSDIR%% %%MYSQL%%%%EXAMPLESDIR%%/mysql/2x_to_3x_db.sql %%MYSQL%%%%EXAMPLESDIR%%/mysql/310_to_320.my.sql -%%MYSQL%%%%EXAMPLESDIR%%/mysql/README %%MYSQL%%%%EXAMPLESDIR%%/mysql/mysql_objects-4.1.sql %%MYSQL%%%%EXAMPLESDIR%%/mysql/mysql_objects-space.sql %%MYSQL%%%%EXAMPLESDIR%%/mysql/mysql_objects-speed.sql @@ -50,13 +59,11 @@ %%MYSQL%%%%EXAMPLESDIR%%/mysql/virtual_users.sql %%MYSQL%%@dirrm %%EXAMPLESDIR%%/mysql %%MYSQL%%@dirrm %%EXAMPLESDIR%% -%%PGSQL%%%%EXAMPLESDIR%%/pgsql/README %%PGSQL%%%%EXAMPLESDIR%%/pgsql/pgsql_objects.sql %%PGSQL%%%%EXAMPLESDIR%%/pgsql/purge.sql %%PGSQL%%%%EXAMPLESDIR%%/pgsql/virtual_users.sql %%PGSQL%%@dirrm %%EXAMPLESDIR%%/pgsql %%PGSQL%%@dirrm %%EXAMPLESDIR%% -%%SQLITE%%%%EXAMPLESDIR%%/sqlite/README %%SQLITE%%%%EXAMPLESDIR%%/sqlite/purge.sql %%SQLITE%%@dirrm %%EXAMPLESDIR%%/sqlite %%SQLITE%%@dirrm %%EXAMPLESDIR%%