1 # $NetBSD: Makefile,v 1.63 2009/08/17 19:09:13 sno Exp $
6 MASTER_SITES= http://dspam.nuclearelephant.com/sources/
8 MAINTAINER= pkgsrc-users@NetBSD.org
9 HOMEPAGE= http://dspam.nuclearelephant.com/
10 COMMENT= Extremely scalable, statistical-hybrid anti-spam filter
15 USE_TOOLS+= pax perl:run pkg-config
16 REPLACE_PERL= src/tools/dspam_train.in
17 REPLACE_PERL+= src/tools/dspam_logrotate
18 REPLACE_PERL+= webui/cgi-bin/*.cgi webui/cgi-bin/configure.pl.in
20 PKGCONFIG_OVERRIDE+= src/dspam.pc.in
23 SUBST_STAGE.cgi= post-patch
24 SUBST_FILES.cgi= webui/cgi-bin/templates/nav_performance.html
25 SUBST_FILES.cgi+= webui/cgi-bin/configure.pl.in
26 SUBST_FILES.cgi+= webui/cgi-bin/dspam.cgi webui/cgi-bin/admin.cgi
27 SUBST_FILES.cgi+= webui/cgi-bin/graph.cgi webui/cgi-bin/admingraph.cgi
28 SUBST_SED.cgi= -e "s|auxw|${DSPAM_PSFLAGS}|g"
29 SUBST_SED.cgi+= -e "s|yourdomain.com|${DSPAM_DOMAIN}|g"
30 SUBST_SED.cgi+= -e "s|./admins|${PKG_SYSCONFDIR}/cgi-admins|"
31 SUBST_SED.cgi+= -e "s|configure.pl|${PKG_SYSCONFDIR}/configure.pl|"
32 SUBST_SED.cgi+= -e "s|\"\\/\";|\"${DSPAM_WWWHOME}\";|"
33 SUBST_SED.cgi+= -e "s|\$$FILE = \"./default.prefs\";|\$$FILE = \"${PKG_SYSCONFDIR}/cgi-default.prefs\";|"
34 SUBST_MESSAGE.cgi= Fixing paths and default options.
36 BUILD_DEFS+= DSPAM_HOME VARBASE
37 BUILD_DEFS+= DSPAM_SIGNATURE_LIFE
38 BUILD_DEFS+= DSPAM_BINMODE
39 BUILD_DEFS+= DSPAM_LOGDIR
40 BUILD_DEFS+= DSPAM_LOGFILE
41 BUILD_DEFS+= DSPAM_DOMAIN
42 BUILD_DEFS+= DSPAM_WWWHOME
43 BUILD_DEFS+= DSPAM_PIDDIR
44 BUILD_DEFS+= APACHE_USER
45 BUILD_DEFS+= APACHE_GROUP
47 .include "../../mk/bsd.prefs.mk"
49 DSPAM_HOME?= ${VARBASE}/dspam
50 DSPAM_SIGNATURE_LIFE?= 14
55 DSPAM_LOGDIR?= ${DSPAM_HOME}/log
56 DSPAM_LOGFILE?= ${DSPAM_LOGDIR}/dspam.log
57 DSPAM_DOMAIN?= yourdomain.com
58 DSPAM_WWWHOME?= /dspam
59 DSPAM_PIDDIR?= ${VARBASE}/run/dspam
60 DSPAM_WWWUSER?= ${APACHE_USER}
61 DSPAM_WWWGROUP?= ${APACHE_GROUP}
63 PKG_GROUPS_VARS+= DSPAM_GROUP DSPAM_WWWGROUP
64 PKG_USERS_VARS+= DSPAM_USER DSPAM_WWWUSER
66 CONFIGURE_ARGS+= --with-signature-life=${DSPAM_SIGNATURE_LIFE:Q}
67 CONFIGURE_ARGS+= --with-dspam-home=${DSPAM_HOME:Q} \
68 --with-dspam-home-owner=${DSPAM_USER:Q} \
69 --with-dspam-home-group=${DSPAM_GROUP:Q} \
70 --with-dspam-owner=${DSPAM_USER:Q} \
71 --with-dspam-group=${DSPAM_GROUP:Q} \
72 --with-dspam-mode=${DSPAM_BINMODE:Q} \
73 --with-logdir=${DSPAM_LOGDIR:Q} \
74 --sysconfdir=${PKG_SYSCONFDIR:Q}
77 .include "../../mk/pthread.buildlink3.mk"
79 DOCDIR= ${PREFIX}/share/doc/dspam
80 DATADIR= ${PREFIX}/share/dspam
81 EGDIR= ${PREFIX}/share/examples/dspam
85 PKG_SYSCONFSUBDIR= dspam
87 CONF_FILES_PERMS= ${EGDIR}/dspam.conf ${PKG_SYSCONFDIR}/dspam.conf \
88 ${DSPAM_USER} ${DSPAM_WWWGROUP} 0640
89 CONF_FILES_PERMS+= ${EGDIR}/cgi-admins ${PKG_SYSCONFDIR}/cgi-admins \
90 ${DSPAM_WWWUSER} ${DSPAM_WWWGROUP} 0640
91 CONF_FILES_PERMS+= ${EGDIR}/cgi-default.prefs \
92 ${PKG_SYSCONFDIR}/cgi-default.prefs \
93 ${DSPAM_WWWUSER} ${DSPAM_WWWGROUP} 0640
94 CONF_FILES_PERMS+= ${EGDIR}/configure.pl ${PKG_SYSCONFDIR}/configure.pl \
95 ${DSPAM_WWWUSER} ${DSPAM_WWWGROUP} 0640
97 PKG_GROUPS= ${DSPAM_GROUP}
98 PKG_USERS= ${DSPAM_USER}:${DSPAM_GROUP}
99 SPECIAL_PERMS= ${PREFIX}/bin/dspam ${DSPAM_USER} ${DSPAM_GROUP} \
101 OWN_DIRS_PERMS= ${DSPAM_HOME} ${DSPAM_USER} ${DSPAM_WWWGROUP} 0775
102 OWN_DIRS_PERMS+= ${DSPAM_LOGDIR} ${DSPAM_USER} ${DSPAM_GROUP} 0775
103 OWN_DIRS_PERMS+= ${DSPAM_PIDDIR} ${DSPAM_USER} ${DSPAM_GROUP} 0770
105 FILES_SUBST+= DSPAM_USER=${DSPAM_USER:Q}
106 FILES_SUBST+= DSPAM_GROUP=${DSPAM_GROUP:Q}
107 FILES_SUBST+= DSPAM_PIDDIR=${DSPAM_PIDDIR:Q}
110 SUBST_STAGE.conf= pre-install
111 SUBST_FILES.conf= src/dspam.conf.in
112 SUBST_SED.conf= -e "s|@dspam_home@|${DSPAM_HOME}|g"
113 SUBST_SED.conf+= -e "s|@delivery_agent@|${DSPAM_DELIVERY_AGENT_BIN}|g"
114 SUBST_SED.conf+= -e "s|@PREFIX@|${PREFIX}|g"
115 SUBST_SED.conf+= -e "s|@VARBASE@|${VARBASE}|g"
116 SUBST_SED.conf+= -e "s|@DSPAM_PIDDIR@|${DSPAM_PIDDIR}|g"
117 SUBST_MESSAGE.conf= Fixing configuration file.
120 ${CHMOD} -R go-w ${WRKSRC}
123 ${INSTALL_DATA_DIR} ${DOCDIR}
124 ${INSTALL_DATA} ${WRKSRC}/README ${DOCDIR}
125 ${INSTALL_DATA} ${WRKSRC}/RELEASE.NOTES ${DOCDIR}
126 ${INSTALL_DATA} ${WRKSRC}/UPGRADING ${DOCDIR}
127 ${INSTALL_DATA} ${WRKSRC}/doc/*.txt ${DOCDIR}
128 ${INSTALL_DATA_DIR} ${DATADIR}
129 ${INSTALL_DATA_DIR} ${EGDIR}
130 ${INSTALL_DATA} ${WRKSRC}/src/dspam.conf.in ${EGDIR}/dspam.conf
131 ${INSTALL_DATA} ${WRKSRC}/webui/cgi-bin/admins ${EGDIR}/cgi-admins
132 ${INSTALL_DATA} ${WRKSRC}/webui/cgi-bin/default.prefs \
133 ${EGDIR}/cgi-default.prefs
134 ${INSTALL_DATA} ${WRKSRC}/webui/cgi-bin/configure.pl \
135 ${EGDIR}/configure.pl
137 .for d in txt webui/cgi-bin webui/htdocs
138 ${INSTALL_DATA_DIR} ${DATADIR}/${d}
139 cd ${WRKSRC}/${d} && pax -rwppm '-s|.*/Makefile.*$$||' \
140 '-s|./admins.*$$||' '-s|./default.prefs.*$$||' \
141 '-s|./configure.pl.*$$||' . ${DATADIR}/${d}
144 .for drv in mysql pgsql
145 . if !empty(DSPAM_STORAGE_DRIVER:M${drv})
146 ${INSTALL_DATA_DIR} ${DATADIR}/${drv}
147 cd ${WRKSRC}/src/tools.${drv}_drv && \
148 pax -rwpm ./*.sql ${DATADIR}/${drv}
152 .if !empty(DSPAM_STORAGE_DRIVER:Msqlite*)
153 ${INSTALL_DATA_DIR} ${DATADIR}/sqlite
154 cd ${WRKSRC}/src/tools.sqlite_drv && \
155 pax -rwpm '-s|.*/Makefile.*$$||' . ${DATADIR}/sqlite
158 ${CHMOD} ${SHAREMODE} ${DATADIR}/webui/cgi-bin/*.txt
159 ${CHMOD} ${SHAREMODE} ${DATADIR}/webui/cgi-bin/templates/*.html
160 ${CHMOD} ${SHAREMODE} ${DATADIR}/webui/htdocs/*.css
161 ${CHMOD} ${SHAREMODE} ${DATADIR}/webui/htdocs/*.gif
163 .include "../../mk/bsd.pkg.mk"