diff options
Diffstat (limited to 'community-testing/p3scan')
-rw-r--r-- | community-testing/p3scan/PKGBUILD | 55 | ||||
-rw-r--r-- | community-testing/p3scan/p3scan.install | 7 | ||||
-rw-r--r-- | community-testing/p3scan/rc.p3scan | 39 |
3 files changed, 101 insertions, 0 deletions
diff --git a/community-testing/p3scan/PKGBUILD b/community-testing/p3scan/PKGBUILD new file mode 100644 index 000000000..47a104dfa --- /dev/null +++ b/community-testing/p3scan/PKGBUILD @@ -0,0 +1,55 @@ +# $Id: PKGBUILD 64091 2012-02-08 23:54:21Z allan $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: v01d <phreakuencies@gmail.com> + +pkgname=p3scan +pkgver=2.3.2 +pkgrel=6 +pkgdesc="Fully transparent POP3/SMTP proxy with Anti-Virus and SPAM protection" +arch=('i686' 'x86_64') +url="http://p3scan.sourceforge.net/" +depends=('pcre' 'openssl') +license=('GPL') +source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz" "rc.p3scan") +md5sums=('9f8decc7d4701228788e3c8717096ca0' 'f6e3450c3a932477c49082559b7abef8') +install=p3scan.install +md5sums=('9f8decc7d4701228788e3c8717096ca0' + '482a783e699b6532cbc478977f429eb5') + +build() { + cd $srcdir/$pkgname-$pkgver + + # Fix CFLAGS and other options hardcoded in Makefiles + unset CFLAGS + sed -ri "s|^CFLAGS=-Wall( -g)? -O2|CFLAGS=-Wall $CFLAGS|" Makefile ripmime/Makefile ripmime/tnef/Makefile ripmime/ripOLE/Makefile + sed -ri 's|^LOCATION=.+$|LOCATION=/usr|' ripmime/Makefile + sed -ri 's|\$\(SYSINS\) -v -m 550 --strip p3scan \$\(PREFIX\)/sbin/|$(SYSINS) -D -v -m 550 --strip p3scan $(DESTDIR)/usr/sbin/|' Makefile + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + + # Create base dirs, the Makefile assumes they're there + install -d $pkgdir/usr/sbin $pkgdir/etc/rc.d $pkgdir/usr/man/man8 + + # install with root set on $pkgdir + make DESTDIR=$pkgdir install + + # delete init script provided and use an arch compatible one + rm -f $pkgdir/etc/rc.d/rc.p3scan + install -D -m755 -g root -o root $srcdir/rc.p3scan $pkgdir/etc/rc.d/p3scan + + # BUG?: make absolute link a relative one + ( + cd $pkgdir/etc/p3scan + ln -sf p3scan-en.mail p3scan.mail + ) + + # BUG: fix .conf file (the license has C style comments, they should be conf-style comments) + sed -ri 's|^[/ ]\*/?|# |g' $pkgdir/etc/p3scan/p3scan.conf + + mv $pkgdir/usr/man $pkgdir/usr/share/ + mv $pkgdir/usr/doc $pkgdir/usr/share/ + rm -rf $pkgdir/var/run +} diff --git a/community-testing/p3scan/p3scan.install b/community-testing/p3scan/p3scan.install new file mode 100644 index 000000000..0f139dd28 --- /dev/null +++ b/community-testing/p3scan/p3scan.install @@ -0,0 +1,7 @@ +post_install() { + echo "==> You may want an Anti-Virus program to use with p3scan. Installing clamav is recommended." +} + +post_upgrade() { + post_install $1 $2 +} diff --git a/community-testing/p3scan/rc.p3scan b/community-testing/p3scan/rc.p3scan new file mode 100644 index 000000000..fc8b79b22 --- /dev/null +++ b/community-testing/p3scan/rc.p3scan @@ -0,0 +1,39 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + stat_busy "Starting p3scan" + [ -d /var/run/p3scan ] || mkdir -p /var/run/p3scan + if [ -a /var/run/p3scan/p3scan.pid ]; then stat_die; fi + + # Start p3scan + /usr/sbin/p3scan + if ! [ -a /var/run/p3scan/p3scan.pid ]; then stat_die; fi + add_daemon p3scan + stat_done + ;; + stop) + stat_busy "Stopping p3scan" + + # Stop p3scan + if [ -a /var/run/p3scan/p3scan.pid ]; then + kill `cat /var/run/p3scan/p3scan.pid` &>/dev/null || stat_die + rm -f /var/run/p3scan/p3scan.pid + rm_daemon p3scan + stat_done + else + stat_fail + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "Usage: $0 { start | stop | restart }" +esac +exit 0 |