Lines 4-10
Link Here
|
4 |
|
4 |
|
5 |
inherit eutils |
5 |
inherit eutils |
6 |
|
6 |
|
7 |
MY_PV=${PV/_rc/.rc} |
7 |
MY_PV=${PV/_p/.pr} |
8 |
S=${WORKDIR}/${PN}-${MY_PV} |
8 |
S=${WORKDIR}/${PN}-${MY_PV} |
9 |
DESCRIPTION="A statistical-algorithmic hybrid anti-spam filter" |
9 |
DESCRIPTION="A statistical-algorithmic hybrid anti-spam filter" |
10 |
SRC_URI="http://dspam.nuclearelephant.com/sources/${PN}-${MY_PV}.tar.gz |
10 |
SRC_URI="http://dspam.nuclearelephant.com/sources/${PN}-${MY_PV}.tar.gz |
Lines 12-18
Link Here
|
12 |
HOMEPAGE="http://dspam.nuclearelephant.com/" |
12 |
HOMEPAGE="http://dspam.nuclearelephant.com/" |
13 |
LICENSE="GPL-2" |
13 |
LICENSE="GPL-2" |
14 |
|
14 |
|
15 |
IUSE="debug mysql neural oci8 postgres sqlite large-domain" |
15 |
IUSE="debug mysql neural oci8 postgres sqlite sqlite3 large-domain" |
16 |
DEPEND="mysql? ( >=dev-db/mysql-3.23 ) |
16 |
DEPEND="mysql? ( >=dev-db/mysql-3.23 ) |
17 |
sqlite? ( <dev-db/sqlite-3 ) |
17 |
sqlite? ( <dev-db/sqlite-3 ) |
18 |
sqlite3? ( >=dev-db/sqlite-3 ) |
18 |
sqlite3? ( >=dev-db/sqlite-3 ) |
Lines 33-41
Link Here
|
33 |
if (use mysql && use postgres) || \ |
33 |
if (use mysql && use postgres) || \ |
34 |
(use mysql && use oci8) || \ |
34 |
(use mysql && use oci8) || \ |
35 |
(use mysql && use sqlite) || \ |
35 |
(use mysql && use sqlite) || \ |
|
|
36 |
(use mysql && use sqlite3) || \ |
36 |
(use postgres && use oci8) || \ |
37 |
(use postgres && use oci8) || \ |
37 |
(use postgres && use sqlite) || \ |
38 |
(use postgres && use sqlite) || \ |
38 |
(use sqlite && use oci8); then |
39 |
(use postgres && use sqlite3) || \ |
|
|
40 |
(use sqlite && use oci8) || \ |
41 |
(use sqlite3 && use oci8); then |
39 |
echo |
42 |
echo |
40 |
ewarn "You have two of either \"mysql\", \"postgres\", \"oci8\", \"sqlite\" or \"sqlite3\" in your USE flags." |
43 |
ewarn "You have two of either \"mysql\", \"postgres\", \"oci8\", \"sqlite\" or \"sqlite3\" in your USE flags." |
41 |
ewarn "Will default to MySQL as your dspam database backend." |
44 |
ewarn "Will default to MySQL as your dspam database backend." |
Lines 45-51
Link Here
|
45 |
has_version ">=sys-apps/portage-2.0.50" && ( |
48 |
has_version ">=sys-apps/portage-2.0.50" && ( |
46 |
einfo "It would be best practice to add the set of USE flags that you use for this" |
49 |
einfo "It would be best practice to add the set of USE flags that you use for this" |
47 |
einfo "package to the file: /etc/portage/package.use. Example:" |
50 |
einfo "package to the file: /etc/portage/package.use. Example:" |
48 |
einfo "\`echo \"net-mail/dspam -mysql postgres -oci8 -sqlite -sqlite3\" >> /etc/portage/package.use\`" |
51 |
einfo "\`echo \"mail-filter/dspam -mysql postgres -oci8 -sqlite -sqlite3\" >> /etc/portage/package.use\`" |
49 |
einfo "to build dspam with Postgres database as your dspam backend." |
52 |
einfo "to build dspam with Postgres database as your dspam backend." |
50 |
) |
53 |
) |
51 |
echo |
54 |
echo |
Lines 62-72
Link Here
|
62 |
|
65 |
|
63 |
# these are the default settings |
66 |
# these are the default settings |
64 |
#myconf="${myconf} --enable-daemon" |
67 |
#myconf="${myconf} --enable-daemon" |
65 |
#myconf="${myconf} --enable-nodalcore" |
|
|
66 |
myconf="${myconf} --enable-homedir" |
68 |
myconf="${myconf} --enable-homedir" |
67 |
myconf="${myconf} --enable-long-username" |
69 |
myconf="${myconf} --enable-long-username" |
68 |
myconf="${myconf} --enable-robinson" |
70 |
# Note: The author recommends that if you enable chi square, |
|
|
71 |
# you also DISABLE graham and burton bayesian tests. |
69 |
#myconf="${myconf} --enable-chi-square" |
72 |
#myconf="${myconf} --enable-chi-square" |
|
|
73 |
#myconf="${myconf} --disable-graham-bayesian --disable-burton-bayesian" |
70 |
#myconf="${myconf} --enable-robinson-pvalues" |
74 |
#myconf="${myconf} --enable-robinson-pvalues" |
71 |
use large-domain && myconf="${myconf} --enable-large-scale" ||\ |
75 |
use large-domain && myconf="${myconf} --enable-large-scale" ||\ |
72 |
myconf="${myconf} --enable-domain-scale" |
76 |
myconf="${myconf} --enable-domain-scale" |
Lines 115-120
Link Here
|
115 |
--with-oracle-version=MAJOR |
119 |
--with-oracle-version=MAJOR |
116 |
myconf="${myconf} --with-oracle-version=10" |
120 |
myconf="${myconf} --with-oracle-version=10" |
117 |
fi |
121 |
fi |
|
|
122 |
elif use sqlite3 ; then |
123 |
myconf="${myconf} --with-storage-driver=sqlite3_drv" |
124 |
myconf="${myconf} --enable-virtual-users" |
118 |
elif use sqlite ; then |
125 |
elif use sqlite ; then |
119 |
myconf="${myconf} --with-storage-driver=sqlite_drv" |
126 |
myconf="${myconf} --with-storage-driver=sqlite_drv" |
120 |
myconf="${myconf} --enable-virtual-users" |
127 |
myconf="${myconf} --enable-virtual-users" |
Lines 152-157
Link Here
|
152 |
-i Makefile |
158 |
-i Makefile |
153 |
make DESTDIR=${D} install || die |
159 |
make DESTDIR=${D} install || die |
154 |
chmod 4755 ${D}/usr/bin/dspam |
160 |
chmod 4755 ${D}/usr/bin/dspam |
|
|
161 |
chmod 4755 ${D}/usr/bin/dspam_stats |
155 |
|
162 |
|
156 |
# documentation |
163 |
# documentation |
157 |
if use mysql; then |
164 |
if use mysql; then |
Lines 282-287
Link Here
|
282 |
exeopts -m0755 -o dspam -g dspam |
289 |
exeopts -m0755 -o dspam -g dspam |
283 |
doexe ${FILESDIR}/dspam.cron |
290 |
doexe ${FILESDIR}/dspam.cron |
284 |
|
291 |
|
|
|
292 |
# installs the notification messages |
293 |
diropts -m0775 -o dspam -g dspam |
294 |
dodir ${HOMEDIR}/txt |
295 |
keepdir ${HOMEDIR}/txt |
296 |
insinto ${HOMEDIR}/txt |
297 |
insopts -m644 -o dspam -g dspam |
298 |
for foo in ${S}/txt/*.txt; do |
299 |
if [ ! -f "$(basename ${foo})" ]; then |
300 |
doins ${foo} |
301 |
fi |
302 |
done |
303 |
|
285 |
# dspam enviroment |
304 |
# dspam enviroment |
286 |
echo -ne "CONFIG_PROTECT_MASK=\"${HOMEDIR}\"\n\n" > ${T}/40dspam |
305 |
echo -ne "CONFIG_PROTECT_MASK=\"${HOMEDIR}\"\n\n" > ${T}/40dspam |
287 |
doenvd ${T}/40dspam || die |
306 |
doenvd ${T}/40dspam || die |
Lines 377-382
Link Here
|
377 |
/usr/bin/psql -d ${DSPAM_PgSQL_DB} -U postgres -c "GRANT ALL PRIVILEGES ON SCHEMA public TO ${DSPAM_PgSQL_USER};" 1>/dev/null 2>&1 |
396 |
/usr/bin/psql -d ${DSPAM_PgSQL_DB} -U postgres -c "GRANT ALL PRIVILEGES ON SCHEMA public TO ${DSPAM_PgSQL_USER};" 1>/dev/null 2>&1 |
378 |
elif use oci8 ; then |
397 |
elif use oci8 ; then |
379 |
[[ -f ${HOMEDIR}/oracle.data ]] && mv -f ${HOMEDIR}/oracle.data ${HOMEDIR} |
398 |
[[ -f ${HOMEDIR}/oracle.data ]] && mv -f ${HOMEDIR}/oracle.data ${HOMEDIR} |
|
|
399 |
elif use sqlite3 ; then |
400 |
einfo "sqlite3_drv will automatically create the necessary database" |
401 |
einfo "objects for each user upon first use of DSPAM by that user." |
380 |
elif use sqlite ; then |
402 |
elif use sqlite ; then |
381 |
einfo "sqlite_drv will automatically create the necessary database" |
403 |
einfo "sqlite_drv will automatically create the necessary database" |
382 |
einfo "objects for each user upon first use of DSPAM by that user." |
404 |
einfo "objects for each user upon first use of DSPAM by that user." |