# Copyright 2003 Martin Hierling # Distributed under the terms of the GNU General Public License v2 # $Header: /cvsroot/gentoo-deutsch/ebuilds/net-mail/MailScanner/MailScanner-4.24.5.ebuild,v 1.1 2003/10/09 07:41:56 mad Exp $ IUSE="postfix sendmail clamav vlnx spamassassin f-prot" MAILSCANNER_PV=4.28.6-1 S=${WORKDIR}/MailScanner-${PV} DESCRIPTION="MailScanner / A Free Anti-Virus and Anti-Spam Filter " HOMEPAGE="http://www.mailscanner.info/" SRC_URI="http://www.sng.ecs.soton.ac.uk/mailscanner/files/4/tar/MailScanner-${MAILSCANNER_PV}.tar.gz" #BASE="/opt/MailScanner" BASE="/usr" KEYWORDS="~x86 ~sparc ~amd64" SLOT="0" LICENSE="GPL-2" DEPEND="dev-lang/perl dev-perl/Convert-TNEF dev-perl/File-Temp dev-perl/MIME-tools dev-perl/HTML-Parser dev-perl/HTML-Tagset dev-perl/File-Spec dev-perl/MailTools dev-perl/MIME-Base64 dev-perl/IO-stringy dev-perl/Archive-Zip dev-perl/Compress-Zlib dev-perl/Net-CIDR dev-perl/Convert-BinHex sendmail? net-mail/sendmail postfix? net-mail/postfix clamav? net-mail/clamav spamassassin? dev-perl/Mail-SpamAssassin f-prot? net-mail/f-prot " src_unpack() { unpack ${A} } src_compile() { # setup MTA if [ "`use postfix`" ]; then RUNASUSER='postfix' RUNASGROUP='postfix' INQUEUE='\/var\/spool\/postfix.in\/deferred' OUTQUEUE='\/var\/spool\/postfix\/incoming' MTA='postfix' elif [ "`use sendmail`" ]; then RUNASUSER='mail' RUNASGROUP='mail' INQUEUE='\/var\/spool\/mqueue.in' OUTQUEUE='\/var\/spool\/mqueue' MTA='sendmail' else # use sendmail as default, but we should add more as needed RUNASUSER='mail' RUNASGROUP='mail' INQUEUE='\/var\/spool\/mqueue.in' OUTQUEUE='\/var\/spool\/mqueue' MTA='sendmail' fi # setup virus scanner(s) if [ "`use clamav`" -o "`use vlnx`" -o "`use f-prot`" ]; then if [ "`use clamav`" ]; then VIRUS_SCANNERS="${VIRUS_SCANNERS} clamav" fi if [ "`use vlnx`" ]; then VIRUS_SCANNERS="${VIRUS_SCANNERS} mcafee" fi if [ "`use f-prot`" ]; then VIRUS_SCANNERS="${VIRUS_SCANNERS} f-prot" fi sed -i \ -e "s/^Virus Scanning.*/Virus Scanning = yes/" \ -e "s/^Virus Scanners.*/Virus Scanners = ${VIRUS_SCANNERS}/" \ ${S}/etc/MailScanner.conf else sed -i \ -e "s/^Virus Scanning = yes$/Virus Scanning = no/" \ ${S}/etc/MailScanner.conf fi # setup spamassassin if [ "`use spamassassin`" ]; then sed -i \ -e "s/^Use SpamAssassin = no$/Use SpamAssassin = yes/" \ ${S}/etc/MailScanner.conf fi # update bin files sed -i \ -e "s/process=MailScanner/process=MailScanner/g" \ -e "s/config=\/etc\/MailScanner\/MailScanner.conf/config=\/etc\/mailscanner\/MailScanner.conf/g" \ -e "s/bindir=\/usr\/sbin/bindir=\/usr\/bin/g" \ -e "s/\/usr\/lib\/MailScanner/\/usr\/lib\/mailscanner/g" \ ${S}/bin/check_mailscanner.linux sed -i -e "s/\/opt\/MailScanner\/etc/\/etc\/mailscanner/g" ${S}/bin/update_virus_scanners sed -i \ -e "s/\/opt\/MailScanner\/etc/\/etc\/mailscanner/g" \ -e "s/\/opt\/MailScanner\/lib/\/usr\/lib\/mailscanner/g" \ ${S}/bin/MailScanner # update conf files BASEBIN="\\${BASE}\\/bin" sed -i \ -e "s/\/opt\/MailScanner\/etc/\/etc\/mailscanner/g" \ -e "s/\/opt\/MailScanner\/bin/$BASEBIN/g" \ -e "s/^\(Run As User =\).*/\1 $RUNASUSER/" \ -e "s/^\(Run As Group =\).*/\1 $RUNASGROUP/" \ -e "s/^\(Incoming Queue Dir =\).*/\1 $INQUEUE/" \ -e "s/^\(Outgoing Queue Dir =\).*/\1 $OUTQUEUE/" \ -e "s/^\(MTA =\).*/\1 $MTA/" \ -e "s/^#\(TNEF.*internal\)$/\1/" \ -e "s/^\(TNEF.*0000\)$/#\1/" \ -e "s/^PID file.*/PID file = \/var\/run\/mailscanner.pid/" \ ${S}/etc/MailScanner.conf # net-mail/vlnx net-mail/clamav net-mail/f-prot package compatibility sed -i -e "s/PREFIX=\/usr\/local\/uvscan/PREFIX=\/opt\/vlnx/" ${S}/lib/mcafee-autoupdate sed -i \ -e "s#/opt/MailScanner/lib#/usr/lib/mailscanner#" \ -e 's#^\(mcafee.*\)/usr/local/uvscan$#\1/opt/vlnx#' \ -e 's#^\(clamav\t.*/usr\)/local$#\1#' \ -e 's#^\(f-prot.*\)/usr/local/f-prot$#\1/opt/f-prot#' \ ${S}/etc/virus.scanners.conf # update lib files sed -i \ -e "s/\/opt\/MailScanner\/bin/$BASEBIN/g" \ -e "s/\/opt\/MailScanner\/etc/etc\/mailscanner/g" \ ${S}/lib/MailScanner/ConfigDefs.pl sed -i -e "s/\/etc\/MailScanner/\/etc\/mailscanner/g" ${S}/lib/MailScanner/CustomConfig.pm } src_install() { cd ${S} exeinto ${BASE}/bin newexe bin/check_mailscanner.linux check_mailscanner doexe bin/df2mbox doexe bin/MailScanner doexe bin/update_virus_scanners doexe bin/upgrade_MailScanner_conf insinto /etc/mailscanner doins etc/*.conf insinto /etc/mailscanner/rules doins etc/rules/* for i in $(ls etc/reports/) do insinto /etc/mailscanner/reports/$i doins etc/reports/$i/* done insinto ${BASE}/lib/mailscanner doins lib/* exeinto ${BASE}/lib/mailscanner doexe lib/*-wrapper doexe lib/*-autoupdate insinto ${BASE}/lib/mailscanner/MailScanner doins lib/MailScanner/* exeinto /etc/init.d newexe ${FILESDIR}/mailscanner.initd mailscanner if [ "`use postfix`" ]; then newexe ${FILESDIR}/postfix.in postfix.in elif [ "`use sendmail`" ]; then newexe ${FILESDIR}/sendmail.in sendmail.in fi mkdir -p ${D}usr/share/doc/${PF}/html cp -a docs/* ${D}usr/share/doc/${PF}/html dodoc COPYING INSTALL notes.txt README docs/QuickInstall.txt docs/README.sql-logging dodir /var/spool/MailScanner/incoming touch ${D}/var/spool/MailScanner/incoming/.keep dodir /var/spool/MailScanner/quarantine touch ${D}/var/spool/MailScanner/quarantine/.keep dodir /var/spool/MailScanner/spamassassin touch ${D}/var/spool/MailScanner/spamassassin/.keep dodir /var/spool/MailScanner/archiv touch ${D}/var/spool/MailScanner/archiv/.keep dodir ${BASE}/var touch ${D}${BASE}/var/.keep if [ "`use postfix`" ]; then chown -R postfix:postfix ${D}/var/spool/MailScanner/ elif [ "`use sendmail`" ]; then chown -R mail:mail ${D}/var/spool/MailScanner/ fi }