diff options
Diffstat (limited to 'pcr/miniupnpd')
-rw-r--r-- | pcr/miniupnpd/PKGBUILD | 49 | ||||
-rw-r--r-- | pcr/miniupnpd/miniupnpd.init | 51 | ||||
-rw-r--r-- | pcr/miniupnpd/miniupnpd.systemd | 12 |
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 |