Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 53154 Details for
Bug 84639
mail-filter/dspam-3.4_p1 - version bump and ebuild fixes
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
mail-filter/dspam/dspam-3.4_pre1.ebuild
dspam-3.4_pre1.ebuild (text/plain), 21.68 KB, created by
steveb
on 2005-03-10 19:04:16 UTC
(
hide
)
Description:
mail-filter/dspam/dspam-3.4_pre1.ebuild
Filename:
MIME Type:
Creator:
steveb
Created:
2005-03-10 19:04:16 UTC
Size:
21.68 KB
patch
obsolete
># 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.4_pre1.ebuild Exp $ > >inherit eutils > >MY_PV=${PV/_beta/.beta.} >MY_PV=${MY_PV/_rc/.rc} >MY_PV=${MY_PV/_pre/.pr} >S=${WORKDIR}/${PN}-${MY_PV} >DESCRIPTION="A statistical-algorithmic hybrid anti-spam filter" >SRC_URI="http://dspam.nuclearelephant.com/sources/${PN}-${MY_PV}.tar.gz > http://dspam.nuclearelephant.com/sources/extras/dspam_sa_trainer.tar.gz" >HOMEPAGE="http://dspam.nuclearelephant.com/" >LICENSE="GPL-2" > >IUSE="cyrus debug exim mysql maildrop neural oci8 postgres procmail sqlite sqlite3 large-domain" >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 ) > sqlite? ( <dev-db/sqlite-3 ) > sqlite3? ( >=dev-db/sqlite-3 ) > postgres? ( >=dev-db/postgresql-7.4.3 ) > procmail? ( >=mail-filter/procmail-3.22 ) > x86? ( cyrus? ( >=net-mail/cyrus-imapd-2.1.15 ) ) > >=sys-libs/db-4.0 > " >RDEPEND="sys-process/cronbase > app-admin/logrotate" >KEYWORDS="~x86 ~ppc ~alpha" >SLOT="0" > ># some FHS-like structure >HOMEDIR="/etc/mail/dspam" >DATADIR="/var/spool/dspam" >LOGDIR="/var/log/dspam" > >pkg_setup() { > local multiple_dbs="0" > local supported_dbs="mysql postgres oci8 sqlite sqlite3" > for foo in ${supported_dbs}; do > if use ${foo}; then > let multiple_dbs="((multiple_dbs + 1 ))" > einfo " ${foo} database support in your USE flags." > fi > done > if [ "${multiple_dbs}" -ge "2" ]; then > echo > ewarn "You have multiple database backends active in your USE flags." > ewarn "Will default to MySQL as your dspam database backend." > ewarn "If you want to build with another database backend; 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 \"mail-filter/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 > elif [ "${multiple_dbs}" -eq "0" ]; then > echo > ewarn "You need to select at least one database backend in your USE flags." > ewarn "Please enable one of the following USE flags:" > ewarn " ${supported_dbs}" > echo > die "Database support missing" > fi > has_version sys-kernel/linux26-headers || ( > einfo "To use the new DSPAM deamon mode, you need to emerge" > einfo "sys-kernel/linux26-headers and rebuild glibc to support NPTL" > echo > ewarn "Waiting 30 seconds before starting..." > ewarn "(Control-C to abort)..." > epause 30 > ) > id dspam 2>/dev/null || enewgroup dspam 26 > id dspam 2>/dev/null || enewuser dspam 26 /bin/bash ${HOMEDIR} dspam >} > >src_compile() { > local myconf > > # Enable/Disable options > #myconf="${myconf} --disable-alternative-bayesian" > #myconf="${myconf} --disable-bias" > #myconf="${myconf} --disable-burton-bayesian" > #myconf="${myconf} --disable-graham-bayesian" > #myconf="${myconf} --disable-mysql4-initialization" > #myconf="${myconf} --disable-test-conditional" > #myconf="${myconf} --disable-traditional-bayesian" > #myconf="${myconf} --disable-trusted-user-security" > #myconf="${myconf} --enable-bnr-debug" > #myconf="${myconf} --enable-chi-square" > #myconf="${myconf} --enable-dclassify-extension" > #myconf="${myconf} --enable-daemon" > #myconf="${myconf} --enable-dclassify-extension" > #myconf="${myconf} --enable-debug" > #myconf="${myconf} --enable-dependency-tracking" > #myconf="${myconf} --enable-domain-scale" > #myconf="${myconf} --enable-fast-install" > #myconf="${myconf} --enable-homedir" > #myconf="${myconf} --enable-large-scale" > #myconf="${myconf} --enable-long-usernames" > #myconf="${myconf} --enable-neural-networking" > #myconf="${myconf} --enable-nodalcore" > #myconf="${myconf} --enable-preferences-extension" > #myconf="${myconf} --enable-profiling" > #myconf="${myconf} --enable-robinson" > #myconf="${myconf} --enable-robinson-pvalues" > #myconf="${myconf} --enable-shared" > #myconf="${myconf} --enable-static" > #myconf="${myconf} --enable-spam-delivery" > #myconf="${myconf} --enable-verbose" > #myconf="${myconf} --enable-verbose-debug" > #myconf="${myconf} --enable-virtual-users" > #myconf="${myconf} --enable-warnings" > > # With options > #myconf="${myconf} --with-db3-includes" > #myconf="${myconf} --with-db3-libraries" > #myconf="${myconf} --with-db4-includes" > #myconf="${myconf} --with-db4-libraries" > #myconf="${myconf} --with-delivery-agent" > #myconf="${myconf} --with-dspam-group" > #myconf="${myconf} --with-dspam-home" > #myconf="${myconf} --with-dspam-home-group" > #myconf="${myconf} --with-dspam-home-mode" > #myconf="${myconf} --with-dspam-home-owner" > #myconf="${myconf} --with-dspam-mode" > #myconf="${myconf} --with-dspam-owner" > #myconf="${myconf} --with-logdir" > #myconf="${myconf} --with-mysql-includes" > #myconf="${myconf} --with-mysql-libraries" > #myconf="${myconf} --with-oracle-home" > #myconf="${myconf} --with-pgsql-includes" > #myconf="${myconf} --with-pgsql-libraries" > #myconf="${myconf} --with-sqlite-includes" > #myconf="${myconf} --with-sqlite-libraries" > #myconf="${myconf} --with-storage-driver" > > myconf="${myconf} --enable-long-username" > if use large-domain; then > myconf="${myconf} --enable-large-scale" > else > myconf="${myconf} --enable-domain-scale" > fi > > myconf="${myconf} --with-dspam-mode=4755" > myconf="${myconf} --with-dspam-owner=dspam" > myconf="${myconf} --with-dspam-group=dspam" > myconf="${myconf} --with-dspam-home=${HOMEDIR}" > myconf="${myconf} --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! > if use debug; then > myconf="${myconf} --enable-debug" > myconf="${myconf} --enable-verbose-debug" > fi > > # 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} --enable-virtual-users" > myconf="${myconf} --enable-preferences-extension" > > if has_version sys-kernel/linux26-headers; then > myconf="${myconf} --enable-daemon" > fi > > # 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" > > if has_version sys-kernel/linux26-headers; then > myconf="${myconf} --enable-daemon" > fi > > # 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 > myconf="${myconf} --with-oracle-version=10" > fi > elif use sqlite3 ; then > myconf="${myconf} --with-storage-driver=sqlite3_drv" > myconf="${myconf} --enable-virtual-users" > 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 () { > > # Fix issues with older dspam configuration > CONFIG_PROTECT="${CONFIG_PROTECT} ${DATADIR} /var/run/dspam" > CONFIG_PROTECT_MASK="${CONFIG_PROTECTMASK/${HOMEDIR}/}" > CONFIG_PROTECT_MASK="${CONFIG_PROTECTMASK/${DATADIR}/}" > > # 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} > touch ${T}/empty.file > newins ${T}/empty.file system.log > dosym ${LOGDIR}/system.log ${HOMEDIR}/system.log > > # ${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 > chmod 4755 ${D}/usr/bin/dspam_stats > > # documentation > dodoc CHANGELOG LICENSE README* RELEASE.NOTES UPGRADING > dodoc ${FILESDIR}/README.postfix ${FILESDIR}/README.qmail > if use mysql; then > dodoc src/tools.mysql_drv/README > elif use postgres ; then > dodoc src/tools.pgsql_drv/README > elif use oci8 ; then > dodoc src/tools.ora_drv/README > elif use sqlite || sqlite3 ; then > dodoc src/tools.sqlite_drv/README > fi > doman man/dspam* > dodoc ${DISTDIR}/dspam_sa_trainer.tar.gz > > # build some initial configuration data > cp src/dspam.conf ${T}/dspam.conf > if use cyrus; then > sed -i 's:^#*\(UntrustedDeliveryAgent\)[\t ]*.*:\1 \"/usr/lib/cyrus/deliver %u\":gI' ${T}/dspam.conf > sed -i 's:^\(TrustedDeliveryAgent\)[\t ]*.*:\1 \"/usr/lib/cyrus/deliver\":gI' ${T}/dspam.conf > elif use exim; then > sed -i 's:^#*\(UntrustedDeliveryAgent\)[\t ]*.*:\1 \"/usr/sbin/exim -oMr spam-scanned %u\":gI' ${T}/dspam.conf > sed -i 's:^\(TrustedDeliveryAgent\)[\t ]*.*:\1 \"/usr/sbin/exim -oMr spam-scanned %u\":gI' ${T}/dspam.conf > elif use maildrop; then > sed -i 's:^#*\(UntrustedDeliveryAgent\)[\t ]*.*:\1 \"/usr/bin/maildrop -d %u\":gI' ${T}/dspam.conf > sed -i 's:^\(TrustedDeliveryAgent\)[\t ]*.*:\1 \"/usr/bin/maildrop\":gI' ${T}/dspam.conf > elif use procmail; then > sed -i 's:^#*\(UntrustedDeliveryAgent\)[\t ]*.*:\1 \"/usr/bin/procmail -d %u\":gI' ${T}/dspam.conf > sed -i 's:^\(TrustedDeliveryAgent\)[\t ]*.*:\1 \"/usr/bin/procmail":gI' ${T}/dspam.conf > else > sed -i 's:^#*\(UntrustedDeliveryAgent\)[\t ]*.*:\1 \"/usr/sbin/sendmail\":gI' ${T}/dspam.conf > sed -i 's:^\(TrustedDeliveryAgent\)[\t ]*.*:\1 \"/usr/sbin/sendmail\":gI' ${T}/dspam.conf > fi > if use mysql || use postgres; then > if has_version sys-kernel/linux26-headers; then > # keeps dspam socket for deamon in /var/run/dspam > diropts -m0775 -o dspam -g dspam > dodir /var/run/dspam > keepdir /var/run/dspam > > # We use sockets for the deamon instead of tcp port 24 > sed -i 's:^#*\(ServerDomainSocketPath[\t ]\{1,\}\).*:\1\"/var/run/dspam/dspam.sock\":gI' ${T}/dspam.conf > sed -i 's:^#*\(ServerPID[\t ]\{1,\}\).*:\1/var/run/dspam/dspam.pid:gI' ${T}/dspam.conf > > # dspam init script > exeinto /etc/init.d > exeopts -m0755 -o root -g root > newexe ${FILESDIR}/dspam.rc dspam > fi > fi > > # generate random password > local PASSWORD="${RANDOM}${RANDOM}${RANDOM}${RANDOM}" > > # database related configuration and scripts > if use mysql; then > # Use existing configuration if possible > if [[ -f ${ROOT}${HOMEDIR}/mysql.data ]]; then > DSPAM_DB_DATA=( $(sed "s:^[\t ]*$:###:gI" "${ROOT}${HOMEDIR}/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 -i "s:^#*\(MySQLServer[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[0]}:gI" ${T}/dspam.conf > sed -i "s:^#*\(MySQLPort[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[1]}:gI" ${T}/dspam.conf > sed -i "s:^#*\(MySQLUser[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[2]}:gI" ${T}/dspam.conf > sed -i "s:^#*\(MySQLPass[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[3]}:gI" ${T}/dspam.conf > sed -i "s:^#*\(MySQLDb[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[4]}:gI" ${T}/dspam.conf > sed -i "s:^#*\(MySQLCompress[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[5]}:gI" ${T}/dspam.conf > for DB_DATA_INDEX in $(seq 0 $((${#DSPAM_DB_DATA[@]} - 1))); do > echo "${DSPAM_DB_DATA[$DB_DATA_INDEX]}" >> ${T}/mysql.data > done > insinto ${HOMEDIR} > insopts -m644 -o dspam -g dspam > doins ${T}/mysql.data > 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 > > elif use postgres ; then > # Use existing configuration if possible > if [ -f ${ROOT}${HOMEDIR}/pgsql.data ]; then > DSPAM_DB_DATA=( $(cat "${ROOT}${HOMEDIR}/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 -i "s:^#*\(PgSQLServer[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[0]}:gI" ${T}/dspam.conf > sed -i "s:^#*\(PgSQLPort[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[1]}:gI" ${T}/dspam.conf > sed -i "s:^#*\(PgSQLUser[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[2]}:gI" ${T}/dspam.conf > sed -i "s:^#*\(PgSQLPass[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[3]}:gI" ${T}/dspam.conf > sed -i "s:^#*\(PgSQLDb[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[4]}:gI" ${T}/dspam.conf > sed -i "s:^#*\(PgSQLConnectionCache[\t ]*.\):\1:gI" ${T}/dspam.conf > for DB_DATA_INDEX in $(seq 0 $((${#DSPAM_DB_DATA[@]} - 1))); do > echo "${DSPAM_DB_DATA[$DB_DATA_INDEX]}" >> ${T}/pgsql.data > done > > insinto ${HOMEDIR} > insopts -m644 -o dspam -g dspam > doins ${T}/pgsql.data > 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 > # Use existing configuration if possible > if [ -f ${ROOT}${HOMEDIR}/oracle.data ]; then > DSPAM_DB_DATA=( $(cat "${ROOT}${HOMEDIR}/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 -i "s:^#*\(OraServer[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[0]}:gI" ${T}/dspam.conf > sed -i "s:^\(OraUser[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[1]}:gI" ${T}/dspam.conf > sed -i "s:^\(OraPass[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[2]}:gI" ${T}/dspam.conf > sed -i "s:^\(OraSchema[\t ]\{1,\}\).*:\1${DSPAM_DB_DATA[3]}:gI" ${T}/dspam.conf > for DB_DATA_INDEX in $(seq 0 $((${#DSPAM_DB_DATA[@]} - 1))); do > echo "${DSPAM_DB_DATA[$DB_DATA_INDEX]}" >> ${T}/oracle.data > done > > insinto ${HOMEDIR} > insopts -m644 -o dspam -g dspam > doins ${T}/oracle.data > 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 || sqlite3 ; then > insinto ${HOMEDIR} > insopts -m644 -o dspam -g dspam > newins src/tools.sqlite_drv/purge.sql sqlite_purge.sql > fi > > sed -i "s:^\(Purge.*\):###\1:g" ${T}/dspam.conf > sed -i "s:^#\(Purge.*\):\1:g" ${T}/dspam.conf > sed -i "s:^###\(Purge.*\):#\1:g" ${T}/dspam.conf > insinto ${HOMEDIR} > insopts -m644 -o dspam -g dspam > doins ${T}/dspam.conf > > # installs the notification messages > # -> The documentation is wrong! The files need to be in ./txt > diropts -m0775 -o dspam -g dspam > dodir ${HOMEDIR}/txt > keepdir ${HOMEDIR}/txt > insinto ${HOMEDIR}/txt > insopts -m644 -o dspam -g dspam > doins ${S}/txt/*.txt > > # Create the opt-in / opt-out directories > diropts -m0775 -o dspam -g dspam > dodir ${HOMEDIR}/opt-in > keepdir ${HOMEDIR}/opt-in > dodir ${HOMEDIR}/opt-out > keepdir ${HOMEDIR}/opt-out > > # logrotation scripts > 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 cron job > 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 > > # dspam enviroment > echo -ne "CONFIG_PROTECT=\"${DATADIR} /var/run/dspam\"\n\n" > ${T}/40dspam > doenvd ${T}/40dspam || die >} > >pkg_postinst() { > env-update > if use mysql || use postgres || use oci8; 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 "ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config" > fi > if use mysql || use postgres; then > if has_version sys-kernel/linux26-headers; then > einfo "If you want to run DSPAM in the new deamon mode. Remember" > einfo "to make the DSPAM daemon start durig boot:" > einfo " rc-update add dspam default" > fi > 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_DB_DATA=( $(sed "s:^[\t ]*$:###:gI" "${ROOT}${HOMEDIR}/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} > > 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} < ${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_DB_DATA=( $(sed "s:^[\t ]*$:###:gI" "${ROOT}${HOMEDIR}/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 ${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 > > elif use oci8 ; then > [[ -f ${HOMEDIR}/oracle.data ]] && mv -f ${HOMEDIR}/oracle.data ${HOMEDIR} > 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 "Pleae read your dspam.conf, oracle.data and the README for" > einfo "more info on how to setup DSPAM with Oracle." > elif use sqlite3 ; then > einfo "sqlite3_drv will automatically create the necessary database" > einfo "objects for each user upon first use of DSPAM by that user." > 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 > >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 84639
:
53019
|
53150
| 53154 |
53155