From 2b52b235c3c1383d6678a30707e5e546114a9145 Mon Sep 17 00:00:00 2001 From: Christian Faulhammer Date: Tue, 23 Mar 2010 22:54:22 +0000 Subject: [PATCH] Fix stop behaviour as reported wiith patch in bug 310687 by Dirk Tilger Package-Manager: portage-2.1.7.17/cvs/Linux i686 --- net-misc/vpnc/ChangeLog | 11 +- net-misc/vpnc/files/vpnc-3.init | 102 ++++++++++++++++++ ..._p449.ebuild => vpnc-0.5.3_p449-r1.ebuild} | 6 +- 3 files changed, 114 insertions(+), 5 deletions(-) create mode 100644 net-misc/vpnc/files/vpnc-3.init rename net-misc/vpnc/{vpnc-0.5.3_p449.ebuild => vpnc-0.5.3_p449-r1.ebuild} (90%) diff --git a/net-misc/vpnc/ChangeLog b/net-misc/vpnc/ChangeLog index c9b544f89d12..afe7d8372078 100644 --- a/net-misc/vpnc/ChangeLog +++ b/net-misc/vpnc/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-misc/vpnc -# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/vpnc/ChangeLog,v 1.87 2009/11/10 16:09:20 fauli Exp $ +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/vpnc/ChangeLog,v 1.88 2010/03/23 22:54:22 fauli Exp $ + +*vpnc-0.5.3_p449-r1 (23 Mar 2010) + + 23 Mar 2010; Christian Faulhammer + -vpnc-0.5.3_p449.ebuild, +vpnc-0.5.3_p449-r1.ebuild, +files/vpnc-3.init: + Fix stop behaviour as reported wiith patch in bug 310687 by Dirk Tilger + 10 Nov 2009; Christian Faulhammer vpnc-0.5.3_p449.ebuild: diff --git a/net-misc/vpnc/files/vpnc-3.init b/net-misc/vpnc/files/vpnc-3.init new file mode 100644 index 000000000000..61ba36b54ede --- /dev/null +++ b/net-misc/vpnc/files/vpnc-3.init @@ -0,0 +1,102 @@ +#!/sbin/runscript + +# Copyright 1999-2007 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.1 2010/03/23 22:54:22 fauli Exp $ + +VPNDIR="/etc/vpnc" +VPN="${SVCNAME#*.}" +if [ -n ${VPN} ] && [ ${SVCNAME} != "vpnc" ]; then + 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 $? +} diff --git a/net-misc/vpnc/vpnc-0.5.3_p449.ebuild b/net-misc/vpnc/vpnc-0.5.3_p449-r1.ebuild similarity index 90% rename from net-misc/vpnc/vpnc-0.5.3_p449.ebuild rename to net-misc/vpnc/vpnc-0.5.3_p449-r1.ebuild index e2d3308eb01c..cf6ee3346206 100644 --- a/net-misc/vpnc/vpnc-0.5.3_p449.ebuild +++ b/net-misc/vpnc/vpnc-0.5.3_p449-r1.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2009 Gentoo Foundation +# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/vpnc/vpnc-0.5.3_p449.ebuild,v 1.2 2009/11/10 16:09:20 fauli Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/vpnc/vpnc-0.5.3_p449-r1.ebuild,v 1.1 2010/03/23 22:54:22 fauli Exp $ DESCRIPTION="Free client for Cisco VPN routing software" HOMEPAGE="http://www.unix-ag.uni-kl.de/~massar/vpnc/" @@ -23,7 +23,7 @@ src_install() { dodoc README TODO VERSION || die keepdir /var/run/vpnc keepdir /etc/vpnc/scripts.d - newinitd "${FILESDIR}/vpnc-2.init" vpnc || die + newinitd "${FILESDIR}/vpnc-3.init" vpnc || die newconfd "${FILESDIR}/vpnc.confd" vpnc || die sed -e "s:/usr/local:/usr:" -i "${D}"/etc/vpnc/vpnc-script || die # COPYING file resides here, should not be installed -- 2.26.2