diff options
-rw-r--r-- | testing/vpnc/APKBUILD | 45 | ||||
-rw-r--r-- | testing/vpnc/vpnc.confd | 4 | ||||
-rw-r--r-- | testing/vpnc/vpnc.initd | 103 |
3 files changed, 152 insertions, 0 deletions
diff --git a/testing/vpnc/APKBUILD b/testing/vpnc/APKBUILD new file mode 100644 index 0000000000..f701cb9162 --- /dev/null +++ b/testing/vpnc/APKBUILD @@ -0,0 +1,45 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=vpnc +pkgver=0.5.3 +pkgrel=0 +pkgdesc="IPSec VPN client compatible with Cisco equipment" +url="http://www.unix-ag.uni-kl.de/~massar/vpnc/" +arch="all" +license="GPLv2+" +depends= +makedepends="libgcrypt-dev" +install="" +subpackages="$pkgname-doc" +source="http://www.unix-ag.uni-kl.de/~massar/vpnc/vpnc-$pkgver.tar.gz + vpnc.initd + vpnc.confd" + +_builddir="$srcdir"/vpnc-$pkgver +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + make PREFIX=/usr || return 1 +} + +package() { + cd "$_builddir" + make PREFIX=/usr DESTDIR="$pkgdir" install || return 1 + install -m755 -D "$srcdir"/vpnc.initd \ + "$pkgdir"/etc/init.d/vpnc || return 1 + install -m644 -D "$srcdir"/vpnc.confd \ + "$pkgdir"/etc/conf.d/vpnc || return 1 +} + +md5sums="4378f9551d5b077e1770bbe09995afb3 vpnc-0.5.3.tar.gz +481ddc83b829de62f459f9b94e0c334b vpnc.initd +5c9fe863f70cc5262c095012b4bcc163 vpnc.confd" diff --git a/testing/vpnc/vpnc.confd b/testing/vpnc/vpnc.confd new file mode 100644 index 0000000000..62789bd407 --- /dev/null +++ b/testing/vpnc/vpnc.confd @@ -0,0 +1,4 @@ +# If you wish to see the output made by vpnc, for example the password +# prompt, set this variable to yes + +VPNCOUTPUT="no" diff --git a/testing/vpnc/vpnc.initd b/testing/vpnc/vpnc.initd new file mode 100644 index 0000000000..f5c5dc6e63 --- /dev/null +++ b/testing/vpnc/vpnc.initd @@ -0,0 +1,103 @@ +#!/sbin/runscript + +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/vpnc/files/vpnc-3.init,v 1.2 2010/08/13 08:39:48 fauli Exp $ + +VPNDIR="/etc/vpnc" +VPN="${SVCNAME#*.}" +if [ -n ${VPN} ] && [ ${SVCNAME} != "vpnc" ]; then + mkdir -p /var/run/vpnc + VPNPID="/var/run/vpnc/${VPN}.pid" +else + VPNPID="/var/run/vpnc.pid" +fi +VPNCONF="${VPNDIR}/${VPN}.conf" +VPNSCRIPTDIR="${VPNDIR}/scripts.d" +PREUPSCRIPT="${VPNSCRIPTDIR}/${VPN}-preup.sh" +PREDOWNSCRIPT="${VPNSCRIPTDIR}/${VPN}-predown.sh" +POSTUPSCRIPT="${VPNSCRIPTDIR}/${VPN}-postup.sh" +POSTDOWNSCRIPT="${VPNSCRIPTDIR}/${VPN}-postdown.sh" +# We should source this file to avoid problems when init script +# name differs from the default name +. /etc/conf.d/vpnc + +depend() { + need net + before netmount +} + +checktundevice() { + if [ ! -e /dev/net/tun ]; then + if ! modprobe tun ; then + eerror "TUN/TAP support is not available in this kernel" + return 1 + fi + fi + if [ -h /dev/net/tun ] && [ -c /dev/misc/net/tun ]; then + ebegin "Detected broken /dev/net/tun symlink, fixing..." + rm -f /dev/net/tun + ln -s /dev/misc/net/tun /dev/net/tun + eend $? + fi +} + +screenoutput() { + if [ "${VPNCOUTPUT}" = "yes" ]; then + export SCREEN_OUTPUT="/dev/stdout" + else + export SCREEN_OUTPUT="/dev/null" + fi +} + +start() { + ebegin "Starting VPNC: ${VPN}" + + checktundevice || return 1 + screenoutput + + if [ ! -e "${VPNCONF}" ]; then + eend 1 "${VPNCONF} does not exist" + return 1 + fi + + local args="" + + if [ -x "${PREUPSCRIPT}" ] ; then + "${PREUPSCRIPT}" > ${SCREEN_OUTPUT} + fi + + start-stop-daemon --start --pidfile "${VPNPID}" --exec /usr/sbin/vpnc \ + -- --pid-file "${VPNPID}" "${VPNCONF}" > ${SCREEN_OUTPUT} + local retval=$? + if [ ! ${retval} -eq 0 ]; then + eend ${retval} + return ${retval} + fi + + if [ -x "${POSTUPSCRIPT}" ] ; then + "${POSTUPSCRIPT}" > ${SCREEN_OUTPUT} + fi + eend $? +} + +stop() { + ebegin "Stopping VPNC: ${VPN}" + screenoutput + if [ -x "${PREDOWNSCRIPT}" ] ; then + "${PREDOWNSCRIPT}" > ${SCREEN_OUTPUT} + fi + + start-stop-daemon --stop --pidfile "${VPNPID}" + local retval=$? + if [ ! ${retval} -eq 0 ]; then + eend ${retval} + return ${retval} + fi + + + if [ -x "${POSTDOWNSCRIPT}" ] ; then + "${POSTDOWNSCRIPT}" > ${SCREEN_OUTPUT} + fi + eend $? +} |