summaryrefslogtreecommitdiff
path: root/pcr/miniupnpd
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/miniupnpd')
-rw-r--r--pcr/miniupnpd/PKGBUILD49
-rw-r--r--pcr/miniupnpd/miniupnpd.init51
-rw-r--r--pcr/miniupnpd/miniupnpd.systemd12
3 files changed, 112 insertions, 0 deletions
diff --git a/pcr/miniupnpd/PKGBUILD b/pcr/miniupnpd/PKGBUILD
new file mode 100644
index 000000000..30108d4d5
--- /dev/null
+++ b/pcr/miniupnpd/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id$
+# Maintainer: None
+pkgname=miniupnpd
+pkgver=1.7.20121005
+pkgrel=4
+pkgdesc="Lightweight UPnP IGD daemon"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://miniupnp.free.fr"
+license=('BSD')
+backup=(etc/miniupnpd/miniupnpd.conf)
+depends=('libnfnetlink')
+source=("http://miniupnp.free.fr/files/$pkgname-$pkgver.tar.gz" miniupnpd.init miniupnpd.systemd)
+sha1sums=('4579c4711a8455bf455f3757ac9ce0dc40088901'
+ 'c84031d7af122c5bede8609bcfa80bc31f2a5e61'
+ '9cf48feb98dadee8a566b2dc7811a95020ad3895')
+
+_ipt_arch_ver=$(pacman -Ss iptables | awk '/\/iptables/ { print $2 }')
+depends+=("iptables=$_ipt_arch_ver")
+
+build() {
+ ipt_upstream_ver=iptables-${_ipt_arch_ver%%-*}
+ if [ ! -d $ipt_upstream_ver ]; then
+ curl -O "http://www.iptables.org/projects/iptables/files/${ipt_upstream_ver}.tar.bz2"
+ bsdtar -jxvf $ipt_upstream_ver.tar.bz2
+ fi
+
+ cd "$srcdir/$ipt_upstream_ver"
+ ./configure --enable-static
+ make
+
+ cd "$srcdir/$pkgname-$pkgver"
+ make -f Makefile.linux config.h
+ IPTABLESPATH="$srcdir/$ipt_upstream_ver" make -f Makefile.linux
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ mkdir -p "$pkgdir/usr/share/man/man8"
+ make PREFIX="$pkgdir/" -f Makefile.linux install
+ rm -r "${pkgdir}/etc/init.d"
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -Dm755 "${srcdir}/miniupnpd.init" "${pkgdir}/etc/rc.d/miniupnpd"
+ install -Dm644 "${srcdir}/miniupnpd.systemd" "${pkgdir}/usr/lib/systemd/system/miniupnpd.service"
+ sed -i 's:/sbin/iptables:/usr/sbin/iptables:
+ s:eth0:"`cat /etc/miniupnpd/miniupnpd.conf | '"awk -F= '/^ext_ifname/ { print \$2 }'"'`":' "${pkgdir}"/etc/miniupnpd/*.sh
+ sed -i -e "s/^uuid=[-0-9a-f]*/uuid=00000000-0000-0000-0000-000000000000/
+ s/make genuuid/uuidgen/" "${pkgdir}/etc/miniupnpd/miniupnpd.conf"
+}
+
diff --git a/pcr/miniupnpd/miniupnpd.init b/pcr/miniupnpd/miniupnpd.init
new file mode 100644
index 000000000..e09ac3ade
--- /dev/null
+++ b/pcr/miniupnpd/miniupnpd.init
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+MINIUPNPD=/usr/sbin/miniupnpd
+ARGS='-f /etc/miniupnpd/miniupnpd.conf'
+PIDFILE='/var/run/miniupnpd.pid'
+IPTABLES_CREATE=/etc/miniupnpd/iptables_init.sh
+IPTABLES_REMOVE=/etc/miniupnpd/iptables_removeall.sh
+
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy "Starting MiniUPNPd"
+
+ if ! pidof -o %PPID $MINIUPNPD &> /dev/null; then
+ rm -f "$PIDFILE"
+ fi
+
+ $IPTABLES_CREATE > /dev/null 2>&1
+
+ PID="$(cat "$PIDFILE" 2> /dev/null)"
+
+ if [ -z "$PID" ] && $MINIUPNPD $ARGS; then
+ add_daemon miniupnpd
+ stat_done
+ else
+ stat_fail
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping MiniUPNPd"
+ PID="$(cat "$PIDFILE" 2> /dev/null)"
+ if [ -n "$PID" ] && kill "$PID" &> /dev/null; then
+ rm -f "$PIDFILE"
+ rm_daemon miniupnpd
+ stat_done
+ else
+ stat_fail
+ fi
+ ;;
+ restart)
+ "$0" stop
+ sleep 1
+ "$0" start
+ ;;
+ *)
+ echo "Usage: /etc/rc.d/miniupnpd {start|stop|restart}"
+ exit 2
+ ;;
+esac
+exit 0
diff --git a/pcr/miniupnpd/miniupnpd.systemd b/pcr/miniupnpd/miniupnpd.systemd
new file mode 100644
index 000000000..4c5aa77cc
--- /dev/null
+++ b/pcr/miniupnpd/miniupnpd.systemd
@@ -0,0 +1,12 @@
+[Unit]
+Description=Lightweight UPnP IGD daemon
+
+[Service]
+ExecStartPre=/etc/miniupnpd/iptables_init.sh
+ExecStart=/usr/sbin/miniupnpd -f /etc/miniupnpd/miniupnpd.conf -d
+ExecStopPost=/etc/miniupnpd/iptables_removeall.sh
+PIDFile=/var/run/miniupnpd.pid
+StandardOutput=null
+
+[Install]
+WantedBy=network.target