# smtp-vilter ebuild for Gentoo Linux # Created by Darren Spruell 04/06/05 # TODO: get clamav/spamassassin as dependencies inherit eutils DESCRIPTION="High performance content filter for Sendmail" HOMEPAGE="http://www.etc.msys.ch/software/smtp-vilter/" SRC_URI="http://www.etc.msys.ch/software/smtp-vilter/${P}.tgz" LICENSE="BSD" SLOT="0" KEYWORDS="~x86" IUSE="" DEPEND="app-antivirus/clamav mail-filter/spamassassin" pkg_setup() { built_with_use sendmail milter || die "sendmail needs milter support builtin. Please re-emerge sendmail with the milter USE flag." } pkg_preinst() { enewgroup vilter enewuser vilter -1 /bin/false /var/lib/smtp-vilter vilter } src_compile() { emake || die "Unable to complete 'make' function." } src_install() { # Since smtp-vilter drops privileges, we need to make a directory it can # write the PID to. diropts -m0755 -o vilter -g clamav dodir /var/run/smtp-vilter # Install executable dosbin ${S}/bin/smtp-vilter/smtp-vilter # Install backend libraries dolib.so ${S}/backend/vilter-attachment/libvilter-attachment.so.5.0 dolib.so ${S}/backend/vilter-clamd/libvilter-clamd.so.5.0 dolib.so ${S}/backend/vilter-spamd/libvilter-spamd.so.5.0 dosym /usr/lib/libvilter-attachment.so.5.0 \ /usr/lib/libvilter-attachment.so.5 dosym /usr/lib/libvilter-attachment.so.5.0 \ /usr/lib/libvilter-attachment.so dosym /usr/lib/libvilter-clamd.so.5.0 \ /usr/lib/libvilter-clamd.so.5 dosym /usr/lib/libvilter-clamd.so.5.0 \ /usr/lib/libvilter-clamd.so dosym /usr/lib/libvilter-spamd.so.5.0 \ /usr/lib/libvilter-spamd.so.5 dosym /usr/lib/libvilter-spamd.so.5.0 \ /usr/lib/libvilter-spamd.so # Install startup script newinitd ${FILESDIR}/smtp-vilter.initd smtp-vilter newconfd ${FILESDIR}/smtp-vilter.confd smtp-vilter # Install default config files cp -rf ${S}/etc/smtp-vilter ${D}/etc/smtp-vilter # Tweak config file to a reasonable configuration dosed "s:chroot=:#chroot=:g" /etc/smtp-vilter/smtp-vilter.conf dosed "s:config-file=savse:#config-file=savse:g" /etc/smtp-vilter/smtp-vilter.conf dosed "s:user=_vilter:user=vilter:g" /etc/smtp-vilter/smtp-vilter.conf dosed "s:group=_vilter:group=clamav:g" /etc/smtp-vilter/smtp-vilter.conf dosed "s:option=chroot-scanrealpath:#option=chroot-scanrealpath:g" \ /etc/smtp-vilter/clamd.conf dosed "s:/var/run/smtp-vilter.pid:/var/run/smtp-vilter/smtp-vilter.pid:g" \ /etc/smtp-vilter/smtp-vilter.conf dosed "s:/var/run/smtp-vilter.sock:/var/run/smtp-vilter/smtp-vilter.sock:g" \ /etc/smtp-vilter/smtp-vilter.conf # Install manual pages doman "${S}/bin/smtp-vilter/smtp-vilter.8" doman "${S}/bin/smtp-vilter/smtp-vilter.conf.5" } pkg_postinst() { einfo "" einfo "This ebuild has installed backends for ClamAV, SpamAssassin," einfo "and attachment filtering. You can now configure smtp-vilter" einfo "using the sample configuration files in /etc/smtp-vilter/." einfo "" einfo "To configure Sendmail to use smtp-vilter, add the following" einfo "lines to your sendmail.mc:" einfo "" einfo " INPUT_MAIL_FILTER(\`smtp-vilter', \`S=unix:/var/run/smtp-vilter/smtp-vilter.sock, F=T, T=S:10s;R:120s'')" einfo " define(\`confINPUT_MAIL_FILTERS', \`smtp-vilter')" einfo "" }