summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason A. Donenfeld <zx2c4@gentoo.org>2017-03-17 14:49:18 +0100
committerJason A. Donenfeld <zx2c4@gentoo.org>2017-03-17 14:56:14 +0100
commit7f68c86d93d5f69d775bceb3941b3a3b46672eb1 (patch)
treeb461a335b70f8d07bda55ab1e3cc54fbd568a097 /net-vpn/vpnc
parentdev-ruby/nexpose: Initial version (diff)
downloadgentoo-7f68c86d93d5f69d775bceb3941b3a3b46672eb1.tar.gz
gentoo-7f68c86d93d5f69d775bceb3941b3a3b46672eb1.tar.bz2
gentoo-7f68c86d93d5f69d775bceb3941b3a3b46672eb1.zip
Move VPN packages into net-vpn/
Diffstat (limited to 'net-vpn/vpnc')
-rw-r--r--net-vpn/vpnc/Manifest1
-rw-r--r--net-vpn/vpnc/files/vpnc-3.init102
-rw-r--r--net-vpn/vpnc/files/vpnc-tmpfiles.conf1
-rw-r--r--net-vpn/vpnc/files/vpnc.confd4
-rw-r--r--net-vpn/vpnc/files/vpnc.service20
-rw-r--r--net-vpn/vpnc/metadata.xml19
-rw-r--r--net-vpn/vpnc/vpnc-0.5.3_p550.ebuild71
7 files changed, 218 insertions, 0 deletions
diff --git a/net-vpn/vpnc/Manifest b/net-vpn/vpnc/Manifest
new file mode 100644
index 000000000000..36e1f433dacd
--- /dev/null
+++ b/net-vpn/vpnc/Manifest
@@ -0,0 +1 @@
+DIST vpnc-0.5.3_p550.tar.xz 101860 SHA256 5d7582eb3d7ead3cb0732a404ce10f471a65c48d0bb4cb2dd5c525273bf0f4b5 SHA512 95150c743c61a962c36591bb874c77f2c28f341c0a1290dba4e878a460d22d762dd88f7cfc0aa9d17ace71a8b826d9fd13554c23b5123dee6009e9fffcd2de55 WHIRLPOOL 8194e0dcf2c0bd1910b4b110dd475024d5cc351d86dec58b33811c37f9bcbc2702c4fede861a6318c54dfb7d19ff2d2265da86d573181a02f433e131184b9bd3
diff --git a/net-vpn/vpnc/files/vpnc-3.init b/net-vpn/vpnc/files/vpnc-3.init
new file mode 100644
index 000000000000..f76538f1630e
--- /dev/null
+++ b/net-vpn/vpnc/files/vpnc-3.init
@@ -0,0 +1,102 @@
+#!/sbin/openrc-run
+
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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 $?
+}
diff --git a/net-vpn/vpnc/files/vpnc-tmpfiles.conf b/net-vpn/vpnc/files/vpnc-tmpfiles.conf
new file mode 100644
index 000000000000..67224ac3ef2d
--- /dev/null
+++ b/net-vpn/vpnc/files/vpnc-tmpfiles.conf
@@ -0,0 +1 @@
+D /run/vpnc 0755 root root -
diff --git a/net-vpn/vpnc/files/vpnc.confd b/net-vpn/vpnc/files/vpnc.confd
new file mode 100644
index 000000000000..62789bd407ec
--- /dev/null
+++ b/net-vpn/vpnc/files/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/net-vpn/vpnc/files/vpnc.service b/net-vpn/vpnc/files/vpnc.service
new file mode 100644
index 000000000000..ce1e3683f4ec
--- /dev/null
+++ b/net-vpn/vpnc/files/vpnc.service
@@ -0,0 +1,20 @@
+[Unit]
+Description=Free Cisco VPN connection to %i
+Documentation=man:vpnc(8) http://www.unix-ag.uni-kl.de/~massar/vpnc/
+Requires=network.target
+After=network.target
+ConditionPathExists=/dev/net/tun
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/vpnc/%i.conf
+PIDFile=/run/vpnc/%i.pid
+
+ExecStartPre=-/etc/vpnc/scripts.d/%i-preup.sh
+ExecStart=/usr/sbin/vpnc --pid-file /run/vpnc/%i.pid
+ExecStartPost=-/etc/vpnc/scripts.d/%i-postup.sh
+
+ExecStopPost=-/etc/vpnc/scripts.d/%i-postdown.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-vpn/vpnc/metadata.xml b/net-vpn/vpnc/metadata.xml
new file mode 100644
index 000000000000..2bec55dcc3ff
--- /dev/null
+++ b/net-vpn/vpnc/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>lorand.jakab@schweiz.ch</email>
+ <name>Lorand Jakab</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mmokrejs@gmail.com</email>
+ <name>Martin Mokrejs</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="resolvconf">Enable support for DNS managing framework <pkg>net-dns/openresolv</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/net-vpn/vpnc/vpnc-0.5.3_p550.ebuild b/net-vpn/vpnc/vpnc-0.5.3_p550.ebuild
new file mode 100644
index 000000000000..7b4fb313fd26
--- /dev/null
+++ b/net-vpn/vpnc/vpnc-0.5.3_p550.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils linux-info systemd toolchain-funcs
+
+DESCRIPTION="Free client for Cisco VPN routing software"
+HOMEPAGE="http://www.unix-ag.uni-kl.de/~massar/vpnc/"
+SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
+
+LICENSE="GPL-2 BSD"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 sparc x86"
+IUSE="resolvconf +gnutls selinux"
+
+DEPEND="
+ dev-lang/perl
+ dev-libs/libgcrypt:0=
+ >=sys-apps/iproute2-2.6.19.20061214[-minimal]
+ gnutls? ( net-libs/gnutls )
+ !gnutls? ( dev-libs/openssl:0= )"
+RDEPEND="${DEPEND}
+ resolvconf? ( net-dns/openresolv )
+ selinux? ( sec-policy/selinux-vpn )
+"
+
+RESTRICT="!gnutls? ( bindist )"
+
+CONFIG_CHECK="~TUN"
+
+src_prepare() {
+ if use gnutls; then
+ elog "Will build with GnuTLS (default) instead of OpenSSL so you may even redistribute binaries."
+ elog "See the Makefile itself and http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=440318"
+ else
+ sed -i -e '/^#OPENSSL_GPL_VIOLATION/s:#::g' "${S}"/Makefile || die
+ ewarn "Building SSL support with OpenSSL instead of GnuTLS. This means that"
+ ewarn "you are not allowed to re-distibute the binaries due to conflicts between BSD license and GPL,"
+ ewarn "see the vpnc Makefile and http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=440318"
+ fi
+
+ sed -e 's:test/cert0.pem::g' -i Makefile || die
+
+ tc-export CC
+
+ sed \
+ -e 's:/var/run:/run:g' \
+ -i ChangeLog config.c TODO || die
+}
+
+src_install() {
+ emake PREFIX="/usr" DESTDIR="${D}" install
+ dodoc README TODO VERSION
+ keepdir /etc/vpnc/scripts.d
+ newinitd "${FILESDIR}/vpnc-3.init" vpnc
+ newconfd "${FILESDIR}/vpnc.confd" vpnc
+ sed -e "s:/usr/local:/usr:" -i "${ED}"/etc/vpnc/vpnc-script || die
+
+ systemd_dotmpfilesd "${FILESDIR}"/vpnc-tmpfiles.conf
+ systemd_newunit "${FILESDIR}"/vpnc.service vpnc@.service
+
+ # COPYING file resides here, should not be installed
+ rm -rf "${ED}"/usr/share/doc/vpnc/ || die
+}
+
+pkg_postinst() {
+ elog "You can generate a configuration file from the original Cisco profiles of your"
+ elog "connection by using /usr/bin/pcf2vpnc to convert the .pcf file"
+ elog "A guide is available at https://wiki.gentoo.org/wiki/Vpnc"
+}