From 8a6e31ba88ed72bef12b5c47061a453536918538 Mon Sep 17 00:00:00 2001 From: Lim Swee Tat Date: Wed, 5 Jan 2005 01:17:46 +0000 Subject: [PATCH] Version bump and removed older stuff --- mail-filter/dspam/ChangeLog | 10 +- mail-filter/dspam/Manifest | 20 +- mail-filter/dspam/dspam-3.0.0.ebuild | 233 ---------- mail-filter/dspam/dspam-3.1.2.ebuild | 398 ------------------ mail-filter/dspam/dspam-3.2.0.ebuild | 394 ----------------- mail-filter/dspam/dspam-3.2.1.ebuild | 394 ----------------- mail-filter/dspam/dspam-3.2.3.ebuild | 387 ----------------- mail-filter/dspam/dspam-3.2.4.ebuild | 6 +- mail-filter/dspam/dspam-3.3.8.ebuild | 6 +- ...{dspam-3.2.2.ebuild => dspam-3.3.9.ebuild} | 83 ++-- mail-filter/dspam/files/digest-dspam-3.0.0 | 1 - mail-filter/dspam/files/digest-dspam-3.1.2 | 1 - mail-filter/dspam/files/digest-dspam-3.2.0 | 1 - mail-filter/dspam/files/digest-dspam-3.2.1 | 1 - mail-filter/dspam/files/digest-dspam-3.2.2 | 1 - mail-filter/dspam/files/digest-dspam-3.2.3 | 1 - mail-filter/dspam/files/digest-dspam-3.3.9 | 1 + 17 files changed, 63 insertions(+), 1875 deletions(-) delete mode 100644 mail-filter/dspam/dspam-3.0.0.ebuild delete mode 100644 mail-filter/dspam/dspam-3.1.2.ebuild delete mode 100644 mail-filter/dspam/dspam-3.2.0.ebuild delete mode 100644 mail-filter/dspam/dspam-3.2.1.ebuild delete mode 100644 mail-filter/dspam/dspam-3.2.3.ebuild rename mail-filter/dspam/{dspam-3.2.2.ebuild => dspam-3.3.9.ebuild} (85%) delete mode 100644 mail-filter/dspam/files/digest-dspam-3.0.0 delete mode 100644 mail-filter/dspam/files/digest-dspam-3.1.2 delete mode 100644 mail-filter/dspam/files/digest-dspam-3.2.0 delete mode 100644 mail-filter/dspam/files/digest-dspam-3.2.1 delete mode 100644 mail-filter/dspam/files/digest-dspam-3.2.2 delete mode 100644 mail-filter/dspam/files/digest-dspam-3.2.3 create mode 100644 mail-filter/dspam/files/digest-dspam-3.3.9 diff --git a/mail-filter/dspam/ChangeLog b/mail-filter/dspam/ChangeLog index f95e06d830ea..2a373719db40 100644 --- a/mail-filter/dspam/ChangeLog +++ b/mail-filter/dspam/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for mail-filter/dspam # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/ChangeLog,v 1.33 2005/01/04 01:32:07 st_lim Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/ChangeLog,v 1.34 2005/01/05 01:17:46 st_lim Exp $ + +*dspam-3.2.3 (05 Jan 2005) + + 05 Jan 2005; Lim Swee Tat -dspam-3.0.0.ebuild, + -dspam-3.1.2.ebuild, -dspam-3.2.0.ebuild, -dspam-3.2.1.ebuild, + -dspam-3.2.2.ebuild, -dspam-3.2.3.ebuild: + Version bump URL Fixed Removed older versions of dspam because the latest + version 3.2.4 is finally stable. 04 Jan 2005; Lim Swee Tat : There was a bug fix in dspam for 3.2.4. Upgrade!! Upgrade!! diff --git a/mail-filter/dspam/Manifest b/mail-filter/dspam/Manifest index bd90324c735c..f5ac1de577fe 100644 --- a/mail-filter/dspam/Manifest +++ b/mail-filter/dspam/Manifest @@ -1,12 +1,7 @@ -MD5 9bb5367091eb1c2645c483cb18af145d ChangeLog 6733 -MD5 b85e5b2e14865172b86d76e1fa086103 dspam-3.0.0.ebuild 7029 -MD5 ae3a18b7d28e4909c83eca378f4f24a3 dspam-3.1.2.ebuild 14858 -MD5 467d22f8a29fe39450f5714c03636233 dspam-3.2.0.ebuild 15966 -MD5 0345cf2710fb19921e8470e36d87a7ce dspam-3.2.1.ebuild 15929 -MD5 40c21d559878fc5660195238df4f3548 dspam-3.2.2.ebuild 15833 -MD5 aa3a9d65c3f6c069935b6af7b1780c1d dspam-3.2.3.ebuild 15833 -MD5 2d6dd5e0676ed656f06bd6010c6cd741 dspam-3.2.4.ebuild 15775 -MD5 46b13b8be6491525bd4515b389668292 dspam-3.3.8.ebuild 15847 +MD5 33d0b176b47e12e6f83e5e5682b9cd30 ChangeLog 7051 +MD5 455e041c22771d506be8ee070817d3e5 dspam-3.2.4.ebuild 15739 +MD5 6c5807c5b4023fba43a9479ddc5d3ca3 dspam-3.3.8.ebuild 15811 +MD5 e81394692ceae2b5ab3755579e74c762 dspam-3.3.9.ebuild 15811 MD5 dbfbe5a3bbe3347938107f5f5bd2197e metadata.xml 308 MD5 c12a54112c6fec3530a7b1a368d04ac8 files/README.postfix 309 MD5 e0469b961385fda4305602dc2519d319 files/README.qmail 2317 @@ -22,11 +17,6 @@ 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 4b7bb6bbede742676e3e7017210104c5 files/digest-dspam-3.2.0 63 -MD5 4d666bbdf8092d4bd49428ea31eadbfb files/digest-dspam-3.2.1 63 -MD5 a8c089a75fb1ee3c2b4f32ffc04c638e files/digest-dspam-3.1.2 63 -MD5 5e423ac033f04ebc7dcc1d61e77c34fa files/digest-dspam-3.2.2 63 -MD5 e8b69a8c4c9e136977f8b1485a914d18 files/digest-dspam-3.2.3 63 MD5 ea56d34fd80be48f9b308655b5620c2f files/digest-dspam-3.2.4 63 MD5 ad704c9a2372dd9ab4d112a8c687873e files/digest-dspam-3.3.8 63 +MD5 82573c9fd08e0adbfc7fa0936fde6498 files/digest-dspam-3.3.9 63 diff --git a/mail-filter/dspam/dspam-3.0.0.ebuild b/mail-filter/dspam/dspam-3.0.0.ebuild deleted file mode 100644 index b72b933b6c7a..000000000000 --- a/mail-filter/dspam/dspam-3.0.0.ebuild +++ /dev/null @@ -1,233 +0,0 @@ -# Copyright 1999-2005 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.11 2005/01/04 01:32:07 st_lim Exp $ - -inherit eutils - -DESCRIPTION="A statistical-algorithmic hybrid anti-spam filter" -SRC_URI="http://www.nuclearelephant.com/projects/dspam/sources/${P}.tar.gz" -HOMEPAGE="http://www.nuclearelephant.com/projects/dspam/index.html" -LICENSE="GPL-2" - -IUSE="debug mysql neural procmail cyrus exim maildrop" -DEPEND="mysql? ( >=dev-db/mysql-3.23 ) || ( >=sys-libs/db-4.0 ) - procmail? ( >=mail-filter/procmail-3.22 ) - x86? ( cyrus? ( >=net-mail/cyrus-imapd-2.1.15 ) ) - maildrop? ( >=mail-filter/maildrop-1.5.3 ) - exim? ( >=mail-mta/exim-4.34 ) - " -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" - -MYSQL_TABLE_TYPE="space.optimized" - -pkg_setup() { - id dspam 2>/dev/null || enewgroup dspam 65532 - id dspam 2>/dev/null || enewuser dspam 65532 /bin/bash ${HOMEDIR} dspam -} - -src_compile() { - local myconf - local agent - - # these are the default settings - myconf="${myconf} --with-signature-life=14" - if use cyrus; then - agent="/usr/lib/cyrus/deliver %u" - elif use exim; then - agent="/usr/sbin/exim -oMr spam-scanned %u" - elif use maildrop; then - agent="/usr/bin/maildrop -d %u" - elif use procmail; then - agent="/usr/bin/procmail" - else - agent="/usr/sbin/sendmail" - fi - myconf="${myconf} --enable-homedir-dotfiles" - myconf="${myconf} --enable-spam-subject" - myconf="${myconf} --enable-chi-square" - myconf="${myconf} --enable-robinson" - myconf="${myconf} --enable-robinson-pvalues" - myconf="${myconf} --enable-source-address-tracking" - - # ${HOMEDIR}/data is a symlink to ${DATADIR} - myconf="${myconf} --with-dspam-home=${HOMEDIR}" - myconf="${myconf} --with-dspam-mode=4755" - myconf="${myconf} --with-dspam-owner=dspam" - myconf="${myconf} --with-dspam-group=dspam" - myconf="${myconf} --with-dspam-home-owner=dspam" - myconf="${myconf} --with-dspam-home-group=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" - - # an experimental feature available with MySQL backend - if use neural ; then - myconf="${myconf} --enable-neural-networking" - fi - 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 -m0775 -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 - make DESTDIR=${D} install || die - chmod 4755 /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 README.MYSQL - fi - - # install some initial configuration - insinto ${HOMEDIR} - insopts -m0664 -o dspam -g dspam - doins ${FILESDIR}/trusted.users - 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" > ${T}/untrusted.mailer_args - elif use maildrop; 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 - else - echo "/usr/sbin/sendmail" > ${T}/untrusted.mailer_args - fi - - # database related configuration and scripts - if use mysql ; then - local PASSWORD="${RANDOM}${RANDOM}${RANDOM}${RANDOM}" - - # Replace some variables in the configuration files - sed -e "s,@HOMEDIR@,${HOMEDIR},g" \ - -e "s,@confdir@,${CONFIGDIR},g" \ - ${FILESDIR}/crontab.mysql > ${T}/dspam.cron - - sed -e "s,@password@,${PASSWORD},g" \ - ${FILESDIR}/mysql.data > ${T}/mysql.data - - sed -e "s,@password@,${PASSWORD},g" \ - ${FILESDIR}/mysql_create_user.sql > ${T}/mysql_setup.sql - cat ${S}/tools.mysql_drv/mysql_objects.sql.${MYSQL_TABLE_TYPE} >> ${T}/mysql_setup.sql - - sed -e "s,@HOMEDIR@,${HOMEDIR},g" \ - -e "s,@confdir@,${CONFIGDIR},g" \ - ${FILESDIR}/mysql_install_db > ${T}/mysql_install_db - - sed -e "s,@HOMEDIR@,${HOMEDIR},g" \ - -e "s,@password@,${PASSWORD},g" \ - -e "s,@confdir@,${CONFIGDIR},g" \ - ${FILESDIR}/mysql_purge_db > ${T}/mysql_purge_db - - insinto ${CONFIGDIR} - insopts -m644 -o dspam -g dspam - doins ${T}/mysql.data - doins ${T}/mysql_setup.sql - doins ${FILESDIR}/upgrade.sql - newins tools.mysql_drv/purge.sql mysql_purge.sql - - exeinto ${CONFIGDIR} - exeopts -m755 -o dspam -g dspam - doexe ${T}/mysql_install_db - doexe ${T}/mysql_purge_db - - einfo "Fresh install: run ${HOMEDIR}/mysql_install_db to setup the dspam database" - einfo "Upgrades from 2.x: See the README for instructions on updating your tables for dspam-3.0" - else - cp ${FILESDIR}/crontab.db4 ${T}/dspam.cron - 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 ${T}/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 ${D}${LOGDIR}/sql.errors - touch ${D}${LOGDIR}/system.log - touch ${D}${LOGDIR}/dspam.debug - touch ${D}${LOGDIR}/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 -} - -pkg_postinst() { - if use mysql ; then - einfo "To setup dspam to run out-of-the-box on your system with a mysql 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 - ${CONFIGDIR}/mysql_install_db - mv ${CONFIGDIR}/mysql.data ${HOMEDIR} - fi -} diff --git a/mail-filter/dspam/dspam-3.1.2.ebuild b/mail-filter/dspam/dspam-3.1.2.ebuild deleted file mode 100644 index 5d35b6696e94..000000000000 --- a/mail-filter/dspam/dspam-3.1.2.ebuild +++ /dev/null @@ -1,398 +0,0 @@ -# Copyright 1999-2005 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.6 2005/01/04 01:32:07 st_lim Exp $ - -inherit eutils - -MY_PV=${PV/_beta20/.beta.2} -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" -DEPEND="exim? ( >=mail-mta/exim-4.34 ) - mysql? ( >=dev-db/mysql-3.23 ) || ( >=sys-libs/db-4.0 ) - 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 postgres && use oci8); then - echo - ewarn "You have two of either \"mysql\", \"postgres\" or \"oci\" in your USE flags." - ewarn "Will default to MySQL as your dspam database backend." - ewarn "If you want to build with Postgres 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\" >> /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 - local agent - - # these are the default settings - myconf="${myconf} --with-signature-life=14" - if use cyrus; then - agent="/usr/lib/cyrus/deliver %u" - elif use exim; then - agent="/usr/sbin/exim -oMr spam-scanned %u" - elif use maildrop; then - agent="/usr/bin/maildrop -d %u" - elif use procmail; then - agent="/usr/bin/procmail" - else - agent="/usr/sbin/sendmail" - fi - myconf="${myconf} --enable-source-address-tracking" - myconf="${myconf} --enable-large-scale" - myconf="${myconf} --enable-long-username" - myconf="${myconf} --enable-spam-subject" - myconf="${myconf} --enable-signature-headers" - myconf="${myconf} --enable-whitelist" - #myconf="${myconf} --enable-chi-square" - #myconf="${myconf} --enable-robinson" - #myconf="${myconf} --enable-robinson-pvalues" - - # ${HOMEDIR}/data is a symlink to ${DATADIR} - myconf="${myconf} --with-dspam-home=${HOMEDIR}" - myconf="${myconf} --with-dspam-mode=4755" - myconf="${myconf} --with-dspam-owner=dspam" - myconf="${myconf} --with-dspam-group=dspam" - myconf="${myconf} --with-dspam-home-owner=dspam" - myconf="${myconf} --with-dspam-home-group=dspam" - myconf="${myconf} --with-dspam-home-mode=4755" - - # 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 - 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 -m0775 -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 - make DESTDIR=${D} 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 README.MYSQL - elif use postgres ; then - newdoc tools.pgsql_drv/README README.PGSQL - elif use oci8 ; then - newdoc tools.ora_drv/README README.ORACLE - 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" > ${T}/untrusted.mailer_args - elif use maildrop; 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 - else - echo "/usr/sbin/sendmail" > ${T}/untrusted.mailer_args - fi - - # install some initial configuration - insinto ${HOMEDIR} - insopts -m0664 -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 - 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} - fi - -} diff --git a/mail-filter/dspam/dspam-3.2.0.ebuild b/mail-filter/dspam/dspam-3.2.0.ebuild deleted file mode 100644 index 0107de445d0c..000000000000 --- a/mail-filter/dspam/dspam-3.2.0.ebuild +++ /dev/null @@ -1,394 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.2.0.ebuild,v 1.9 2005/01/04 01:32:07 st_lim Exp $ - -inherit eutils - -S=${WORKDIR}/${PN}-${PV} -DESCRIPTION="A statistical-algorithmic hybrid anti-spam filter" -SRC_URI="http://www.nuclearelephant.com/projects/dspam/sources/${PN}-${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" - -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-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" - - 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=${LOGDIR}" - - # 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" - myconf="${myconf} --enable-preferences-extension" - - # 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" - myconf="${myconf} --enable-preferences-extension" - - # 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" - myconf="${myconf} --enable-preferences-extension" - - # 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" - fi - - econf ${myconf} || 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 -m0775 -o dspam -g dspam - dodir ${DATADIR} - keepdir ${DATADIR} - # ${HOMEDIR}/data is a symlink to ${DATADIR} - dosym ${DATADIR} ${HOMEDIR}/data - - # 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} sysconfdir=${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 - [ -f ${HOMEDIR}/dspam.conf ] && cp ${HOMEDIR}/dspam.conf ${D}${HOMEDIR}/dspam.conf - if [ ! -f ${HOMEDIR}/dspam.conf ]; then - if use cyrus; then - echo "UntrustedDeliveryAgent /usr/lib/cyrus/deliver %u" >> ${D}${HOMEDIR}/dspam.conf - sed -e 's:/usr/bin/procmail:/usr/lib/cyrus/deliver %u:g' \ - -i ${D}${HOMEDIR}/dspam.conf - elif use exim; then - echo "UntrustedDeliveryAgent /usr/sbin/exim -oMr spam-scanned %u" >> ${D}${HOMEDIR}/dspam.conf - sed -e 's:/usr/bin/procmail:/usr/sbin/exim -oMr spam-scanned %u:g' \ - -i ${D}${HOMEDIR}/dspam.conf - elif use maildrop; then - echo "UntrustedDeliveryAgent /usr/bin/maildrop -d %u" >> ${D}${HOMEDIR}/dspam.conf - sed -e 's:/usr/bin/procmail:/usr/bin/maildrop -d %u:g' \ - -i ${D}${HOMEDIR}/dspam.conf - elif use procmail; then - echo "UntrustedDeliveryAgent /usr/bin/procmail" >> ${D}${HOMEDIR}/dspam.conf - else - echo "UntrustedDeliveryAgent /usr/sbin/sendmail" >> ${D}${HOMEDIR}/dspam.conf - sed -e 's:/usr/bin/procmail:/usr/sbin/sendmail:g' \ - -i ${D}${HOMEDIR}/dspam.conf - fi - fi - chown dspam.dspam ${D}${HOMEDIR}/dspam.conf - chmod 644 ${D}${HOMEDIR}/dspam.conf - - local PASSWORD="${RANDOM}${RANDOM}${RANDOM}${RANDOM}" - - # database related configuration and scripts - if use mysql; then - insinto ${HOMEDIR} - 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 "MySQLServer /var/run/mysqld/mysqld.sock" >> ${T}/mysql.data - echo "MySQLPort" >> ${T}/mysql.data - echo "MySQLUser dspam" >> ${T}/mysql.data - echo "MySQLPass ${PASSWORD}" >> ${T}/mysql.data - echo "MySQLDb dspam" >> ${T}/mysql.data - echo "MySQLCompress true" >> ${T}/mysql.data - [ -z "`grep '^MySQL' ${D}/${HOMEDIR}/dspam.conf`" ] && cat ${T}/mysql.data >> ${D}/${HOMEDIR}/dspam.conf - sed -e 's/^MySQL[A-Za-z]* *//g' -i ${T}/mysql.data - doins ${T}/mysql.data - fi - - newins tools.mysql_drv/mysql_objects-space.sql mysql_objects-space.sql - newins tools.mysql_drv/mysql_objects-speed.sql mysql_objects-speed.sql - newins tools.mysql_drv/mysql_objects-4.1.sql mysql_objects-4.1.sql - newins tools.mysql_drv/virtual_users.sql mysql_virtual_users.sql - newins tools.mysql_drv/neural.sql mysql_neural.sql - newins tools.mysql_drv/purge.sql mysql_purge.sql - newins tools.mysql_drv/purge-4.1.sql mysql_purge-4.1.sql - newins ${FILESDIR}/upgrade.sql mysql_upgrade.sql - elif use postgres ; then - insinto ${HOMEDIR} - 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 "PgSQLServer 127.0.0.1" >> ${T}/pgsql.data - echo "PgSQLPort 5432" >> ${T}/pgsql.data - echo "PgSQLUser dspam" >> ${T}/pgsql.data - echo "PgSQLPass ${PASSWORD}" >> ${T}/pgsql.data - echo "PgSQLDb dspam" >> ${T}/pgsql.data - [ -z "`grep '^PgSQL' ${D}/${HOMEDIR}/dspam.conf`" ] && cat ${T}/pgsql.data >> ${D}/${HOMEDIR}/dspam.conf - sed -e 's/^PgSQL[A-Za-z]* *//g' -i ${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 ${HOMEDIR} - 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 oracle.data file - echo "OraServer (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SID=PROD)))" >>${T}/oracle.data - echo "OraUser dspam" >>${T}/oracle.data - echo "OraPass ${PASSWORD}" >>${T}/oracle.data - echo "OraSchema dspam" >>${T}/oracle.data - [ -z "`grep '^Ora' ${D}/${HOMEDIR}/dspam.conf`" ] && cat ${T}/oracle.data >> ${D}/${HOMEDIR}/dspam.conf - sed -e 's/^Ora[A-Za-z]* *//g' -i ${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 - - # dspam enviroment - echo -ne "CONFIG_PROTECT_MASK=\"${HOMEDIR}\"\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 ${HOMEDIR}/mysql.data ]] && mv -f ${HOMEDIR}/mysql.data ${HOMEDIR} - DSPAM_MySQL_USER="$(head -n 3 ${HOMEDIR}/mysql.data|tail -n 1)" - DSPAM_MySQL_PWD="$(head -n 4 ${HOMEDIR}/mysql.data|tail -n 1)" - DSPAM_MySQL_DB="$(head -n 5 ${HOMEDIR}/mysql.data|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} < ${HOMEDIR}/mysql_objects-space.sql - else - /usr/bin/mysql -u root -p ${DSPAM_MySQL_DB} < ${HOMEDIR}/mysql_objects-speed.sql - fi - - einfo "Creating DSPAM MySQL database for virtual users" - /usr/bin/mysql -u root -p ${DSPAM_MySQL_DB} < ${HOMEDIR}/mysql_virtual_users.sql - - if use neural ; then - /usr/bin/mysql -u root -p ${DSPAM_MySQL_DB} < ${HOMEDIR}/mysql_neural.sql - 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 - elif use postgres ; then - [[ -f ${HOMEDIR}/pgsql.data ]] && mv -f ${HOMEDIR}/pgsql.data ${HOMEDIR} - DSPAM_PgSQL_USER="$(head -n 3 ${HOMEDIR}/pgsql.data|tail -n 1)" - DSPAM_PgSQL_PWD="$(head -n 4 ${HOMEDIR}/pgsql.data|tail -n 1)" - DSPAM_PgSQL_DB="$(head -n 5 ${HOMEDIR}/pgsql.data|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 ${HOMEDIR}/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 ${HOMEDIR}/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 ${HOMEDIR}/oracle.data ]] && mv -f ${HOMEDIR}/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 - -} diff --git a/mail-filter/dspam/dspam-3.2.1.ebuild b/mail-filter/dspam/dspam-3.2.1.ebuild deleted file mode 100644 index 26c0454ec4a4..000000000000 --- a/mail-filter/dspam/dspam-3.2.1.ebuild +++ /dev/null @@ -1,394 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.2.1.ebuild,v 1.7 2005/01/04 01:32:07 st_lim Exp $ - -inherit eutils - -S=${WORKDIR}/${PN}-${PV} -DESCRIPTION="A statistical-algorithmic hybrid anti-spam filter" -SRC_URI="http://www.nuclearelephant.com/projects/dspam/sources/${PN}-${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 ~alpha ~ia64" -SLOT="0" - -# some FHS-like structure -HOMEDIR="/etc/mail/dspam" -DATADIR="/var/spool/dspam" -LOGDIR="/var/log/dspam" - -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-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" - - 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=${LOGDIR}" - - # 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" - myconf="${myconf} --enable-preferences-extension" - - # 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" - myconf="${myconf} --enable-preferences-extension" - - # 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" - myconf="${myconf} --enable-preferences-extension" - - # 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" - fi - - econf ${myconf} || 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 -m0775 -o dspam -g dspam - dodir ${DATADIR} - keepdir ${DATADIR} - - # keeps dspam log in /var/log - diropts -m0775 -o dspam -g dspam - dodir ${LOGDIR} - keepdir ${LOGDIR} - # ${HOMEDIR}/data is a symlink to ${DATADIR} - dosym ${DATADIR} ${HOMEDIR}/data - - # 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} 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 - [ -f ${HOMEDIR}/dspam.conf ] && cp ${HOMEDIR}/dspam.conf ${D}${HOMEDIR}/dspam.conf - if [ ! -f ${HOMEDIR}/dspam.conf ]; then - if use cyrus; then - echo "UntrustedDeliveryAgent /usr/lib/cyrus/deliver %u" >> ${D}${HOMEDIR}/dspam.conf - sed -e 's:/usr/bin/procmail:/usr/lib/cyrus/deliver %u:g' \ - -i ${D}${HOMEDIR}/dspam.conf - elif use exim; then - echo "UntrustedDeliveryAgent /usr/sbin/exim -oMr spam-scanned %u" >> ${D}${HOMEDIR}/dspam.conf - sed -e 's:/usr/bin/procmail:/usr/sbin/exim -oMr spam-scanned %u:g' \ - -i ${D}${HOMEDIR}/dspam.conf - elif use maildrop; then - echo "UntrustedDeliveryAgent /usr/bin/maildrop -d %u" >> ${D}${HOMEDIR}/dspam.conf - sed -e 's:/usr/bin/procmail:/usr/bin/maildrop -d %u:g' \ - -i ${D}${HOMEDIR}/dspam.conf - elif use procmail; then - echo "UntrustedDeliveryAgent /usr/bin/procmail" >> ${D}${HOMEDIR}/dspam.conf - else - echo "UntrustedDeliveryAgent /usr/sbin/sendmail" >> ${D}${HOMEDIR}/dspam.conf - sed -e 's:/usr/bin/procmail:/usr/sbin/sendmail:g' \ - -i ${D}${HOMEDIR}/dspam.conf - fi - fi - chown dspam.dspam ${D}${HOMEDIR}/dspam.conf - chmod 644 ${D}${HOMEDIR}/dspam.conf - - local PASSWORD="${RANDOM}${RANDOM}${RANDOM}${RANDOM}" - - # database related configuration and scripts - if use mysql; then - insinto ${HOMEDIR} - 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 "MySQLServer /var/run/mysqld/mysqld.sock" >> ${T}/mysql.data - echo "MySQLPort" >> ${T}/mysql.data - echo "MySQLUser dspam" >> ${T}/mysql.data - echo "MySQLPass ${PASSWORD}" >> ${T}/mysql.data - echo "MySQLDb dspam" >> ${T}/mysql.data - echo "MySQLCompress true" >> ${T}/mysql.data - [ -z "`grep '^MySQL' ${D}/${HOMEDIR}/dspam.conf`" ] && cat ${T}/mysql.data >> ${D}/${HOMEDIR}/dspam.conf - sed -e 's/^MySQL[A-Za-z]* *//g' -i ${T}/mysql.data - doins ${T}/mysql.data - fi - - newins tools.mysql_drv/mysql_objects-space.sql mysql_objects-space.sql - newins tools.mysql_drv/mysql_objects-speed.sql mysql_objects-speed.sql - newins tools.mysql_drv/mysql_objects-4.1.sql mysql_objects-4.1.sql - newins tools.mysql_drv/virtual_users.sql mysql_virtual_users.sql - newins tools.mysql_drv/neural.sql mysql_neural.sql - newins tools.mysql_drv/purge.sql mysql_purge.sql - newins tools.mysql_drv/purge-4.1.sql mysql_purge-4.1.sql - newins ${FILESDIR}/upgrade.sql mysql_upgrade.sql - elif use postgres ; then - insinto ${HOMEDIR} - insopts -m644 -o dspam -g dspam - - if [ -f ${HOMEDIR}/pgsql.data ]; then - # Use an existing password - PASSWORD="$(tail -n 2 ${HOMEDIR}/pgsql.data | head -n 1 )" - else - # Create the pgsql.data file - echo "PgSQLServer 127.0.0.1" >> ${T}/pgsql.data - echo "PgSQLPort 5432" >> ${T}/pgsql.data - echo "PgSQLUser dspam" >> ${T}/pgsql.data - echo "PgSQLPass ${PASSWORD}" >> ${T}/pgsql.data - echo "PgSQLDb dspam" >> ${T}/pgsql.data - [ -z "`grep '^PgSQL' ${D}/${HOMEDIR}/dspam.conf`" ] && cat ${T}/pgsql.data >> ${D}/${HOMEDIR}/dspam.conf - sed -e 's/^PgSQL[A-Za-z]* *//g' -i ${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 ${HOMEDIR} - 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 "OraServer (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SID=PROD)))" >>${T}/oracle.data - echo "OraUser dspam" >>${T}/oracle.data - echo "OraPass ${PASSWORD}" >>${T}/oracle.data - echo "OraSchema dspam" >>${T}/oracle.data - [ -z "`grep '^Ora' ${D}/${HOMEDIR}/dspam.conf`" ] && cat ${T}/oracle.data >> ${D}/${HOMEDIR}/dspam.conf - sed -e 's/^Ora[A-Za-z]* *//g' -i ${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 - - # dspam enviroment - echo -ne "CONFIG_PROTECT_MASK=\"${HOMEDIR}\"\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 ${HOMEDIR}/mysql.data ]] && mv -f ${HOMEDIR}/mysql.data ${HOMEDIR} - DSPAM_MySQL_USER="$(head -n 3 ${HOMEDIR}/mysql.data|tail -n 1)" - DSPAM_MySQL_PWD="$(head -n 4 ${HOMEDIR}/mysql.data|tail -n 1)" - DSPAM_MySQL_DB="$(head -n 5 ${HOMEDIR}/mysql.data|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} < ${HOMEDIR}/mysql_objects-space.sql - else - /usr/bin/mysql -u root -p ${DSPAM_MySQL_DB} < ${HOMEDIR}/mysql_objects-speed.sql - fi - - einfo "Creating DSPAM MySQL database for virtual users" - /usr/bin/mysql -u root -p ${DSPAM_MySQL_DB} < ${HOMEDIR}/mysql_virtual_users.sql - - if use neural ; then - /usr/bin/mysql -u root -p ${DSPAM_MySQL_DB} < ${HOMEDIR}/mysql_neural.sql - 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 - elif use postgres ; then - [[ -f ${HOMEDIR}/pgsql.data ]] && mv -f ${HOMEDIR}/pgsql.data ${HOMEDIR} - DSPAM_PgSQL_USER="$(head -n 3 ${HOMEDIR}/pgsql.data|tail -n 1)" - DSPAM_PgSQL_PWD="$(head -n 4 ${HOMEDIR}/pgsql.data|tail -n 1)" - DSPAM_PgSQL_DB="$(head -n 5 ${HOMEDIR}/pgsql.data|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 ${HOMEDIR}/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 ${HOMEDIR}/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 ${HOMEDIR}/oracle.data ]] && mv -f ${HOMEDIR}/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 - -} diff --git a/mail-filter/dspam/dspam-3.2.3.ebuild b/mail-filter/dspam/dspam-3.2.3.ebuild deleted file mode 100644 index 7b29eac66712..000000000000 --- a/mail-filter/dspam/dspam-3.2.3.ebuild +++ /dev/null @@ -1,387 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.2.3.ebuild,v 1.2 2005/01/04 01:32:07 st_lim Exp $ - -inherit eutils - -S=${WORKDIR}/${PN}-${PV} -DESCRIPTION="A statistical-algorithmic hybrid anti-spam filter" -SRC_URI="http://www.nuclearelephant.com/projects/dspam/sources/${PN}-${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 large-domain" -DEPEND="exim? ( >=mail-mta/exim-4.34 ) - mysql? ( >=dev-db/mysql-3.23 ) || ( >=sys-libs/db-4.0 ) - sqlite? ( >=dev-db/sqlite-2.7.7 ) - 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="sys-apps/cronbase - app-admin/logrotate" -KEYWORDS="~x86 ~ppc ~alpha ~ia64" -SLOT="0" - -# some FHS-like structure -HOMEDIR="/etc/mail/dspam" -DATADIR="/var/spool/dspam" -LOGDIR="/var/log/dspam" - -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-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" - use large-domain && myconf="${myconf} --enable-large-scale" || myconf="${myconf} --enable-domain-scale" - - myconf="${myconf} --with-dspam-mode=4755" - myconf="${myconf} --with-dspam-owner=dspam" - myconf="${myconf} --with-dspam-group=dspam" - myconf="${myconf} --with-dspam-home=${HOMEDIR} --sysconfdir=${HOMEDIR}" - myconf="${myconf} --with-logdir=${LOGDIR}" - - # 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" - myconf="${myconf} --enable-preferences-extension" - - # 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" - myconf="${myconf} --enable-preferences-extension" - - # 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" - myconf="${myconf} --enable-preferences-extension" - - # 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" - fi - - econf ${myconf} || 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 -m0775 -o dspam -g dspam - dodir ${DATADIR} - keepdir ${DATADIR} - - # keeps dspam log in /var/log - diropts -m0775 -o dspam -g dspam - dodir ${LOGDIR} - keepdir ${LOGDIR} - # ${HOMEDIR}/data is a symlink to ${DATADIR} - dosym ${DATADIR} ${HOMEDIR}/data - - # 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} 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 - dodoc tools.mysql_drv/README - elif use postgres ; then - dodoc tools.pgsql_drv/README - elif use oci8 ; then - dodoc tools.ora_drv/README - elif use sqlite ; then - dodoc tools.sqlite_drv/README - fi - - # build some initial configuration data - [ -f ${HOMEDIR}/dspam.conf ] && cp ${HOMEDIR}/dspam.conf ${D}${HOMEDIR}/dspam.conf - if [ ! -f ${HOMEDIR}/dspam.conf ]; then - if use cyrus; then - echo "UntrustedDeliveryAgent /usr/lib/cyrus/deliver %u" >> ${D}${HOMEDIR}/dspam.conf - sed -e 's:/usr/bin/procmail:/usr/lib/cyrus/deliver %u:g' \ - -i ${D}${HOMEDIR}/dspam.conf - elif use exim; then - echo "UntrustedDeliveryAgent /usr/sbin/exim -oMr spam-scanned %u" >> ${D}${HOMEDIR}/dspam.conf - sed -e 's:/usr/bin/procmail:/usr/sbin/exim -oMr spam-scanned %u:g' \ - -i ${D}${HOMEDIR}/dspam.conf - elif use maildrop; then - echo "UntrustedDeliveryAgent /usr/bin/maildrop -d %u" >> ${D}${HOMEDIR}/dspam.conf - sed -e 's:/usr/bin/procmail:/usr/bin/maildrop -d %u:g' \ - -i ${D}${HOMEDIR}/dspam.conf - elif use procmail; then - echo "UntrustedDeliveryAgent /usr/bin/procmail" >> ${D}${HOMEDIR}/dspam.conf - else - echo "UntrustedDeliveryAgent /usr/sbin/sendmail" >> ${D}${HOMEDIR}/dspam.conf - sed -e 's:/usr/bin/procmail:/usr/sbin/sendmail:g' \ - -i ${D}${HOMEDIR}/dspam.conf - fi - fi - chown dspam.dspam ${D}${HOMEDIR}/dspam.conf - chmod 644 ${D}${HOMEDIR}/dspam.conf - - local PASSWORD="${RANDOM}${RANDOM}${RANDOM}${RANDOM}" - - # database related configuration and scripts - insinto ${HOMEDIR} - insopts -m644 -o dspam -g dspam - if use mysql; then - - 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 "MySQLServer /var/run/mysqld/mysqld.sock" >> ${T}/mysql.data - echo "MySQLPort" >> ${T}/mysql.data - echo "MySQLUser dspam" >> ${T}/mysql.data - echo "MySQLPass ${PASSWORD}" >> ${T}/mysql.data - echo "MySQLDb dspam" >> ${T}/mysql.data - echo "MySQLCompress true" >> ${T}/mysql.data - [ -z "`grep '^MySQL' ${D}/${HOMEDIR}/dspam.conf`" ] && cat ${T}/mysql.data >> ${D}/${HOMEDIR}/dspam.conf - sed -e 's/^MySQL[A-Za-z]* *//g' -i ${T}/mysql.data - doins ${T}/mysql.data - fi - - newins tools.mysql_drv/mysql_objects-space.sql mysql_objects-space.sql - newins tools.mysql_drv/mysql_objects-speed.sql mysql_objects-speed.sql - newins tools.mysql_drv/mysql_objects-4.1.sql mysql_objects-4.1.sql - newins tools.mysql_drv/virtual_users.sql mysql_virtual_users.sql - newins tools.mysql_drv/neural.sql mysql_neural.sql - newins tools.mysql_drv/purge.sql mysql_purge.sql - newins tools.mysql_drv/purge-4.1.sql mysql_purge-4.1.sql - newins ${FILESDIR}/upgrade.sql mysql_upgrade.sql - elif use postgres ; then - if [ -f ${HOMEDIR}/pgsql.data ]; then - # Use an existing password - PASSWORD="$(tail -n 2 ${HOMEDIR}/pgsql.data | head -n 1 )" - else - # Create the pgsql.data file - echo "PgSQLServer 127.0.0.1" >> ${T}/pgsql.data - echo "PgSQLPort 5432" >> ${T}/pgsql.data - echo "PgSQLUser dspam" >> ${T}/pgsql.data - echo "PgSQLPass ${PASSWORD}" >> ${T}/pgsql.data - echo "PgSQLDb dspam" >> ${T}/pgsql.data - [ -z "`grep '^PgSQL' ${D}/${HOMEDIR}/dspam.conf`" ] && cat ${T}/pgsql.data >> ${D}/${HOMEDIR}/dspam.conf - sed -e 's/^PgSQL[A-Za-z]* *//g' -i ${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 - 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 "OraServer (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SID=PROD)))" >>${T}/oracle.data - echo "OraUser dspam" >>${T}/oracle.data - echo "OraPass ${PASSWORD}" >>${T}/oracle.data - echo "OraSchema dspam" >>${T}/oracle.data - [ -z "`grep '^Ora' ${D}/${HOMEDIR}/dspam.conf`" ] && cat ${T}/oracle.data >> ${D}/${HOMEDIR}/dspam.conf - sed -e 's/^Ora[A-Za-z]* *//g' -i ${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 - - # dspam enviroment - echo -ne "CONFIG_PROTECT_MASK=\"${HOMEDIR}\"\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 ${HOMEDIR}/mysql.data ]] && mv -f ${HOMEDIR}/mysql.data ${HOMEDIR} - DSPAM_MySQL_USER="$(head -n 3 ${HOMEDIR}/mysql.data|tail -n 1)" - DSPAM_MySQL_PWD="$(head -n 4 ${HOMEDIR}/mysql.data|tail -n 1)" - DSPAM_MySQL_DB="$(head -n 5 ${HOMEDIR}/mysql.data|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} < ${HOMEDIR}/mysql_objects-space.sql - else - /usr/bin/mysql -u root -p ${DSPAM_MySQL_DB} < ${HOMEDIR}/mysql_objects-speed.sql - fi - - einfo "Creating DSPAM MySQL database for virtual users" - /usr/bin/mysql -u root -p ${DSPAM_MySQL_DB} < ${HOMEDIR}/mysql_virtual_users.sql - - if use neural ; then - /usr/bin/mysql -u root -p ${DSPAM_MySQL_DB} < ${HOMEDIR}/mysql_neural.sql - 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 - elif use postgres ; then - [[ -f ${HOMEDIR}/pgsql.data ]] && mv -f ${HOMEDIR}/pgsql.data ${HOMEDIR} - DSPAM_PgSQL_USER="$(head -n 3 ${HOMEDIR}/pgsql.data|tail -n 1)" - DSPAM_PgSQL_PWD="$(head -n 4 ${HOMEDIR}/pgsql.data|tail -n 1)" - DSPAM_PgSQL_DB="$(head -n 5 ${HOMEDIR}/pgsql.data|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 ${HOMEDIR}/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 ${HOMEDIR}/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 ${HOMEDIR}/oracle.data ]] && mv -f ${HOMEDIR}/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 - -} diff --git a/mail-filter/dspam/dspam-3.2.4.ebuild b/mail-filter/dspam/dspam-3.2.4.ebuild index 92b3babe7462..ef9067b2eeb9 100644 --- a/mail-filter/dspam/dspam-3.2.4.ebuild +++ b/mail-filter/dspam/dspam-3.2.4.ebuild @@ -1,13 +1,13 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.2.4.ebuild,v 1.1 2005/01/04 01:32:07 st_lim Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.2.4.ebuild,v 1.2 2005/01/05 01:17:46 st_lim Exp $ inherit eutils S=${WORKDIR}/${PN}-${PV} DESCRIPTION="A statistical-algorithmic hybrid anti-spam filter" -SRC_URI="http://www.nuclearelephant.com/projects/dspam/sources/${PN}-${PV}.tar.gz" -HOMEPAGE="http://www.nuclearelephant.com/projects/dspam/index.html" +SRC_URI="http://dspam.nuclearelephant.com/sources/${PN}-${PV}.tar.gz" +HOMEPAGE="http://dspam.nuclearelephant.com/" LICENSE="GPL-2" IUSE="cyrus debug exim mysql maildrop neural oci8 postgres procmail sqlite large-domain" diff --git a/mail-filter/dspam/dspam-3.3.8.ebuild b/mail-filter/dspam/dspam-3.3.8.ebuild index a9437e2e7155..b5f6a4d94ada 100644 --- a/mail-filter/dspam/dspam-3.3.8.ebuild +++ b/mail-filter/dspam/dspam-3.3.8.ebuild @@ -1,13 +1,13 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.3.8.ebuild,v 1.2 2005/01/04 01:32:07 st_lim Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.3.8.ebuild,v 1.3 2005/01/05 01:17:46 st_lim Exp $ inherit eutils S=${WORKDIR}/${PN}-${PV} DESCRIPTION="A statistical-algorithmic hybrid anti-spam filter" -SRC_URI="http://www.nuclearelephant.com/projects/dspam/sources/${PN}-${PV}.tar.gz" -HOMEPAGE="http://www.nuclearelephant.com/projects/dspam/index.html" +SRC_URI="http://dspam.nuclearelephant.com/sources/${PN}-${PV}.tar.gz" +HOMEPAGE="http://dspam.nuclearelephant.com/" LICENSE="GPL-2" IUSE="cyrus debug exim mysql maildrop neural oci8 postgres procmail sqlite large-domain" diff --git a/mail-filter/dspam/dspam-3.2.2.ebuild b/mail-filter/dspam/dspam-3.3.9.ebuild similarity index 85% rename from mail-filter/dspam/dspam-3.2.2.ebuild rename to mail-filter/dspam/dspam-3.3.9.ebuild index 55e37e598719..488b60829833 100644 --- a/mail-filter/dspam/dspam-3.2.2.ebuild +++ b/mail-filter/dspam/dspam-3.3.9.ebuild @@ -1,13 +1,13 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.2.2.ebuild,v 1.3 2005/01/04 01:32:07 st_lim Exp $ +# $Header: /var/cvsroot/gentoo-x86/mail-filter/dspam/dspam-3.3.9.ebuild,v 1.1 2005/01/05 01:17:46 st_lim Exp $ inherit eutils S=${WORKDIR}/${PN}-${PV} DESCRIPTION="A statistical-algorithmic hybrid anti-spam filter" -SRC_URI="http://www.nuclearelephant.com/projects/dspam/sources/${PN}-${PV}.tar.gz" -HOMEPAGE="http://www.nuclearelephant.com/projects/dspam/index.html" +SRC_URI="http://dspam.nuclearelephant.com/sources/${PN}-${PV}.tar.gz" +HOMEPAGE="http://dspam.nuclearelephant.com/" LICENSE="GPL-2" IUSE="cyrus debug exim mysql maildrop neural oci8 postgres procmail sqlite large-domain" @@ -157,43 +157,41 @@ src_install () { chmod 4755 ${D}/usr/bin/dspam # documentation - dodoc CHANGELOG LICENSE README RELEASE.NOTES + dodoc CHANGELOG LICENSE README* RELEASE.NOTES dodoc ${FILESDIR}/README.postfix ${FILESDIR}/README.qmail if use mysql; then - dodoc tools.mysql_drv/README + dodoc src/tools.mysql_drv/README elif use postgres ; then - dodoc tools.pgsql_drv/README + dodoc src/tools.pgsql_drv/README elif use oci8 ; then - dodoc tools.ora_drv/README + dodoc src/tools.ora_drv/README elif use sqlite ; then - dodoc tools.sqlite_drv/README + dodoc src/tools.sqlite_drv/README fi + doman man/dspam* # build some initial configuration data - [ -f ${HOMEDIR}/dspam.conf ] && cp ${HOMEDIR}/dspam.conf ${D}${HOMEDIR}/dspam.conf + # Copy existing dspam.conf + [ -f ${HOMEDIR}/dspam.conf ] && cp ${HOMEDIR}/dspam.conf ${T}/dspam.conf + # If no existing dspam.conf if [ ! -f ${HOMEDIR}/dspam.conf ]; then + cp ${D}${HOMEDIR}/dspam.conf ${T}/dspam.conf if use cyrus; then - echo "UntrustedDeliveryAgent /usr/lib/cyrus/deliver %u" >> ${D}${HOMEDIR}/dspam.conf - sed -e 's:/usr/bin/procmail:/usr/lib/cyrus/deliver %u:g' \ - -i ${D}${HOMEDIR}/dspam.conf + echo "UntrustedDeliveryAgent /usr/lib/cyrus/deliver %u" >> ${T}/dspam.conf + dosed 's:/usr/bin/procmail:/usr/lib/cyrus/deliver %u:g' ${T}/dspam.conf elif use exim; then - echo "UntrustedDeliveryAgent /usr/sbin/exim -oMr spam-scanned %u" >> ${D}${HOMEDIR}/dspam.conf - sed -e 's:/usr/bin/procmail:/usr/sbin/exim -oMr spam-scanned %u:g' \ - -i ${D}${HOMEDIR}/dspam.conf + echo "UntrustedDeliveryAgent /usr/sbin/exim -oMr spam-scanned %u" >> ${T}/dspam.conf + dosed 's:/usr/bin/procmail:/usr/sbin/exim -oMr spam-scanned %u:g' ${T}/dspam.conf elif use maildrop; then - echo "UntrustedDeliveryAgent /usr/bin/maildrop -d %u" >> ${D}${HOMEDIR}/dspam.conf - sed -e 's:/usr/bin/procmail:/usr/bin/maildrop -d %u:g' \ - -i ${D}${HOMEDIR}/dspam.conf + echo "UntrustedDeliveryAgent /usr/bin/maildrop -d %u" >> ${T}/dspam.conf + dosed 's:/usr/bin/procmail:/usr/bin/maildrop -d %u:g' ${T}/dspam.conf elif use procmail; then - echo "UntrustedDeliveryAgent /usr/bin/procmail" >> ${D}${HOMEDIR}/dspam.conf + echo "UntrustedDeliveryAgent /usr/bin/procmail" >> ${T}/dspam.conf else - echo "UntrustedDeliveryAgent /usr/sbin/sendmail" >> ${D}${HOMEDIR}/dspam.conf - sed -e 's:/usr/bin/procmail:/usr/sbin/sendmail:g' \ - -i ${D}${HOMEDIR}/dspam.conf + echo "UntrustedDeliveryAgent /usr/sbin/sendmail" >> ${T}/dspam.conf + sed 's:/usr/bin/procmail:/usr/sbin/sendmail:g' ${T}/dspam.conf fi fi - chown dspam.dspam ${D}${HOMEDIR}/dspam.conf - chmod 644 ${D}${HOMEDIR}/dspam.conf local PASSWORD="${RANDOM}${RANDOM}${RANDOM}${RANDOM}" @@ -213,18 +211,18 @@ src_install () { echo "MySQLPass ${PASSWORD}" >> ${T}/mysql.data echo "MySQLDb dspam" >> ${T}/mysql.data echo "MySQLCompress true" >> ${T}/mysql.data - [ -z "`grep '^MySQL' ${D}/${HOMEDIR}/dspam.conf`" ] && cat ${T}/mysql.data >> ${D}/${HOMEDIR}/dspam.conf + [ -z "`grep '^MySQL' ${D}/${HOMEDIR}/dspam.conf`" ] && cat ${T}/mysql.data >> ${T}/dspam.conf sed -e 's/^MySQL[A-Za-z]* *//g' -i ${T}/mysql.data doins ${T}/mysql.data fi - newins tools.mysql_drv/mysql_objects-space.sql mysql_objects-space.sql - newins tools.mysql_drv/mysql_objects-speed.sql mysql_objects-speed.sql - newins tools.mysql_drv/mysql_objects-4.1.sql mysql_objects-4.1.sql - newins tools.mysql_drv/virtual_users.sql mysql_virtual_users.sql - newins tools.mysql_drv/neural.sql mysql_neural.sql - newins tools.mysql_drv/purge.sql mysql_purge.sql - newins tools.mysql_drv/purge-4.1.sql mysql_purge-4.1.sql + 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 + newins src/tools.mysql_drv/virtual_users.sql mysql_virtual_users.sql + newins src/tools.mysql_drv/neural.sql mysql_neural.sql + newins src/tools.mysql_drv/purge.sql mysql_purge.sql + newins src/tools.mysql_drv/purge-4.1.sql mysql_purge-4.1.sql newins ${FILESDIR}/upgrade.sql mysql_upgrade.sql elif use postgres ; then if [ -f ${HOMEDIR}/pgsql.data ]; then @@ -237,14 +235,14 @@ src_install () { echo "PgSQLUser dspam" >> ${T}/pgsql.data echo "PgSQLPass ${PASSWORD}" >> ${T}/pgsql.data echo "PgSQLDb dspam" >> ${T}/pgsql.data - [ -z "`grep '^PgSQL' ${D}/${HOMEDIR}/dspam.conf`" ] && cat ${T}/pgsql.data >> ${D}/${HOMEDIR}/dspam.conf + [ -z "`grep '^PgSQL' ${D}/${HOMEDIR}/dspam.conf`" ] && cat ${T}/pgsql.data >> ${T}/dspam.conf sed -e 's/^PgSQL[A-Za-z]* *//g' -i ${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 + newins src/tools.pgsql_drv/pgsql_objects.sql pgsql_objects.sql + newins src/tools.pgsql_drv/virtual_users.sql pgsql_virtual_users.sql + newins src/tools.pgsql_drv/purge.sql pgsql_purge.sql elif use oci8 ; then if [ -f ${HOMEDIR}/oracle.data ]; then @@ -256,17 +254,20 @@ src_install () { echo "OraUser dspam" >>${T}/oracle.data echo "OraPass ${PASSWORD}" >>${T}/oracle.data echo "OraSchema dspam" >>${T}/oracle.data - [ -z "`grep '^Ora' ${D}/${HOMEDIR}/dspam.conf`" ] && cat ${T}/oracle.data >> ${D}/${HOMEDIR}/dspam.conf + [ -z "`grep '^Ora' ${D}/${HOMEDIR}/dspam.conf`" ] && cat ${T}/oracle.data >> ${T}/dspam.conf sed -e 's/^Ora[A-Za-z]* *//g' -i ${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 + newins src/tools.ora_drv/oral_objects.sql ora_objects.sql + newins src/tools.ora_drv/virtual_users.sql ora_virtual_users.sql + newins src/tools.ora_drv/purge.sql ora_purge.sql elif use sqlite ; then - newins tools.sqlite_drv/purge.sql sqlite_purge.sql + newins src/tools.sqlite_drv/purge.sql sqlite_purge.sql fi + insinto ${HOMEDIR} + insopts -m644 -o dspam -g dspam + doins ${T}/dspam.conf # installs the cron job to the cron directory diropts -m0755 -o dspam -g dspam diff --git a/mail-filter/dspam/files/digest-dspam-3.0.0 b/mail-filter/dspam/files/digest-dspam-3.0.0 deleted file mode 100644 index f27f0f265cf9..000000000000 --- a/mail-filter/dspam/files/digest-dspam-3.0.0 +++ /dev/null @@ -1 +0,0 @@ -MD5 f5b568e8fea50faaf4c1fcabee177934 dspam-3.0.0.tar.gz 575382 diff --git a/mail-filter/dspam/files/digest-dspam-3.1.2 b/mail-filter/dspam/files/digest-dspam-3.1.2 deleted file mode 100644 index 02fef6cb6f17..000000000000 --- a/mail-filter/dspam/files/digest-dspam-3.1.2 +++ /dev/null @@ -1 +0,0 @@ -MD5 49c9a343422ea721905f3bec9e7703fb dspam-3.1.2.tar.gz 616504 diff --git a/mail-filter/dspam/files/digest-dspam-3.2.0 b/mail-filter/dspam/files/digest-dspam-3.2.0 deleted file mode 100644 index b5b46dde2f67..000000000000 --- a/mail-filter/dspam/files/digest-dspam-3.2.0 +++ /dev/null @@ -1 +0,0 @@ -MD5 6ebcbc130afde2ef0dc00e95051ab362 dspam-3.2.0.tar.gz 617716 diff --git a/mail-filter/dspam/files/digest-dspam-3.2.1 b/mail-filter/dspam/files/digest-dspam-3.2.1 deleted file mode 100644 index 619daf44be2e..000000000000 --- a/mail-filter/dspam/files/digest-dspam-3.2.1 +++ /dev/null @@ -1 +0,0 @@ -MD5 a4357c02ca39a68480719adf47fca67a dspam-3.2.1.tar.gz 618780 diff --git a/mail-filter/dspam/files/digest-dspam-3.2.2 b/mail-filter/dspam/files/digest-dspam-3.2.2 deleted file mode 100644 index 6091aa5f5dbd..000000000000 --- a/mail-filter/dspam/files/digest-dspam-3.2.2 +++ /dev/null @@ -1 +0,0 @@ -MD5 882f9ce3879fc71cec47bf2dcbc4f392 dspam-3.2.2.tar.gz 619691 diff --git a/mail-filter/dspam/files/digest-dspam-3.2.3 b/mail-filter/dspam/files/digest-dspam-3.2.3 deleted file mode 100644 index 2337ef822d20..000000000000 --- a/mail-filter/dspam/files/digest-dspam-3.2.3 +++ /dev/null @@ -1 +0,0 @@ -MD5 0c5d62df8746332906d487d5c5ad9926 dspam-3.2.3.tar.gz 620153 diff --git a/mail-filter/dspam/files/digest-dspam-3.3.9 b/mail-filter/dspam/files/digest-dspam-3.3.9 new file mode 100644 index 000000000000..9ae794b514e3 --- /dev/null +++ b/mail-filter/dspam/files/digest-dspam-3.3.9 @@ -0,0 +1 @@ +MD5 827a3613202c8685baaeb6bd012f82b1 dspam-3.3.9.tar.gz 656327 -- 2.26.2