diff options
author | Jason A. Donenfeld <zx2c4@gentoo.org> | 2017-03-17 14:49:18 +0100 |
---|---|---|
committer | Jason A. Donenfeld <zx2c4@gentoo.org> | 2017-03-17 14:56:14 +0100 |
commit | 7f68c86d93d5f69d775bceb3941b3a3b46672eb1 (patch) | |
tree | b461a335b70f8d07bda55ab1e3cc54fbd568a097 /net-vpn/vpnc | |
parent | dev-ruby/nexpose: Initial version (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | net-vpn/vpnc/files/vpnc-3.init | 102 | ||||
-rw-r--r-- | net-vpn/vpnc/files/vpnc-tmpfiles.conf | 1 | ||||
-rw-r--r-- | net-vpn/vpnc/files/vpnc.confd | 4 | ||||
-rw-r--r-- | net-vpn/vpnc/files/vpnc.service | 20 | ||||
-rw-r--r-- | net-vpn/vpnc/metadata.xml | 19 | ||||
-rw-r--r-- | net-vpn/vpnc/vpnc-0.5.3_p550.ebuild | 71 |
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" +} |