diff options
author | Lim Swee Tat <st_lim@gentoo.org> | 2004-10-09 04:40:13 +0000 |
---|---|---|
committer | Lim Swee Tat <st_lim@gentoo.org> | 2004-10-09 04:40:13 +0000 |
commit | adccfa064f7e0e9eb05127e32d299e7aca51b8d1 (patch) | |
tree | 3a36d150a2a664e53c9e65279a20dd836739344f /mail-filter | |
parent | Stable on sparc. (Manifest recommit) (diff) | |
download | gentoo-2-adccfa064f7e0e9eb05127e32d299e7aca51b8d1.tar.gz gentoo-2-adccfa064f7e0e9eb05127e32d299e7aca51b8d1.tar.bz2 gentoo-2-adccfa064f7e0e9eb05127e32d299e7aca51b8d1.zip |
version bump to 3.2 rc2, and fixed bug #66562 for exim
Diffstat (limited to 'mail-filter')
-rw-r--r-- | mail-filter/dspam/ChangeLog | 10 | ||||
-rw-r--r-- | mail-filter/dspam/Manifest | 42 | ||||
-rw-r--r-- | mail-filter/dspam/dspam-3.0.0.ebuild | 4 | ||||
-rw-r--r-- | mail-filter/dspam/dspam-3.1.0.ebuild | 4 | ||||
-rw-r--r-- | mail-filter/dspam/dspam-3.1.1.ebuild | 4 | ||||
-rw-r--r-- | mail-filter/dspam/dspam-3.1.2.ebuild | 4 | ||||
-rw-r--r-- | mail-filter/dspam/dspam-3.2_beta1.ebuild | 4 | ||||
-rw-r--r-- | mail-filter/dspam/dspam-3.2_rc2.ebuild | 416 | ||||
-rw-r--r-- | mail-filter/dspam/files/digest-dspam-3.2_rc2 | 1 |
9 files changed, 453 insertions, 36 deletions
diff --git a/mail-filter/dspam/ChangeLog b/mail-filter/dspam/ChangeLog index 269ce417d971..ec37197c04b7 100644 --- a/mail-filter/dspam/ChangeLog +++ b/mail-filter/dspam/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for mail-filter/dspam # Copyright 1999-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/ChangeLog,v 1.16 2004/09/27 22:23:44 ticho Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/ChangeLog,v 1.17 2004/10/09 04:40:13 st_lim Exp $ + +*dspam-3.2_rc2 (09 Oct 2004) + + 09 Oct 2004; Lim Swee Tat <st_lim@gentoo.org> dspam-3.0.0.ebuild, + dspam-3.1.0.ebuild, dspam-3.1.1.ebuild, dspam-3.1.2.ebuild, + dspam-3.2_beta1.ebuild, +dspam-3.2_rc2.ebuild: + Version bump to 3.2 rc2 + exim fixed for everything 28 Sep 2004; Andrej Kacian <ticho@gentoo.org> metadata.xml: Fixed herd name in metadata.xml. diff --git a/mail-filter/dspam/Manifest b/mail-filter/dspam/Manifest index 259ad1a8ee51..1bec8088a20f 100644 --- a/mail-filter/dspam/Manifest +++ b/mail-filter/dspam/Manifest @@ -1,36 +1,28 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - -MD5 2e4394db8599629967dd0cb8f5322556 dspam-3.2_beta1.ebuild 15331 MD5 e5b2ea6a74dee0e549e16465c3140223 ChangeLog 3243 MD5 ae3a688715ae77f8c9acfa862adbb8e8 dspam-3.0.0.ebuild 6928 -MD5 dbfbe5a3bbe3347938107f5f5bd2197e metadata.xml 308 -MD5 be845fc1444406bd24e54ceb0fe2620a dspam-3.1.2.ebuild 15328 MD5 029098e21997b6e38bbd2e328a30ab6a dspam-3.1.0.ebuild 9314 MD5 1bece1fdd8f24a173dc5410578d7756e dspam-3.1.1.ebuild 15329 -MD5 7f1185a1a89bc7c74aafba93afc2b0cf files/digest-dspam-3.1.0 63 -MD5 1abffcec9dd1aad2db3d68918b4aec05 files/digest-dspam-3.1.1 63 -MD5 a6fc685d30abb83a1ab5ac0181ad1f7c files/pgsql.data 51 +MD5 be845fc1444406bd24e54ceb0fe2620a dspam-3.1.2.ebuild 15328 +MD5 2e4394db8599629967dd0cb8f5322556 dspam-3.2_beta1.ebuild 15331 +MD5 ba6116892e7c50d6d6c0b555a366d952 dspam-3.2_rc2.ebuild 15535 +MD5 dbfbe5a3bbe3347938107f5f5bd2197e metadata.xml 308 +MD5 c12a54112c6fec3530a7b1a368d04ac8 files/README.postfix 309 +MD5 e0469b961385fda4305602dc2519d319 files/README.qmail 2317 MD5 cd1bdb75fd86304f9453741a910cb8a2 files/crontab.db4 196 -MD5 84ec40b77696359ae49560588db9b948 files/mysql.data 52 -MD5 9fed58b73e35e02ecc3f9a08dcd94eaa files/mysql_purge_db 73 MD5 f2f86e8f7ab440c8537f40fa18a0ee43 files/crontab.mysql 118 -MD5 a8c089a75fb1ee3c2b4f32ffc04c638e files/digest-dspam-3.1.2 63 -MD5 c12a54112c6fec3530a7b1a368d04ac8 files/README.postfix 309 +MD5 98667f3553df911cd92818a1162a95ed files/digest-dspam-3.2_beta1 68 +MD5 1c0bdc13fb97e5dd3d3bf0efa9205b8c files/digest-dspam-3.2_rc2 65 MD5 9a2fda6789f0db17b6a32ca84e9e3884 files/dspam.cron 2501 MD5 2163ca41de383f09f4d754e2d35cb158 files/logrotate.dspam 156 -MD5 e0469b961385fda4305602dc2519d319 files/README.qmail 2317 -MD5 2cd345708a9889a04c472a9e5be7400e files/untrusted.mailer_args 24 +MD5 84ec40b77696359ae49560588db9b948 files/mysql.data 52 +MD5 5bcf982f468f4843ef3aa51213cc0023 files/mysql_create_user.sql 194 +MD5 2a79c945ef6c7e7bd45aa1d46ae99e69 files/mysql_install_db 114 +MD5 9fed58b73e35e02ecc3f9a08dcd94eaa files/mysql_purge_db 73 +MD5 a6fc685d30abb83a1ab5ac0181ad1f7c files/pgsql.data 51 MD5 e6d1b8232199f288fe75501251ade317 files/trusted.users 19 +MD5 2cd345708a9889a04c472a9e5be7400e files/untrusted.mailer_args 24 MD5 8b68501138fbe92e10bbd93a03c9f2ab files/upgrade.sql 807 MD5 05dce5dc8cf516655657aa2a4cc5f1da files/digest-dspam-3.0.0 63 -MD5 2a79c945ef6c7e7bd45aa1d46ae99e69 files/mysql_install_db 114 -MD5 5bcf982f468f4843ef3aa51213cc0023 files/mysql_create_user.sql 194 -MD5 98667f3553df911cd92818a1162a95ed files/digest-dspam-3.2_beta1 68 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.2.6 (GNU/Linux) - -iD8DBQFBWJL710xuJSrg3/sRAq5OAJ0cW7yPCbEvthy39BFMWhQJBgKvkwCdHUCx -GjzehE3q3nYoVgz7+GdirHw= -=K+bj ------END PGP SIGNATURE----- +MD5 7f1185a1a89bc7c74aafba93afc2b0cf files/digest-dspam-3.1.0 63 +MD5 1abffcec9dd1aad2db3d68918b4aec05 files/digest-dspam-3.1.1 63 +MD5 a8c089a75fb1ee3c2b4f32ffc04c638e files/digest-dspam-3.1.2 63 diff --git a/mail-filter/dspam/dspam-3.0.0.ebuild b/mail-filter/dspam/dspam-3.0.0.ebuild index a320a3ff0d29..1b503c9fc6c0 100644 --- a/mail-filter/dspam/dspam-3.0.0.ebuild +++ b/mail-filter/dspam/dspam-3.0.0.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.0.0.ebuild,v 1.7 2004/07/21 17:34:21 mr_bones_ Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.0.0.ebuild,v 1.8 2004/10/09 04:40:13 st_lim Exp $ inherit eutils @@ -43,7 +43,7 @@ src_compile() { if use cyrus; then agent="/usr/lib/cyrus/deliver %u" elif use exim; then - agent="/usr/sbin/exim -oMr spam-scanned" + agent="/usr/sbin/exim -oMr spam-scanned %u" elif use maildrop; then agent="/usr/bin/maildrop -d %u" elif use procmail; then diff --git a/mail-filter/dspam/dspam-3.1.0.ebuild b/mail-filter/dspam/dspam-3.1.0.ebuild index ded111261146..81ac59592088 100644 --- a/mail-filter/dspam/dspam-3.1.0.ebuild +++ b/mail-filter/dspam/dspam-3.1.0.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.1.0.ebuild,v 1.3 2004/09/06 00:55:55 ciaranm Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.1.0.ebuild,v 1.4 2004/10/09 04:40:13 st_lim Exp $ inherit eutils @@ -63,7 +63,7 @@ src_compile() { if use cyrus; then agent="/usr/lib/cyrus/deliver %u" elif use exim; then - agent="/usr/sbin/exim -oMr spam-scanned" + agent="/usr/sbin/exim -oMr spam-scanned %u" elif use maildrop; then agent="/usr/bin/maildrop -d %u" elif use procmail; then diff --git a/mail-filter/dspam/dspam-3.1.1.ebuild b/mail-filter/dspam/dspam-3.1.1.ebuild index 2a64f4c81e28..8fce4530d32c 100644 --- a/mail-filter/dspam/dspam-3.1.1.ebuild +++ b/mail-filter/dspam/dspam-3.1.1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.1.1.ebuild,v 1.5 2004/09/06 00:55:55 ciaranm Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.1.1.ebuild,v 1.6 2004/10/09 04:40:13 st_lim Exp $ inherit eutils @@ -64,7 +64,7 @@ src_compile() { if use cyrus; then agent="/usr/lib/cyrus/deliver %u" elif use exim; then - agent="/usr/sbin/exim -oMr spam-scanned" + agent="/usr/sbin/exim -oMr spam-scanned %u" elif use maildrop; then agent="/usr/bin/maildrop -d %u" elif use procmail; then diff --git a/mail-filter/dspam/dspam-3.1.2.ebuild b/mail-filter/dspam/dspam-3.1.2.ebuild index 3a61df3a40ac..900fe6f12096 100644 --- a/mail-filter/dspam/dspam-3.1.2.ebuild +++ b/mail-filter/dspam/dspam-3.1.2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.1.2.ebuild,v 1.1 2004/09/07 13:14:20 st_lim Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.1.2.ebuild,v 1.2 2004/10/09 04:40:13 st_lim Exp $ inherit eutils @@ -64,7 +64,7 @@ src_compile() { if use cyrus; then agent="/usr/lib/cyrus/deliver %u" elif use exim; then - agent="/usr/sbin/exim -oMr spam-scanned" + agent="/usr/sbin/exim -oMr spam-scanned %u" elif use maildrop; then agent="/usr/bin/maildrop -d %u" elif use procmail; then diff --git a/mail-filter/dspam/dspam-3.2_beta1.ebuild b/mail-filter/dspam/dspam-3.2_beta1.ebuild index c308d1db756d..b943d5b2c673 100644 --- a/mail-filter/dspam/dspam-3.2_beta1.ebuild +++ b/mail-filter/dspam/dspam-3.2_beta1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.2_beta1.ebuild,v 1.1 2004/09/25 03:33:54 st_lim Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.2_beta1.ebuild,v 1.2 2004/10/09 04:40:13 st_lim Exp $ inherit eutils @@ -64,7 +64,7 @@ src_compile() { if use cyrus; then agent="/usr/lib/cyrus/deliver %u" elif use exim; then - agent="/usr/sbin/exim -oMr spam-scanned" + agent="/usr/sbin/exim -oMr spam-scanned %u" elif use maildrop; then agent="/usr/bin/maildrop -d %u" elif use procmail; then diff --git a/mail-filter/dspam/dspam-3.2_rc2.ebuild b/mail-filter/dspam/dspam-3.2_rc2.ebuild new file mode 100644 index 000000000000..53d4689766b3 --- /dev/null +++ b/mail-filter/dspam/dspam-3.2_rc2.ebuild @@ -0,0 +1,416 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.2_rc2.ebuild,v 1.1 2004/10/09 04:40:13 st_lim Exp $ + +inherit eutils + +MY_PV=${PV/_rc/.rc} +S=${WORKDIR}/${PN}-${MY_PV} +DESCRIPTION="A statistical-algorithmic hybrid anti-spam filter" +SRC_URI="http://www.nuclearelephant.com/projects/dspam/sources/${PN}-${MY_PV}.tar.gz" +HOMEPAGE="http://www.nuclearelephant.com/projects/dspam/index.html" +LICENSE="GPL-2" + +IUSE="cyrus debug exim mysql maildrop neural oci8 postgres procmail sqlite" +DEPEND="exim? ( >=mail-mta/exim-4.34 ) + mysql? ( >=dev-db/mysql-3.23 ) || ( >=sys-libs/db-4.0 ) + sqlite? ( >=dev-db/sqlite-3.0.6 ) + maildrop? ( >=mail-filter/maildrop-1.5.3 ) + postgres? ( >=dev-db/postgresql-7.4.3 ) + procmail? ( >=mail-filter/procmail-3.22 ) + x86? ( cyrus? ( >=net-mail/cyrus-imapd-2.1.15 ) ) + " +RDEPEND="virtual/cron + app-admin/logrotate" +KEYWORDS="~x86 ~ppc" +SLOT="0" + +# some FHS-like structure +HOMEDIR="/etc/mail/dspam" +DATADIR="/var/spool/dspam" +LOGDIR="/var/log/dspam" +CONFIGDIR="${HOMEDIR}/config" + +pkg_setup() { + if (use mysql && use postgres) || \ + (use mysql && use oci8) || \ + (use mysql && use sqlite) || \ + (use postgres && use oci8) || \ + (use postgres && use sqlite) || \ + (use sqlite && use oci8); then + echo + ewarn "You have two of either \"mysql\", \"postgres\", \"oci8\" or \"sqlite\" in your USE flags." + ewarn "Will default to MySQL as your dspam database backend." + ewarn "If you want to build with Postgres/Oracle/SQLite support; hit Control-C now." + ewarn "Change your USE flag -mysql and emerge again." + echo + has_version ">=sys-apps/portage-2.0.50" && ( + einfo "It would be best practice to add the set of USE flags that you use for this" + einfo "package to the file: /etc/portage/package.use. Example:" + einfo "\`echo \"net-mail/dspam -mysql postgres -oci8 -sqlite\" >> /etc/portage/package.use\`" + einfo "to build dspam with Postgres database as your dspam backend." + ) + echo + ewarn "Waiting 30 seconds before starting..." + ewarn "(Control-C to abort)..." + epause 30 + fi + id dspam 2>/dev/null || enewgroup dspam 65532 + id dspam 2>/dev/null || enewuser dspam 65532 /bin/bash ${HOMEDIR} dspam +} + +src_compile() { + local myconf + + # these are the default settings + myconf="${myconf} --with-signature-life=14" + myconf="${myconf} --enable-broken-return-codes" + myconf="${myconf} --enable-preferences-extension" + myconf="${myconf} --enable-experimental" + myconf="${myconf} --enable-long-username" + myconf="${myconf} --enable-robinson" + #myconf="${myconf} --enable-chi-square" + myconf="${myconf} --enable-robinson-pvalues" + #myconf="${myconf} --enable-broken-mta" + myconf="${myconf} --enable-large-scale" + #myconf="${myconf} --enable-domain-scale" + + # ${HOMEDIR}/data is a symlink to ${DATADIR} + myconf="${myconf} --with-dspam-mode=4755" + myconf="${myconf} --with-dspam-owner=dspam" + myconf="${myconf} --with-dspam-group=dspam" + myconf="${myconf} --enable-homedir --with-dspam-home=${HOMEDIR} --sysconfdir=${HOMEDIR}" + myconf="${myconf} --with-logdir=/var/log/dspam" + + # enables support for debugging (touch /etc/dspam/.debug to turn on) + # optional: even MORE debugging output, use with extreme caution! + use debug && myconf="${myconf} --enable-debug --enable-verbose-debug" + + # select storage driver + if use mysql ; then + myconf="${myconf} --with-storage-driver=mysql_drv" + myconf="${myconf} --with-mysql-includes=/usr/include/mysql" + myconf="${myconf} --with-mysql-libraries=/usr/lib/mysql" + myconf="${myconf} --with-client-compression" + myconf="${myconf} --enable-virtual-users" + + # an experimental feature available with MySQL and PgSQL backend + if use neural ; then + myconf="${myconf} --enable-neural-networking" + fi + elif use postgres ; then + myconf="${myconf} --with-storage-driver=pgsql_drv" + myconf="${myconf} --with-pgsql-includes=/usr/include/postgresql" + myconf="${myconf} --with-pgsql-libraries=/usr/lib/postgresql" + myconf="${myconf} --enable-virtual-users" + + # an experimental feature available with MySQL and PgSQL backend + if use neural ; then + myconf="${myconf} --enable-neural-networking" + fi + elif use oci8 ; then + myconf="${myconf} --with-storage-driver=ora_drv" + myconf="${myconf} --with-oracle-home=${ORACLE_HOME}" + myconf="${myconf} --enable-virtual-users" + + # I am in no way a Oracle specialist. If someone knows + # how to query the version of Oracle, then let me know. + if (expr ${ORACLE_HOME/*\/} : 10 1>/dev/null 2>&1) + then + --with-oracle-version=MAJOR + myconf="${myconf} --with-oracle-version=10" + fi + elif use sqlite ; then + myconf="${myconf} --with-storage-driver=sqlite_drv" + myconf="${myconf} --enable-virtual-users" + + else + myconf="${myconf} --with-storage-driver=libdb4_drv" + myconf="${myconf} --with-db4-includes=/usr/include" + myconf="${myconf} --with-db4-libraries=/usr/lib" + fi + + econf ${myconf} \ + --with-delivery-agent="${agent}" || die + emake || die + +} + +src_install () { + # open up perms on /etc/mail/dspam + diropts -m0775 -o dspam -g dspam + dodir ${HOMEDIR} + keepdir ${HOMEDIR} + + # keeps dspam data in /var + diropts -m0770 -o dspam -g dspam + dodir ${DATADIR} + keepdir ${DATADIR} + + # keeps dspam log in /var/log + diropts -m0775 -o dspam -g dspam + dodir ${LOGDIR} + keepdir ${LOGDIR} + + # make install + sed -e 's/rm -f ..mandir.\(.*\)/rm -f ${D}${mandir}\1/g' \ + -e 's/ln -s ..mandir.\(.*\) ..mandir.\(.*3\)/ln -s ${mandir}\1.gz ${D}${mandir}\2.gz/g' \ + -i Makefile + make DESTDIR=${D} etcdest=${D}${HOMEDIR} install || die + chmod 4755 ${D}/usr/bin/dspam + + # documentation + dodoc CHANGELOG LICENSE README RELEASE.NOTES + dodoc ${FILESDIR}/README.postfix ${FILESDIR}/README.qmail + if use mysql ; then + newdoc tools.mysql_drv/README + elif use postgres ; then + newdoc tools.pgsql_drv/README + elif use oci8 ; then + newdoc tools.ora_drv/README + elif use sqlite ; then + newdoc tools.sqlite_drv/README + fi + + # build some initial configuration data + (echo "trainingMode=TEFT" + echo "spamAction=deliver" + echo "spamSubject=[SPAM]" + echo "statisticalSedation=5" + echo "enableBNR=on" + echo "enableWhitelist=on") >${T}/default.prefs + echo "groupname:classification:*globaluser" >${T}/group + if use cyrus; then + echo "/usr/lib/cyrus/deliver %u" > ${T}/untrusted.mailer_args + elif use exim; then + echo "/usr/sbin/exim -oMr spam-scanned %u" > ${T}/untrusted.mailer_args + elif use courier; then + echo "/usr/bin/maildrop -d %u" > ${T}/untrusted.mailer_args + elif use procmail; then + echo "/usr/bin/procmail -d %u" > ${T}/untrusted.mailer_args + fi + + # install some initial configuration + insinto ${HOMEDIR} + insopts -m0640 -o dspam -g dspam + [ ! -f ${HOMEDIR}/trusted.users ] && doins ${FILESDIR}/trusted.users + doins ${T}/untrusted.mailer_args + doins ${T}/default.prefs + doins ${T}/group + + local PASSWORD="${RANDOM}${RANDOM}${RANDOM}${RANDOM}" + + # database related configuration and scripts + if use mysql ; then + insinto ${CONFIGDIR} + insopts -m644 -o dspam -g dspam + + if [ -f ${HOMEDIR}/mysql.data ]; then + # Use an existing password + PASSWORD="$(tail -n 2 ${HOMEDIR}/mysql.data | head -n 1 )" + else + # Create the mysql.data file + echo "127.0.0.1" >${T}/mysql.data + echo "3306" >>${T}/mysql.data + echo "dspam" >>${T}/mysql.data + echo "${PASSWORD}" >>${T}/mysql.data + echo "dspam" >>${T}/mysql.data + doins ${T}/mysql.data + fi + + newins tools.mysql_drv/mysql_objects.sql.speed.optimized mysql_objects.sql.speed.optimized + newins tools.mysql_drv/mysql_objects.sql.space.optimized mysql_objects.sql.space.optimized + newins tools.mysql_drv/virtual_users.sql mysql_virtual_users.sql + newins tools.mysql_drv/purge.sql mysql_purge.sql + newins ${FILESDIR}/upgrade.sql mysql_upgrade.sql + elif use postgres ; then + insinto ${CONFIGDIR} + insopts -m644 -o dspam -g dspam + + if [ -f ${HOMEDIR}/mysql.data ]; then + # Use an existing password + PASSWORD="$(tail -n 2 ${HOMEDIR}/pgsql.data | head -n 1 )" + else + # Create the pgsql.data file + echo "127.0.0.1" >${T}/pgsql.data + echo "5432" >>${T}/pgsql.data + echo "dspam" >>${T}/pgsql.data + echo "${PASSWORD}" >>${T}/pgsql.data + echo "dspam" >>${T}/pgsql.data + doins ${T}/pgsql.data + fi + + newins tools.pgsql_drv/pgsql_objects.sql pgsql_objects.sql + newins tools.pgsql_drv/virtual_users.sql pgsql_virtual_users.sql + newins tools.pgsql_drv/purge.sql pgsql_purge.sql + + elif use oci8 ; then + insinto ${CONFIGDIR} + insopts -m644 -o dspam -g dspam + + if [ -f ${HOMEDIR}/oracle.data ]; then + # Use an existing password + PASSWORD="$(tail -n 2 ${HOMEDIR}/oracle.data | head -n 1 )" + else + # Create the pgsql.data file + echo "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SID=PROD)))" >${T}/oracle.data + echo "dspam" >>${T}/oracle.data + echo "${PASSWORD}" >>${T}/oracle.data + echo "dspam" >>${T}/oracle.data + doins ${T}/oracle.data + fi + + newins tools.ora_drv/oral_objects.sql ora_objects.sql + newins tools.ora_drv/virtual_users.sql ora_virtual_users.sql + newins tools.ora_drv/purge.sql ora_purge.sql + elif use sqlite ; then + newins tools.sqlite_drv/purge.sql sqlite_purge.sql + fi + + # installs the cron job to the cron directory + diropts -m0755 -o dspam -g dspam + dodir /etc/cron.daily + keepdir /etc/cron.daily + exeinto /etc/cron.daily + exeopts -m0755 -o dspam -g dspam + doexe ${FILESDIR}/dspam.cron + + # installs the logrotation scripts to the logrotate.d directory + diropts -m0755 -o dspam -g dspam + dodir /etc/logrotate.d + keepdir /etc/logrotate.d + insinto /etc/logrotate.d + insopts -m0755 -o dspam -g dspam + newins ${FILESDIR}/logrotate.dspam dspam + + # Symlinks data to HOMEDIR + dosym ${DATADIR} ${HOMEDIR}/data + + # Log files for symlinks + diropts -m0755 -o dspam -g dspam + dodir ${LOGDIR} + keepdir ${LOGDIR} + touch ${T}/empty.file + newins ${T}/empty.file sql.errors + newins ${T}/empty.file system.log + newins ${T}/empty.file dspam.debug + newins ${T}/empty.file dspam.messages + + # dspam still wants to write to a few files in it's home dir + dosym ${LOGDIR}/sql.errors ${HOMEDIR}/sql.errors + dosym ${LOGDIR}/system.log ${HOMEDIR}/system.log + dosym ${LOGDIR}/dspam.debug ${HOMEDIR}/dspam.debug + dosym ${LOGDIR}/dspam.messages ${HOMEDIR}/dspam.messages + + # dspam enviroment + echo -ne "CONFIG_PROTECT_MASK=\"${HOMEDIR} ${CONFIGDIR}\"\n\n" > ${T}/40dspam + doenvd ${T}/40dspam || die +} + +pkg_postinst() { + if use mysql || use postgres; then + einfo "To setup dspam to run out-of-the-box on your system with a mysql or pgsql database, run:" + einfo "ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config" + fi + if use exim ; then + echo + einfo "To use dspam in conjunction with your exim system, you should read the README" + fi +} + +pkg_config () { + if use mysql ; then + [[ -f ${CONFIGDIR}/mysql.data ]] && mv -f ${CONFIGDIR}/mysql.data ${HOMEDIR} + DSPAM_MySQL_USER="$(cat ${HOMEDIR}/mysql.data|head -n 3|tail -n 1)" + DSPAM_MySQL_PWD="$(cat ${HOMEDIR}/mysql.data|head -n 4|tail -n 1)" + DSPAM_MySQL_DB="$(cat ${HOMEDIR}/mysql.data|head -n 5|tail -n 1)" + + ewarn "When prompted for a password, please enter your MySQL root password" + ewarn "" + + einfo "Creating DSPAM MySQL database \"${DSPAM_MySQL_DB}\"" + /usr/bin/mysqladmin -u root -p create ${DSPAM_MySQL_DB} + + einfo "Creating DSPAM MySQL tables for data objects" + einfo " Please select what kind of object database you like to use." + einfo " [1] Space optimized database" + einfo " [2] Speed optimized database" + einfo + while true + do + read -n 1 -s -p " Press 1 or 2 on the keyboard to select database" DSPAM_MySQL_DB_Type + [[ "${DSPAM_MySQL_DB_Type}" == "1" || "${DSPAM_MySQL_DB_Type}" == "2" ]] && break + done + + if [ "${DSPAM_MySQL_DB_Type}" == "1" ] + then + /usr/bin/mysql -u root -p ${DSPAM_MySQL_DB} < ${CONFIGDIR}/mysql_objects.sql.space.optimized + else + /usr/bin/mysql -u root -p ${DSPAM_MySQL_DB} < ${CONFIGDIR}/mysql_objects.sql.speed.optimized + fi + + einfo "Creating DSPAM MySQL database for virtual users" + /usr/bin/mysql -u root -p ${DSPAM_MySQL_DB} < ${CONFIGDIR}/mysql_virtual_users.sql + + einfo "Creating DSPAM MySQL user \"${DSPAM_MySQL_USER}\"" + /usr/bin/mysql -u root -p -e "GRANT SELECT,INSERT,UPDATE,DELETE ON ${DSPAM_MySQL_DB}.* TO ${DSPAM_MySQL_USER}@localhost IDENTIFIED BY '${DSPAM_MySQL_PWD}';FLUSH PRIVILEGES;" -D mysql + elif use postgres ; then + [[ -f ${CONFIGDIR}/pgsql.data ]] && mv -f ${CONFIGDIR}/pgsql.data ${HOMEDIR} + DSPAM_PgSQL_USER="$(cat ${HOMEDIR}/pgsql.data|head -n 3|tail -n 1)" + DSPAM_PgSQL_PWD="$(cat ${HOMEDIR}/pgsql.data|head -n 4|tail -n 1)" + DSPAM_PgSQL_DB="$(cat ${HOMEDIR}/pgsql.data|head -n 5|tail -n 1)" + + ewarn "When prompted for a password, please enter your PgSQL postgres password" + ewarn "" + + einfo "Creating DSPAM PostgreSQL user \"${DSPAM_PgSQL_USER}\"" + /usr/bin/psql -d template1 -U postgres -c "CREATE USER ${DSPAM_PgSQL_USER} WITH PASSWORD '${DSPAM_PgSQL_PWD}' NOCREATEDB NOCREATEUSER;" 1>/dev/null 2>&1 + + einfo "Creating DSPAM PostgreSQL database \"${DSPAM_PgSQL_DB}\"" + /usr/bin/psql -d template1 -U postgres -c "CREATE DATABASE ${DSPAM_PgSQL_DB};" 1>/dev/null 2>&1 + + einfo "Getting DSPAM PostgreSQL userid for \"${DSPAM_PgSQL_USER}\"" + DSPAM_PgSQL_USERID=$(/usr/bin/psql -d ${DSPAM_PgSQL_DB} -U postgres -t -c "SELECT usesysid FROM pg_user WHERE usename='${DSPAM_PgSQL_USER}';" | head -n1 | sed "s/^[ ]*\([^ ]*\).*/\1/g") + einfo " UserID: ${DSPAM_PgSQL_USERID}" + + einfo "Getting DSPAM PostgreSQL databaseid for \"${DSPAM_PgSQL_DB}\"" + DSPAM_PgSQL_DBID=$(/usr/bin/psql -d ${DSPAM_PgSQL_DB} -U postgres -t -c "SELECT datdba FROM pg_database WHERE datname='${DSPAM_PgSQL_DB}';" | head -n1 | sed "s/^[ ]*\([^ ]*\).*/\1/g") + einfo " DBID: ${DSPAM_PgSQL_DBID}" + + einfo "Changing owner of DSPAM PostgreSQL database \"${DSPAM_PgSQL_DB}\" to \"${DSPAM_PgSQL_USER}\"" + /usr/bin/psql -d ${DSPAM_PgSQL_DB} -U postgres -c "UPDATE pg_database SET datdba=${DSPAM_PgSQL_USERID} WHERE datname='${DSPAM_PgSQL_DB}';" 1>/dev/null 2>&1 + + einfo "Creating DSPAM PostgreSQL tables" + PGUSER=${DSPAM_PgSQL_USER} PGPASSWORD=${DSPAM_PgSQL_PWD} /usr/bin/psql -d ${DSPAM_PgSQL_DB} -U ${DSPAM_PgSQL_USER} -f ${CONFIGDIR}/pgsql_objects.sql 1>/dev/null 2>&1 + PGUSER=${DSPAM_PgSQL_USER} PGPASSWORD=${DSPAM_PgSQL_PWD} /usr/bin/psql -d ${DSPAM_PgSQL_DB} -U ${DSPAM_PgSQL_USER} -f ${CONFIGDIR}/pgsql_virtual_users.sql 1>/dev/null 2>&1 + + einfo "Grant privileges to DSPAM PostgreSQL objects to \"${DSPAM_PgSQL_USER}\"" + for foo in $(/usr/bin/psql -t -d ${DSPAM_PgSQL_DB} -U postgres -c "SELECT tablename FROM pg_tables WHERE tablename LIKE 'dspam\%';") + do + /usr/bin/psql -d ${DSPAM_PgSQL_DB} -U postgres -c "GRANT ALL PRIVILEGES ON TABLE ${foo} TO ${DSPAM_PgSQL_USER};" 1>/dev/null 2>&1 + done + /usr/bin/psql -d ${DSPAM_PgSQL_DB} -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE ${DSPAM_PgSQL_DB} TO ${DSPAM_PgSQL_USER};" 1>/dev/null 2>&1 + /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 + elif use oci8 ; then + [[ -f ${CONFIGDIR}/oracle.data ]] && mv -f ${CONFIGDIR}/oracle.data ${HOMEDIR} + elif use sqlite ; then + einfo "sqlite_drv will automatically create the necessary database" + einfo "objects for each user upon first use of DSPAM by that user." + fi + + echo -ne "\n\n\n\n" + + einfo "If you want to train your DSPAM with some SPAM/HAM data, then download" + einfo "the SA-Training-Corpus from DSPAM's website:" + einfo + einfo " cd /tmp" + einfo " wget http://www.nuclearelephant.com/projects/dspam/SA-Corpus.tar.gz" + einfo " tar zxvf SA-Corpus.tar.gz" + einfo " cd ./SA-Corpus" + einfo " ./train.pl user@example.com" + einfo + einfo "The current ebuild has installed a group called \"globaluser\". If you want" + einfo "you could train the \"globaluser\" instead of a valid email address:" + einfo " ./train.pl globaluser" + einfo +} diff --git a/mail-filter/dspam/files/digest-dspam-3.2_rc2 b/mail-filter/dspam/files/digest-dspam-3.2_rc2 new file mode 100644 index 000000000000..5a6f440f4e29 --- /dev/null +++ b/mail-filter/dspam/files/digest-dspam-3.2_rc2 @@ -0,0 +1 @@ +MD5 5e92b02f2f4cf1c5b4ff0af4b09e20a9 dspam-3.2.rc2.tar.gz 600063 |