MD5 e0469b961385fda4305602dc2519d319 files/README.qmail 2317
RMD160 ebdd90be77441540848caf39b6fcde3d332b2b93 files/README.qmail 2317
SHA256 c70a32eb183401f3d36b8e13c1e298875692b8a9d3f34151ae42b172dd6f064a files/README.qmail 2317
-AUX dspam.cron 4460 RMD160 a4df1c73d17284bb9b221beb63830a77511f3200 SHA1 699ed06f8ace32cb4cb36cc9110d73f58f130b25 SHA256 caa771fcb38fe7e76dc1141c4990ae9f58f38c8fd0a3767a4f2bbbf880277f81
-MD5 0155a8f49c9f481270d9c76b6f002293 files/dspam.cron 4460
-RMD160 a4df1c73d17284bb9b221beb63830a77511f3200 files/dspam.cron 4460
-SHA256 caa771fcb38fe7e76dc1141c4990ae9f58f38c8fd0a3767a4f2bbbf880277f81 files/dspam.cron 4460
+AUX dspam.cron 4794 RMD160 b5e8f577700abceb4bf06ac41376c94b9f5e3db8 SHA1 d370b7c922e72dd5b2f1de01dce2870ddcc17ebf SHA256 c46325e7e5de7f57e571bd2b718abf48dfc82a3ba66aad25889d47d3082b68d5
+MD5 18428af50d78d693e39355866b463831 files/dspam.cron 4794
+RMD160 b5e8f577700abceb4bf06ac41376c94b9f5e3db8 files/dspam.cron 4794
+SHA256 c46325e7e5de7f57e571bd2b718abf48dfc82a3ba66aad25889d47d3082b68d5 files/dspam.cron 4794
AUX dspam.rc 1025 RMD160 d223977cf390b1e89392462f06b31b0722810fa3 SHA1 6b243ffac8179120ed7ee6f4b24bf01ad3a511f0 SHA256 9726e4b7699ccbb305d5e161baec2010e115731e582f69c3c670ec36bb099d34
MD5 e2850ede85e459ab5479b7d2e79eeb5a files/dspam.rc 1025
RMD160 d223977cf390b1e89392462f06b31b0722810fa3 files/dspam.rc 1025
DIST dspam-3.6.8-patches-20061219.tar.gz 5370 RMD160 0347a618b63b9fe662838f888f84b705bd24c72a SHA1 a998c131ef763efb32c6f538188de987ec544dc9 SHA256 cdd43862d939e089052bf0fde9e85f7a6b056a441d2d54ff4f3b8bb016f0de4c
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-r1.ebuild 17376 RMD160 67e7f59a26ad7a9c1d6f4adc7ca388bbb97793e5 SHA1 19700f075bf2391c62e99d38a20b22c30a77318f SHA256 9d85213cc25b5257239c57eecab1e1bf9e127b4e39430783badc97dccd7ee57a
-MD5 8675e2415008ff3e7aa2da3f9f648f4b dspam-3.6.8-r1.ebuild 17376
-RMD160 67e7f59a26ad7a9c1d6f4adc7ca388bbb97793e5 dspam-3.6.8-r1.ebuild 17376
-SHA256 9d85213cc25b5257239c57eecab1e1bf9e127b4e39430783badc97dccd7ee57a dspam-3.6.8-r1.ebuild 17376
-MISC ChangeLog 14182 RMD160 9e985123838df670671ed4a2385ada64291351ca SHA1 24a952fda38b5b84fa1a2798c0f4bf86fd8db5be SHA256 f11dc3949b5ad7071b3b2ce446b663c4f0be106617efa3cc65fe8ee383d142ed
-MD5 4a5a0aa65ce94d852f6f4fb5c128d250 ChangeLog 14182
-RMD160 9e985123838df670671ed4a2385ada64291351ca ChangeLog 14182
-SHA256 f11dc3949b5ad7071b3b2ce446b663c4f0be106617efa3cc65fe8ee383d142ed ChangeLog 14182
+EBUILD dspam-3.6.8-r2.ebuild 17407 RMD160 3bde1b195dc6978e2db00ea2eefc994c22cc9db7 SHA1 f83841798b19f57a9be07276aa4a67aac500f385 SHA256 857f5b0f9d9ba8efbaabb869d6285b4a7a773949d46c8735a45e7e250fd53a41
+MD5 7de50affaf468d64f2e60353363aa315 dspam-3.6.8-r2.ebuild 17407
+RMD160 3bde1b195dc6978e2db00ea2eefc994c22cc9db7 dspam-3.6.8-r2.ebuild 17407
+SHA256 857f5b0f9d9ba8efbaabb869d6285b4a7a773949d46c8735a45e7e250fd53a41 dspam-3.6.8-r2.ebuild 17407
+MISC ChangeLog 14381 RMD160 812f2529bc6af35fbdff85f803c166ea840461a9 SHA1 1e9e3ca1df1a3c8275e19b3a9eca538ec1a1b892 SHA256 ed9c4ebd4ecd96dd9da652efe9d154d113f4a9a6cf15826d5171d103a9c355c5
+MD5 70bfe14cec4721080619d069f5d193b3 ChangeLog 14381
+RMD160 812f2529bc6af35fbdff85f803c166ea840461a9 ChangeLog 14381
+SHA256 ed9c4ebd4ecd96dd9da652efe9d154d113f4a9a6cf15826d5171d103a9c355c5 ChangeLog 14381
MISC metadata.xml 397 RMD160 1d897be7c5d2f12f25490fa6ece53d7dacbe1427 SHA1 5d77bb1cd119d2ff52d65d9256dff9dca7ebcf6f SHA256 19348733b588bec627f76b297a101b21bc9ae7021a2f55fe12240b1dfa176a77
MD5 91827a3d521f4dd3c43a9a062a052e7c metadata.xml 397
RMD160 1d897be7c5d2f12f25490fa6ece53d7dacbe1427 metadata.xml 397
SHA256 19348733b588bec627f76b297a101b21bc9ae7021a2f55fe12240b1dfa176a77 metadata.xml 397
-MD5 0e04eb21f6f99782a7962960107e50b7 files/digest-dspam-3.6.8-r1 759
-RMD160 80f03239eb5c96f1d0539aca513209073d9725c7 files/digest-dspam-3.6.8-r1 759
-SHA256 21bd59876972d22bbc5301b0ce7606b1e24c521ddf5b7c91304b005f1d577a5e files/digest-dspam-3.6.8-r1 759
+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
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.6 (GNU/Linux)
+Version: GnuPG v1.4.5 (GNU/Linux)
-iD8DBQFFh7Tp3sf9c6kjmR8RAjVoAKC+AN420ziSjtL8wf2+OXkKNcNQ9wCffY6K
-ysoCjazGHaNwRRFQR9P7d9M=
-=w0gb
+iD8DBQFFomfrJnxX6mF440QRAllaAJ9cnsyECDeiF+FQ7MnzptMMW4qYTACg03vq
+LfmNEn5RGzmzyZG8HVJu8kU=
+=TGMA
-----END PGP SIGNATURE-----
+++ /dev/null
-# Copyright 1999-2006 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-r1.ebuild,v 1.1 2006/12/19 09:46:06 mrness Exp $
-
-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-20061219.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"
-
-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-verbose-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-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"
- chgrp dspam "${D}/usr/bin/dspam"
- chmod g+xs,o+x "${D}/usr/bin/dspam"
-
- dodir /usr/lib/dspam
- mv "${D}"/usr/lib/*drv* "${D}"/usr/lib/dspam/
-
- 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
- insopts
-
- 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' \
- -i "${D}/${CONFDIR}/dspam.conf"
-
- newinitd "${FILESDIR}/dspam.rc" dspam
- 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
- # Use existing configuration if possible
- if [[ -f "${ROOT}${CONFDIR}/mysql.data" ]]; then
- 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
- else
- 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"
- fi
-
- # 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
- # Use existing configuration if possible
- if [ -f ${ROOT}${CONFDIR}/pgsql.data ]; then
- DSPAM_DB_DATA=( $(cat "${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
- else
- 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"
- fi
-
- # 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
- # Use existing configuration if possible
- if [ -f ${ROOT}${CONFDIR}/oracle.data ]; then
- DSPAM_DB_DATA=( $(cat "${ROOT}${CONFDIR}/oracle.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
- else
- 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"
- fi
-
- # 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
-
- # 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_postinst() {
- # need enewgroup/enewuser in this function for binary install.
- create_dspam_usergroup
-
- if use mysql || use postgres || use oracle; then
- echo
- einfo "To setup DSPAM to run out-of-the-box on your system with a MySQL,"
- einfo "PostgreSQL or Oracle database, run:"
- einfo "emerge --config =${PF}"
- fi
-
- if use postgres && has_version ">dev-db/postgresql-8.0"; then
- echo
- einfo "Before executing the configuration command mentioned above you have"
- einfo "to execute the following command:"
- einfo "createlang plpgsql -U postgres dspam"
- fi
-
- if use daemon; then
- echo
- einfo "If you want to run DSPAM in the new daemon mode remember"
- einfo "to make the DSPAM daemon start during boot:"
- einfo " rc-update add dspam default"
- fi
- if use daemon ; then
- einfo "To use the DSPAM daemon mode, the used storage driver must be thread-safe."
- fi
-
- einfo "Edit /etc/mail/dspam.conf with your delivery agent"
- einfo "See http://dspamwiki.expass.de/Installation for more info"
-}
-
-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]}"
-
- 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}
-
-
- if has_version ">=virtual/mysql-4.1"; then
- /usr/bin/mysql -u root -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 root -p ${DSPAM_MySQL_DB} < ${CONFDIR}/mysql_objects-space.sql
- else
- /usr/bin/mysql -u root -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 root -p ${DSPAM_MySQL_DB} < ${CONFDIR}/mysql_virtual_users.sql
- else
- /usr/bin/mysql -u root -p ${DSPAM_MySQL_DB} < ${CONFDIR}/mysql_virtual_user_aliases.sql
- fi
- fi
-
- 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
- ;;
-
- 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
-}