summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www-apps/dspam-web/dspam-web-3.2.7.ebuild')
-rw-r--r--www-apps/dspam-web/dspam-web-3.2.7.ebuild169
1 files changed, 169 insertions, 0 deletions
diff --git a/www-apps/dspam-web/dspam-web-3.2.7.ebuild b/www-apps/dspam-web/dspam-web-3.2.7.ebuild
new file mode 100644
index 000000000000..4cff6f04351c
--- /dev/null
+++ b/www-apps/dspam-web/dspam-web-3.2.7.ebuild
@@ -0,0 +1,169 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-apps/dspam-web/dspam-web-3.2.7.ebuild,v 1.1 2005/03/11 04:26:41 st_lim Exp $
+
+inherit webapp eutils
+
+MY_PN=${PN/-web/}
+MY_PV=${PV/_rc3/.pr1}
+MY_P=${MY_PN}-${MY_PV}
+
+DESCRIPTION="Web based administration and user controls for dspam"
+SRC_URI="http://dspam.nuclearelephant.com/sources/${MY_P}.tar.gz"
+
+HOMEPAGE="http://dspam.nuclearelephant.com/"
+LICENSE="GPL-2"
+DEPEND=">=mail-filter/dspam-3.2_rc3
+ >=net-www/apache-1.3
+ >=dev-lang/perl-5.8.2
+ >=dev-perl/GD-2.0
+ dev-perl/GD-Graph3d
+ dev-perl/GDGraph
+ dev-perl/GDTextUtil"
+KEYWORDS="~x86 ~ppc"
+S=${WORKDIR}/${MY_P}
+HOMEDIR=/etc/mail/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"
+
+ # ${HOMEDIR}/data is a symlink to ${DATADIR}
+ myconf="${myconf} --with-dspam-mode=4755"
+ myconf="${myconf} --with-dspam-owner=dspam"
+ myconf="${myconf} --with-dspam-group=dspam"
+ myconf="${myconf} --enable-homedir --with-dspam-home=${HOMEDIR} --sysconfdir=${HOMEDIR}"
+ myconf="${myconf} --with-logdir=/var/log/dspam"
+
+ # enables support for debugging (touch /etc/dspam/.debug to turn on)
+ # optional: even MORE debugging output, use with extreme caution!
+ use debug && myconf="${myconf} --enable-debug --enable-verbose-debug"
+
+ # select storage driver
+ if use mysql || use mysql41; 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"
+ myconf="${myconf} --enable-preferences-extension"
+
+ else
+ myconf="${myconf} --with-storage-driver=libdb4_drv"
+ fi
+
+ econf ${myconf} || die
+ cd ${S}/cgi
+ make
+}
+
+src_install () {
+ cd ${S}/cgi
+ webapp_src_preinst
+
+ sed -e 's,/var/dspam,/etc/mail/dspam,' \
+ -e 's,/usr/local,/usr,' \
+ -i admin.cgi
+ sed -e 's,/var/dspam,/etc/mail/dspam,' \
+ -e 's,/usr/local,/usr,' \
+ -i dspam.cgi
+
+ insinto ${MY_HTDOCSDIR}
+ insopts -m644 -o apache -g apache
+ doins *.css
+ doins *.gif
+ doins rgb.txt
+ doins default.prefs
+ doins admins
+ doins configure.pl
+
+ newins ${FILESDIR}/htaccess .htaccess
+ newins ${FILESDIR}/htpasswd .htpasswd
+
+ insopts -m755 -o apache -g apache
+ doins *.cgi
+
+ for CGI_SCRIPT in admin.cgi admingraph.cgi dspam.cgi graph.cgi; do
+ webapp_runbycgibin perl ${MY_HTDOCSDIR}/${CGI_SCRIPT}
+ done
+
+ dodir ${MY_HTDOCSDIR}/templates
+
+ insinto ${MY_HTDOCSDIR}/templates
+ doins templates/*.html
+
+ #All files must be owned by server
+ cd ${D}${MY_HTDOCSDIR}
+ for x in `find . -type f -print` ; do
+ webapp_serverowned ${MY_HTDOCSDIR}/$x
+ done
+
+ webapp_src_install
+}
+
+pkg_config () {
+ # add apache to the dspam group so the CGIs can access the data
+
+ local groups
+ groups=`groups apache`
+ groups=`echo ${groups} | sed -e 's/ /,/g'`
+ usermod -G "${groups},dspam" apache
+}
+
+pkg_postinst () {
+ einfo "The CGIs need to be executed as group dspam in order to write"
+ einfo "to the dspam data directory. You will need to configure apache"
+ einfo "manually to do this. Another option is to add the user apache"
+ einfo "to the dspam group. You can do this automatically by running:"
+ echo
+ einfo "ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config"
+ echo
+ einfo "This app requires basic auth in order to operate properly."
+ einfo "You will need to add dspam users to the .htpasswd file or"
+ einfo "configure a different authentication mechanism for the user"
+ einfo "accounts."
+}