summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlin Năstac <mrness@gentoo.org>2007-03-22 14:48:49 +0000
committerAlin Năstac <mrness@gentoo.org>2007-03-22 14:48:49 +0000
commitf1847ba28767b63dc7ea58aae4b0d1197e790ee6 (patch)
treed8d474252d670a5cda7335e79bdabad6b1651295 /mail-filter
parent1.5.1 version bump. (diff)
downloadhistorical-f1847ba28767b63dc7ea58aae4b0d1197e790ee6.tar.gz
historical-f1847ba28767b63dc7ea58aae4b0d1197e790ee6.tar.bz2
historical-f1847ba28767b63dc7ea58aae4b0d1197e790ee6.zip
Select administrative mysql account used to initialize the database (#171711). When daemon flag is enabled: install dspamc executable with sgid and group dspam (#171725); set the default ClientHost to the default value of ServerDomainSocketPath (#171726).
Package-Manager: portage-2.1.2.2
Diffstat (limited to 'mail-filter')
-rw-r--r--mail-filter/dspam/ChangeLog10
-rw-r--r--mail-filter/dspam/Manifest22
-rw-r--r--mail-filter/dspam/dspam-3.6.8-r3.ebuild500
-rw-r--r--mail-filter/dspam/files/digest-dspam-3.6.8-r39
4 files changed, 533 insertions, 8 deletions
diff --git a/mail-filter/dspam/ChangeLog b/mail-filter/dspam/ChangeLog
index c23265b34a34..4ba9bf39b7e0 100644
--- a/mail-filter/dspam/ChangeLog
+++ b/mail-filter/dspam/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for mail-filter/dspam
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/ChangeLog,v 1.83 2007/03/19 00:20:01 kloeri Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/ChangeLog,v 1.84 2007/03/22 14:48:49 mrness Exp $
+
+*dspam-3.6.8-r3 (22 Mar 2007)
+
+ 22 Mar 2007; Alin Năstac <mrness@gentoo.org> +dspam-3.6.8-r3.ebuild:
+ Select administrative mysql account used to initialize the database
+ (#171711). When daemon flag is enabled: install dspamc executable with sgid
+ and group dspam (#171725); set the default ClientHost to the default value
+ of ServerDomainSocketPath (#171726).
19 Mar 2007; Bryan Østergaard <kloeri@gentoo.org> metadata.xml:
Remove st_lim from metadata.xml due to retirement.
diff --git a/mail-filter/dspam/Manifest b/mail-filter/dspam/Manifest
index ee775a25c64d..f75fa90d1c20 100644
--- a/mail-filter/dspam/Manifest
+++ b/mail-filter/dspam/Manifest
@@ -22,16 +22,21 @@ MD5 2163ca41de383f09f4d754e2d35cb158 files/logrotate.dspam 156
RMD160 256f2607b275336f944b0882591366c39b53daf7 files/logrotate.dspam 156
SHA256 75e04139e564ad55011ee77b8245dc5cdefbb6d56ca451feab5861ab907d614e files/logrotate.dspam 156
DIST dspam-3.6.8-patches-20061219.tar.gz 5370 RMD160 0347a618b63b9fe662838f888f84b705bd24c72a SHA1 a998c131ef763efb32c6f538188de987ec544dc9 SHA256 cdd43862d939e089052bf0fde9e85f7a6b056a441d2d54ff4f3b8bb016f0de4c
+DIST dspam-3.6.8-patches-20070322.tar.gz 5518 RMD160 76bc1194891527da5c221f0f8d33b806911e288b SHA1 4a13338009f849fe928eae7ca6b7d3fb72103732 SHA256 3f38801f4437053e71ccde146c62b1af0adb5be6bd7d7d34914565160ba00df4
DIST dspam-3.6.8.tar.gz 743275 RMD160 93a70db14070cb61bd2ef1b0ca55a18be1dbfd7b SHA1 e8c413882eadf1e02837e4a2ffcfc98b801eded1 SHA256 88c7b41fb81e90ba8a260885a1d14bce39f2ef4a06cc2c6b8bfa0b99ba1aec34
DIST dspam_sa_trainer.tar.gz 1230 RMD160 c3d0fca7169d23ecf9d44c850ee255b42d97d818 SHA1 71a002f26a888bdfe47759cf1f780cd6478dacac SHA256 8fb6b1ebe592acf00a028737ef8e174544af166768b987d29048b2319bc5a215
EBUILD dspam-3.6.8-r2.ebuild 16613 RMD160 75a05cfa8d8168bd4b1c5f06c680a14f4ab04518 SHA1 30aff80bdd7f23c1ec1d634997e759b7ea61891f SHA256 d6480755e1e3315598360b29e383549652a493ace28f68b22abba15a809c70c4
MD5 05b8128d5048fa5b85c87e5d580c779a dspam-3.6.8-r2.ebuild 16613
RMD160 75a05cfa8d8168bd4b1c5f06c680a14f4ab04518 dspam-3.6.8-r2.ebuild 16613
SHA256 d6480755e1e3315598360b29e383549652a493ace28f68b22abba15a809c70c4 dspam-3.6.8-r2.ebuild 16613
-MISC ChangeLog 14743 RMD160 9e4a33be82167344deeb5a0c052888dcee78c5ad SHA1 d9e3516f6bc41752308d8a5507678f5663443f31 SHA256 3873b4bcce5ae803f4d2141389ab81349e2f4098966859e6e18dccbbb3d20586
-MD5 6d9403093bd8148779ecdf8bb36d2a75 ChangeLog 14743
-RMD160 9e4a33be82167344deeb5a0c052888dcee78c5ad ChangeLog 14743
-SHA256 3873b4bcce5ae803f4d2141389ab81349e2f4098966859e6e18dccbbb3d20586 ChangeLog 14743
+EBUILD dspam-3.6.8-r3.ebuild 17130 RMD160 64498071ef45b5d542ab94cd5a100b3fc66dca04 SHA1 eaaaeee344b01ed7fe24f100eeb9acfd0709bf57 SHA256 e49272d5b62fd20dd0eda079f26d16a8695c724704e9f1d9c05c7f36099681bb
+MD5 e258ff16472d3406935f00be384449fc dspam-3.6.8-r3.ebuild 17130
+RMD160 64498071ef45b5d542ab94cd5a100b3fc66dca04 dspam-3.6.8-r3.ebuild 17130
+SHA256 e49272d5b62fd20dd0eda079f26d16a8695c724704e9f1d9c05c7f36099681bb dspam-3.6.8-r3.ebuild 17130
+MISC ChangeLog 15111 RMD160 55c487a94efa9a92e61203a6d75a4e13157eb225 SHA1 8879ea7e6bfc4e9466026419c269f4a0f8abe314 SHA256 948cce5fc097ac7f377f7b84424426bc3c426f63b5c0ed4d93b8494f13f1f65f
+MD5 6ab842c2ac65e14ebb0deb40d6cb211a ChangeLog 15111
+RMD160 55c487a94efa9a92e61203a6d75a4e13157eb225 ChangeLog 15111
+SHA256 948cce5fc097ac7f377f7b84424426bc3c426f63b5c0ed4d93b8494f13f1f65f ChangeLog 15111
MISC metadata.xml 335 RMD160 acb18f015dcada8300ffce56be0c4a285ce2a215 SHA1 87ddabb196434e9e9363ba4b5b5596b78aa463f1 SHA256 23816215482cfc089c2e3fe9ae75547c364ad01fbb2a98886ad91d28f5971e17
MD5 47349dfc68ef142782e134a2e7696a37 metadata.xml 335
RMD160 acb18f015dcada8300ffce56be0c4a285ce2a215 metadata.xml 335
@@ -39,10 +44,13 @@ SHA256 23816215482cfc089c2e3fe9ae75547c364ad01fbb2a98886ad91d28f5971e17 metadata
MD5 0e04eb21f6f99782a7962960107e50b7 files/digest-dspam-3.6.8-r2 759
RMD160 80f03239eb5c96f1d0539aca513209073d9725c7 files/digest-dspam-3.6.8-r2 759
SHA256 21bd59876972d22bbc5301b0ce7606b1e24c521ddf5b7c91304b005f1d577a5e files/digest-dspam-3.6.8-r2 759
+MD5 70bb8cee0421ab362030f6820112e350 files/digest-dspam-3.6.8-r3 759
+RMD160 aeb37fa95434477546b28ff8c7edecec216f28bc files/digest-dspam-3.6.8-r3 759
+SHA256 d7d4d1f5c8b678914be3b634fd9d775032e2f80de07ec153b17505463bfc1b36 files/digest-dspam-3.6.8-r3 759
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.3 (GNU/Linux)
-iD8DBQFF/db6ugEuf3OQ0akRAqbvAKCK3O7o6fSb63ONpCxn9e4J4xhOwACfbxgy
-J5B8KnWWhPjSvp1396JwtUs=
-=Nu2x
+iD8DBQFGApdfJnxX6mF440QRAjRyAKCUhdsCtx0pAX8qgOQo2Jinwk6Y3gCfZilT
+mLYMxtVIQs0W98DmZaPqJhk=
+=4svi
-----END PGP SIGNATURE-----
diff --git a/mail-filter/dspam/dspam-3.6.8-r3.ebuild b/mail-filter/dspam/dspam-3.6.8-r3.ebuild
new file mode 100644
index 000000000000..7bd639b5a40f
--- /dev/null
+++ b/mail-filter/dspam/dspam-3.6.8-r3.ebuild
@@ -0,0 +1,500 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.6.8-r3.ebuild,v 1.1 2007/03/22 14:48:49 mrness Exp $
+
+WANT_AUTOCONF="latest"
+WANT_AUTOMAKE="latest"
+
+inherit eutils autotools flag-o-matic
+
+DESCRIPTION="A statistical-algorithmic hybrid anti-spam filter"
+HOMEPAGE="http://dspam.nuclearelephant.com/"
+SRC_URI="http://dspam.nuclearelephant.com/sources/${P}.tar.gz
+ mirror://gentoo/${P}-patches-20070322.tar.gz
+ http://dspam.nuclearelephant.com/sources/extras/dspam_sa_trainer.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="clamav daemon debug large-domain ldap logrotate mysql oracle postgres \
+ sqlite sqlite3 virtual-users user-homedirs"
+
+DEPEND="clamav? ( >=app-antivirus/clamav-0.86 )
+ ldap? ( >=net-nds/openldap-2.2 )
+ mysql? ( virtual/mysql )
+ postgres? ( >=dev-db/postgresql-7.4.3 )
+ sqlite? ( <dev-db/sqlite-3 )
+ sqlite3? ( =dev-db/sqlite-3* )"
+
+RDEPEND="${DEPEND}
+ sys-process/cronbase
+ virtual/logger
+ logrotate? ( app-admin/logrotate )"
+
+KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
+
+# some FHS-like structure
+HOMEDIR="/var/spool/dspam"
+CONFDIR="/etc/mail/dspam"
+LOGDIR="/var/log/dspam"
+DSPAMPERMS=2511
+
+create_dspam_usergroup() {
+ local egid euid
+ #Need a UID and GID >= 1000, for being able to use suexec in apache
+ for euid in $(seq 1000 5000 ) ; do
+ [[ -z $(egetent passwd ${euid}) ]] && break
+ done
+ for egid in $(seq 1000 5000 ) ; do
+ [[ -z $(egetent group ${egid}) ]] && break
+ done
+
+ enewgroup dspam ${egid}
+ enewuser dspam ${euid} -1 ${HOMEDIR} dspam,mail
+}
+
+pkg_setup() {
+ if use virtual-users && use user-homedirs ; then
+ eerror "If the users are virtual, then they probably should not have home directories."
+ die "Incompatible USE flag selection"
+ fi
+
+ create_dspam_usergroup
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ EPATCH_SUFFIX="patch"
+ epatch "${WORKDIR}"/patches
+
+ # Fix Lazy bindings
+ append-flags $(bindnow-flags)
+
+ AT_M4DIR="${S}/m4"
+ eautoreconf
+}
+
+src_compile() {
+ local myconf="--enable-long-usernames --enable-syslog"
+
+ use large-domain && myconf="${myconf} --enable-large-scale" || \
+ myconf="${myconf} --enable-domain-scale"
+
+ use user-homedirs && myconf="${myconf} --enable-homedir"
+
+ use debug && myconf="${myconf} --enable-debug --enable-bnr-debug"
+
+ if use virtual-users ; then
+ if use mysql || use postgres || use oracle ; then
+ myconf="${myconf} --enable-virtual-users"
+ fi
+ fi
+
+ if use mysql || use postgres ; then
+ myconf="${myconf} --enable-preferences-extension"
+ fi
+
+ local STORAGE
+ # select storage driver
+ if use sqlite ; then
+ if [ "$STORAGE" ] ; then STORAGE="${STORAGE}," ; fi
+ STORAGE="${STORAGE}sqlite_drv"
+ fi
+ if use sqlite3 ; then
+ if [ "$STORAGE" ] ; then STORAGE="${STORAGE}," ; fi
+ STORAGE="${STORAGE}sqlite3_drv"
+ fi
+ if use mysql; then
+ if [ "$STORAGE" ] ; then STORAGE="${STORAGE}," ; fi
+ STORAGE="${STORAGE}mysql_drv"
+ myconf="${myconf} --with-mysql-includes=/usr/include/mysql"
+ myconf="${myconf} --with-mysql-libraries=/usr/lib/mysql"
+ fi
+ if use postgres ; then
+ if [ "$STORAGE" ] ; then STORAGE="${STORAGE}," ; fi
+ STORAGE="${STORAGE}pgsql_drv"
+ myconf="${myconf} --with-pgsql-includes=/usr/include/postgresql"
+ myconf="${myconf} --with-pgsql-libraries=/usr/lib/postgresql"
+ fi
+ if use oracle ; then
+ if [ "$STORAGE" ] ; then STORAGE="${STORAGE}," ; fi
+ STORAGE="${STORAGE}ora_drv"
+ myconf="${myconf} --with-oracle-home=${ORACLE_HOME}"
+
+ # 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
+ myconf="${myconf} --with-oracle-version=10"
+ fi
+ fi
+ if [[ -z "${STORAGE}" ]]; then
+ STORAGE="${STORAGE}hash_drv"
+ fi
+
+ econf ${myconf} --with-storage-driver=${STORAGE} \
+ --with-dspam-home=${HOMEDIR} \
+ --sysconfdir=${CONFDIR} \
+ $(use_enable daemon) \
+ $(use_enable ldap) \
+ $(use_enable clamav) \
+ --with-dspam-group=dspam \
+ --with-dspam-home-group=dspam \
+ --with-dspam-mode=${DSPAMPERMS} \
+ --with-logdir=${LOGDIR} || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install () {
+ diropts -m0770 -o dspam -g dspam
+ dodir ${CONFDIR}
+ insinto ${CONFDIR}
+ insopts -m640 -o dspam -g dspam
+ doins src/dspam.conf
+
+ dosym /etc/mail/dspam /etc/dspam
+
+ # make install
+ make DESTDIR="${D}" install || die "make install failed"
+
+ dodir /usr/lib/dspam
+ if [[ "${D}"/usr/lib/*drv* != *"*" ]]; then
+ mv "${D}"/usr/lib/*drv* "${D}"/usr/lib/dspam/
+ fi
+
+ diropts -m0755 -o dspam -g dspam
+ keepdir /var/run/dspam
+
+ # create logdir
+ if use debug ; then
+ diropts -m0770 -o dspam -g dspam
+ keepdir ${LOGDIR}
+ fi
+
+ #clean options
+ diropts -m0755
+ insopts -m0644
+
+ if use daemon; then
+ # We use sockets for the daemon instead of tcp port 24
+ sed -e 's:^#*\(ServerDomainSocketPath[\t ]\{1,\}\).*:\1\"/var/run/dspam/dspam.sock\":gI' \
+ -e 's:^#*\(ServerPID[\t ]\{1,\}\).*:\1/var/run/dspam/dspam.pid:gI' \
+ -e 's:^#*\(ClientHost[\t ]\{1,\}\)/.*:\1\"/var/run/dspam/dspam.sock\":gI' \
+ -i "${D}/${CONFDIR}/dspam.conf"
+
+ newinitd "${FILESDIR}/dspam.rc" dspam
+
+ fowners root:dspam /usr/bin/dspamc
+ fperms u=rx,g=xs,o=x /usr/bin/dspamc
+ fi
+
+ # generate random password
+ local PASSWORD="${RANDOM}${RANDOM}${RANDOM}${RANDOM}"
+
+ # database related configuration and scripts
+ if use sqlite; then
+ insinto ${CONFDIR}
+ newins src/tools.sqlite_drv/purge-2.sql sqlite_purge.sql
+ fi
+ if use sqlite3; then
+ insinto ${CONFDIR}
+ newins src/tools.sqlite_drv/purge-3.sql sqlite3_purge.sql
+ fi
+ if use mysql; then
+ DSPAM_DB_DATA[0]="/var/run/mysqld/mysqld.sock"
+ DSPAM_DB_DATA[1]=""
+ DSPAM_DB_DATA[2]="dspam"
+ DSPAM_DB_DATA[3]="${PASSWORD}"
+ DSPAM_DB_DATA[4]="dspam"
+ DSPAM_DB_DATA[5]="true"
+
+ # Modify configuration and create mysql.data file
+ sed -e "s:^#*\(MySQLServer[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[0]}:gI" \
+ -e "s:^#*\(MySQLPort[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[1]}:gI" \
+ -e "s:^#*\(MySQLUser[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[2]}:gI" \
+ -e "s:^#*\(MySQLPass[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[3]}:gI" \
+ -e "s:^#*\(MySQLDb[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[4]}:gI" \
+ -e "s:^#*\(MySQLCompress[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[5]}:gI" \
+ -i "${D}"/${CONFDIR}/dspam.conf
+ for DB_DATA_INDEX in $(seq 0 $((${#DSPAM_DB_DATA[@]} - 1))); do
+ echo "${DSPAM_DB_DATA[$DB_DATA_INDEX]}" >> "${D}"/${CONFDIR}/mysql.data
+ done
+
+ insinto ${CONFDIR}
+ newins src/tools.mysql_drv/mysql_objects-space.sql mysql_objects-space.sql
+ newins src/tools.mysql_drv/mysql_objects-speed.sql mysql_objects-speed.sql
+ newins src/tools.mysql_drv/mysql_objects-4.1.sql mysql_objects-4.1.sql
+ if use virtual-users ; then
+ newins src/tools.mysql_drv/virtual_users.sql mysql_virtual_users.sql
+ newins src/tools.mysql_drv/virtual_user_aliases.sql mysql_virtual_user_aliases.sql
+ fi
+ newins src/tools.mysql_drv/purge.sql mysql_purge.sql
+ newins src/tools.mysql_drv/purge-4.1.sql mysql_purge-4.1.sql
+
+ fperms 640 ${CONFDIR}/mysql.data
+ fowners root:dspam ${CONFDIR}/mysql.data
+ fi
+ if use postgres ; then
+ DSPAM_DB_DATA[0]="127.0.0.1"
+ DSPAM_DB_DATA[1]="5432"
+ DSPAM_DB_DATA[2]="dspam"
+ DSPAM_DB_DATA[3]="${PASSWORD}"
+ DSPAM_DB_DATA[4]="dspam"
+
+ # Modify configuration and create pgsql.data file
+ sed -e "s:^#*\(PgSQLServer[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[0]}:gI" \
+ -e "s:^#*\(PgSQLPort[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[1]}:gI" \
+ -e "s:^#*\(PgSQLUser[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[2]}:gI" \
+ -e "s:^#*\(PgSQLPass[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[3]}:gI" \
+ -e "s:^#*\(PgSQLDb[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[4]}:gI" \
+ -e "s:^#*\(PgSQLConnectionCache[\t ]*.\):\1:gI" \
+ -i "${D}"/${CONFDIR}/dspam.conf
+ for DB_DATA_INDEX in $(seq 0 $((${#DSPAM_DB_DATA[@]} - 1))); do
+ echo "${DSPAM_DB_DATA[$DB_DATA_INDEX]}" >> "${D}"/${CONFDIR}/pgsql.data
+ done
+
+ insinto ${CONFDIR}
+ newins src/tools.pgsql_drv/pgsql_objects.sql pgsql_objects.sql
+ if use virtual-users ; then
+ newins src/tools.pgsql_drv/virtual_users.sql pgsql_virtual_users.sql
+ fi
+ newins src/tools.pgsql_drv/purge.sql pgsql_purge.sql
+
+ fperms 640 ${CONFDIR}/pgsql.data
+ fowners root:dspam ${CONFDIR}/pgsql.data
+ fi
+ if use oracle ; then
+ DSPAM_DB_DATA[0]="(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SID=PROD)))"
+ DSPAM_DB_DATA[1]="dspam"
+ DSPAM_DB_DATA[2]="${PASSWORD}"
+ DSPAM_DB_DATA[3]="dspam"
+
+ # Modify configuration and create oracle.data file
+ sed -e "s:^#*\(OraServer[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[0]}:gI" \
+ -e "s:^\(OraUser[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[1]}:gI" \
+ -e "s:^\(OraPass[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[2]}:gI" \
+ -e "s:^\(OraSchema[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[3]}:gI"\
+ -i "${D}"/${CONFDIR}/dspam.conf
+ for DB_DATA_INDEX in $(seq 0 $((${#DSPAM_DB_DATA[@]} - 1))); do
+ echo "${DSPAM_DB_DATA[$DB_DATA_INDEX]}" >> "${D}"/${CONFDIR}/oracle.data
+ done
+
+ insinto ${CONFDIR}
+ newins src/tools.ora_drv/oral_objects.sql ora_objects.sql
+ if use virtual-users ; then
+ newins src/tools.ora_drv/virtual_users.sql ora_virtual_users.sql
+ fi
+ newins src/tools.ora_drv/purge.sql ora_purge.sql
+
+ fperms 640 ${CONFDIR}/oracle.data
+ fowners root:dspam ${CONFDIR}/oracle.data
+ fi
+
+ sed -e "s:^\(Purge.*\):###\1:g" \
+ -e "s:^#\(Purge.*\):\1:g" \
+ -e "s:^###\(Purge.*\):#\1:g" \
+ -i "${D}"/${CONFDIR}/dspam.conf
+
+ # installs the notification messages
+ # -> The documentation is wrong! The files need to be in ./txt
+ insinto ${CONFDIR}/txt
+ doins "${S}"/txt/*.txt
+
+ # Create the opt-in / opt-out directories
+ diropts -m0770 -o dspam -g dspam
+ dodir ${HOMEDIR}
+ keepdir ${HOMEDIR}/opt-in
+ keepdir ${HOMEDIR}/opt-out
+ diropts -m0755
+
+ # logrotation scripts
+ if use logrotate && use debug ; then
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/logrotate.dspam" dspam
+ fi
+
+ # dspam cron job
+ exeinto /etc/cron.daily
+ doexe "${FILESDIR}/dspam.cron"
+
+ # documentation
+ dodoc CHANGELOG README* RELEASE.NOTES UPGRADING
+ docinto doc
+ dodoc doc/*.txt
+ docinto gentoo
+ dodoc "${FILESDIR}/README.postfix" "${FILESDIR}/README.qmail"
+ docinto sa_train
+ dodoc "${WORKDIR}"/dspam_sa_trainer/*
+ doman man/dspam*
+}
+
+pkg_preinst() {
+ # Preserve *.data files
+ local installed_datafiles="${ROOT}"/${CONFDIR}/*.data
+ if [[ "${installed_datafiles}" != *"*.data" ]]; then
+ cp "${ROOT}"/${CONFDIR}/*.data "${D}"/${CONFDIR}
+ fi
+}
+
+pkg_postinst() {
+ # need enewgroup/enewuser in this function for binary install.
+ create_dspam_usergroup
+
+ if use mysql || use postgres || use oracle; then
+ elog
+ elog "To setup DSPAM to run out-of-the-box on your system with a MySQL,"
+ elog "PostgreSQL or Oracle database, run:"
+ elog "emerge --config =${PF}"
+ fi
+
+ if use postgres && has_version ">dev-db/postgresql-8.0"; then
+ elog
+ elog "Before executing the configuration command mentioned above you have"
+ elog "to execute the following command:"
+ elog "createlang plpgsql -U postgres dspam"
+ fi
+
+ if use daemon; then
+ elog
+ elog "If you want to run DSPAM in the new daemon mode remember"
+ elog "to make the DSPAM daemon start during boot:"
+ elog " rc-update add dspam default"
+ fi
+ if use daemon ; then
+ elog
+ elog "To use the DSPAM daemon mode, the used storage driver must be thread-safe."
+ fi
+
+ elog
+ elog "Edit /etc/mail/dspam.conf with your delivery agent"
+ elog "See http://dspamwiki.expass.de/Installation for more info"
+ elog
+}
+
+pkg_config () {
+ local AVAIL_BACKENDS=()
+ use mysql && AVAIL_BACKENDS=( ${AVAIL_BACKENDS[*]} mysql )
+ use postgres && AVAIL_BACKENDS=( ${AVAIL_BACKENDS[*]} postgres )
+ use sqlite && AVAIL_BACKENDS=( ${AVAIL_BACKENDS[*]} sqlite )
+ use sqlite3 && AVAIL_BACKENDS=( ${AVAIL_BACKENDS[*]} sqlite3 )
+ use oracle && AVAIL_BACKENDS=( ${AVAIL_BACKENDS[*]} oracle )
+ local USE_BACKEND
+ read -p "Which backend do you want to configure? (available backends are ${AVAIL_BACKENDS[*]}) " USE_BACKEND
+ if [[ " ${AVAIL_BACKENDS[*]} " != *" ${USE_BACKEND} "* ]]
+ then
+ eerror "The '${USE_BACKEND}' backend is not available."
+ return 1
+ fi
+
+ case "${USE_BACKEND}" in
+
+ sqlite | sqlite3)
+ einfo "sqlite_drv will automatically create the necessary database"
+ ;;
+
+ mysql)
+ DSPAM_DB_DATA=( $(sed "s:^[\t ]*$:###:gI" "${ROOT}${CONFDIR}/mysql.data") )
+ for DB_DATA_INDEX in $(seq 0 $((${#DSPAM_DB_DATA[@]} - 1))); do
+ [[ "${DSPAM_DB_DATA[$DB_DATA_INDEX]}" = "###" ]] && DSPAM_DB_DATA[$DB_DATA_INDEX]=""
+ done
+ DSPAM_MySQL_USER="${DSPAM_DB_DATA[2]}"
+ DSPAM_MySQL_PWD="${DSPAM_DB_DATA[3]}"
+ DSPAM_MySQL_DB="${DSPAM_DB_DATA[4]}"
+
+ local MYSQL_ROOT_USER=""
+ echo -n "Please enter your administrative MySQL account (default root): "
+ read MYSQL_ROOT_USER
+ if [[ -z "${MYSQL_ROOT_USER}" ]]; then
+ MYSQL_ROOT_USER="root"
+ fi
+ ewarn "When prompted for a password, please enter your MySQL ${MYSQL_ROOT_USER} password"
+ ewarn
+
+ einfo "Creating DSPAM MySQL database \"${DSPAM_MySQL_DB}\""
+ /usr/bin/mysqladmin -u ${MYSQL_ROOT_USER} -p create ${DSPAM_MySQL_DB}
+
+
+ if has_version ">=virtual/mysql-4.1"; then
+ /usr/bin/mysql -u ${MYSQL_ROOT_USER} -p ${DSPAM_MySQL_DB} < ${CONFDIR}/mysql_objects-4.1.sql
+ else
+ 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" ]] && echo && break
+ done
+
+ if [[ "${DSPAM_MySQL_DB_Type}" == "1" ]]; then
+ /usr/bin/mysql -u ${MYSQL_ROOT_USER} -p ${DSPAM_MySQL_DB} < ${CONFDIR}/mysql_objects-space.sql
+ else
+ /usr/bin/mysql -u ${MYSQL_ROOT_USER} -p ${DSPAM_MySQL_DB} < ${CONFDIR}/mysql_objects-speed.sql
+ fi
+ fi
+
+ if use virtual-users ; then
+ einfo "Creating DSPAM MySQL database for virtual-users users"
+ einfo " Please select what kind of virtual_uids table you like to use."
+ einfo " [1] Virtual users added automatically (use this if this server is the primary MX)"
+ einfo " [2] Virtual users added manually (use it if this server is a secondary MX)"
+ einfo
+ while true; do
+ read -n 1 -s -p " Press 1 or 2 on the keyboard to select table type" DSPAM_MySQL_DB_Type
+ [[ "${DSPAM_MySQL_DB_Type}" == "1" || "${DSPAM_MySQL_DB_Type}" == "2" ]] && echo && break
+ done
+
+ if [[ "${DSPAM_MySQL_DB_Type}" == "1" ]]; then
+ /usr/bin/mysql -u ${MYSQL_ROOT_USER} -p ${DSPAM_MySQL_DB} < ${CONFDIR}/mysql_virtual_users.sql
+ else
+ /usr/bin/mysql -u ${MYSQL_ROOT_USER} -p ${DSPAM_MySQL_DB} < ${CONFDIR}/mysql_virtual_user_aliases.sql
+ fi
+ fi
+
+ einfo "Creating DSPAM MySQL user \"${DSPAM_MySQL_USER}\""
+ /usr/bin/mysql -u ${MYSQL_ROOT_USER} -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
+ ;;
+
+ postgres)
+ DSPAM_DB_DATA=( $(sed "s:^[\t ]*$:###:gI" "${ROOT}${CONFDIR}/pgsql.data") )
+ for DB_DATA_INDEX in $(seq 0 $((${#DSPAM_DB_DATA[@]} - 1))); do
+ [[ "${DSPAM_DB_DATA[$DB_DATA_INDEX]}" = "###" ]] && DSPAM_DB_DATA[$DB_DATA_INDEX]=""
+ done
+ DSPAM_PgSQL_USER="${DSPAM_DB_DATA[2]}"
+ DSPAM_PgSQL_PWD="${DSPAM_DB_DATA[3]}"
+ DSPAM_PgSQL_DB="${DSPAM_DB_DATA[4]}"
+
+ ewarn "When prompted for a password, please enter your PgSQL postgres password"
+ ewarn
+
+ einfo "Creating DSPAM PostgreSQL database \"${DSPAM_PgSQL_DB}\" and user \"${DSPAM_PgSQL_USER}\""
+ /usr/bin/psql -h localhost -d template1 -U postgres -c "CREATE USER ${DSPAM_PgSQL_USER} WITH PASSWORD '${DSPAM_PgSQL_PWD}' NOCREATEDB NOCREATEUSER; CREATE DATABASE ${DSPAM_PgSQL_DB}; GRANT ALL PRIVILEGES ON DATABASE ${DSPAM_PgSQL_DB} TO ${DSPAM_PgSQL_USER}; GRANT ALL PRIVILEGES ON SCHEMA public TO ${DSPAM_PgSQL_USER}; UPDATE pg_database SET datdba=(SELECT usesysid FROM pg_shadow WHERE usename='${DSPAM_PgSQL_USER}') WHERE datname='${DSPAM_PgSQL_DB}';"
+
+ 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 ${CONFDIR}/pgsql_objects.sql 1>/dev/null 2>&1
+
+ if use virtual-users ; then
+ einfo "Creating DSPAM PostgreSQL database for virtual-users users"
+ PGUSER=${DSPAM_PgSQL_USER} PGPASSWORD=${DSPAM_PgSQL_PWD} /usr/bin/psql -d ${DSPAM_PgSQL_DB} -U ${DSPAM_PgSQL_USER} -f ${CONFDIR}/pgsql_virtual_users.sql 1>/dev/null 2>&1
+ fi
+ ;;
+
+ oracle)
+ einfo "We have not enought Oracle knowledge to configure Oracle"
+ einfo "automatically. If you know how, please post a message in"
+ einfo "Gentoo Bugzilla."
+ einfo
+ einfo "You need manually to create the Oracle user for DSPAM and"
+ einfo "the necessary database."
+ einfo "But the DSPAM configuration file dspam.conf and oracle.data"
+ einfo "was already configured with the necessary information to"
+ einfo "access the database."
+ einfo "Please read your dspam.conf, oracle.data and the README for"
+ einfo "more info on how to setup DSPAM with Oracle."
+ einfo "objects for each user upon first use of DSPAM by that user."
+ ;;
+
+ esac
+}
diff --git a/mail-filter/dspam/files/digest-dspam-3.6.8-r3 b/mail-filter/dspam/files/digest-dspam-3.6.8-r3
new file mode 100644
index 000000000000..3ce3d4481d2a
--- /dev/null
+++ b/mail-filter/dspam/files/digest-dspam-3.6.8-r3
@@ -0,0 +1,9 @@
+MD5 37d06acaf87dd0cdea8caa599474b099 dspam-3.6.8-patches-20070322.tar.gz 5518
+RMD160 76bc1194891527da5c221f0f8d33b806911e288b dspam-3.6.8-patches-20070322.tar.gz 5518
+SHA256 3f38801f4437053e71ccde146c62b1af0adb5be6bd7d7d34914565160ba00df4 dspam-3.6.8-patches-20070322.tar.gz 5518
+MD5 c4b1a7079690ee16d8b0f36b2a2a90a4 dspam-3.6.8.tar.gz 743275
+RMD160 93a70db14070cb61bd2ef1b0ca55a18be1dbfd7b dspam-3.6.8.tar.gz 743275
+SHA256 88c7b41fb81e90ba8a260885a1d14bce39f2ef4a06cc2c6b8bfa0b99ba1aec34 dspam-3.6.8.tar.gz 743275
+MD5 8ffe9d41e6104a4c6d19067528193145 dspam_sa_trainer.tar.gz 1230
+RMD160 c3d0fca7169d23ecf9d44c850ee255b42d97d818 dspam_sa_trainer.tar.gz 1230
+SHA256 8fb6b1ebe592acf00a028737ef8e174544af166768b987d29048b2319bc5a215 dspam_sa_trainer.tar.gz 1230