summaryrefslogtreecommitdiff
path: root/community-staging/p3scan
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-02-07 23:15:14 +0000
committerroot <root@rshg054.dnsready.net>2012-02-07 23:15:14 +0000
commit0dee03071a0643c3ee5820afa3c694dcef71d385 (patch)
tree2aa6cbee930040086600726e496a2bd87ec41ba8 /community-staging/p3scan
parent1fa6edfba8d1e31ca1c0d59e8202cd3c62ccf393 (diff)
Tue Feb 7 23:15:14 UTC 2012
Diffstat (limited to 'community-staging/p3scan')
-rw-r--r--community-staging/p3scan/PKGBUILD55
-rw-r--r--community-staging/p3scan/p3scan.install7
-rw-r--r--community-staging/p3scan/rc.p3scan39
3 files changed, 101 insertions, 0 deletions
diff --git a/community-staging/p3scan/PKGBUILD b/community-staging/p3scan/PKGBUILD
new file mode 100644
index 000000000..a974f27d7
--- /dev/null
+++ b/community-staging/p3scan/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 63918 2012-02-06 17:50:35Z jelle $
+# 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-staging/p3scan/p3scan.install b/community-staging/p3scan/p3scan.install
new file mode 100644
index 000000000..0f139dd28
--- /dev/null
+++ b/community-staging/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-staging/p3scan/rc.p3scan b/community-staging/p3scan/rc.p3scan
new file mode 100644
index 000000000..fc8b79b22
--- /dev/null
+++ b/community-staging/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