summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Tittelbach <service-anytun@tittelbach.org>2009-12-05 16:27:22 +0000
committerBernhard Tittelbach <service-anytun@tittelbach.org>2009-12-05 16:27:22 +0000
commit7c236320270a8ba424d4919b4d84d10836ebc8e3 (patch)
treead811e17efce160962cee6964652516dcb22606c
parentdir vor pkging (diff)
halbfertig
-rw-r--r--gentoo-linux/net-misc/anytun/anytun-0.3.1.ebuild167
-rw-r--r--gentoo-linux/net-misc/anytun/metadata.xml11
2 files changed, 178 insertions, 0 deletions
diff --git a/gentoo-linux/net-misc/anytun/anytun-0.3.1.ebuild b/gentoo-linux/net-misc/anytun/anytun-0.3.1.ebuild
new file mode 100644
index 0000000..9092550
--- /dev/null
+++ b/gentoo-linux/net-misc/anytun/anytun-0.3.1.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils multilib toolchain-funcs autotools
+
+DESCRIPTION="Anytun is an implementation of the Secure Anycast Tunneling
+Protocol. It provides similary functionality to openvpn but with less overhead
+and the ability use an anycast ip and therefore mulitple endpoints at the same
+time."
+SRC_URI="http://anytun.org/~equinox/${P}.tar.gz"
+HOMEPAGE="http://anytun.org/"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd"
+IUSE="gcrypt doc"
+
+DEPEND=">=dev-libs/boost-1.35
+ gcrypt? ( dev-libs/libgcrypt )
+ !gcrypt? ( >=dev-libs/openssl-0.9.6 )
+ doc? ( app-text/asciidoc )"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ #epatch "${FILESDIR}/${PN}-2.1_rc13-peercred.patch"
+ #epatch "${FILESDIR}"/openvpn-2.1_rc20-pkcs11.patch
+ eautoreconf
+}
+
+src_compile() {
+ local myconf=""
+
+ if use gcrypt ; then
+ #myconf="$(use_enable pkcs11)"
+ myconf="${myconf}"
+ else
+ myconf="${myconf} --use-ssl-crypto"
+ fi
+
+ econf ${myconf} \
+ || die "configure failed"
+
+ #use static && sed -i -e '/^LIBS/s/LIBS = /LIBS = -static /' Makefile
+
+ emake || die "make failed"
+
+ if use static ; then
+ emake anytun-static || die "make anytun-static failed"
+ fi
+
+ if use doc ; then
+ einfo "Building manpages"
+ emake manpage
+ fi
+}
+
+src_install() {
+ mkdir -p ${D}/usr/sbin ${D}/usr/bin ${D}/var/run/anytun ${D}/var/run/anytun-controld ${D}/etc/anytun ${D}/etc/rc.d/ ${D}/usr/share/$pkgname-$pkgver/etc-example/
+ cp anytun ${D}/usr/sbin/
+ cp anytun-config anytun-controld anytun-nosync anytun-showtables ${D}/usr/bin/
+ #touch ${D}/var/run/anytun/.keep ${D}/var/run/anytun-controld/.keep
+ cp $srcdir/$pkgname-$pkgver/etc/init.d/anytun ${D}/etc/rc.d/
+ cp -R $srcdir/$pkgname-$pkgver/etc/anytun ${D}/usr/share/$pkgname-$pkgver/etc-example/
+ cp $srcdir/$pkgname-$pkgver/etc/anytun/autostart ${D}/etc/anytun/
+ cp -R ../wireshark-lua ${D}/usr/share/$pkgname-$pkgver/
+ keepdir /var/run/anytun-controld
+ use doc && dodoc
+
+..........
+ make DESTDIR="${D}" install || die "make install failed"
+
+ # install documentation
+ dodoc AUTHORS ChangeLog LICENSE README
+ # remove empty dir
+ rmdir "${D}/usr/share/doc/openvpn"
+
+ # Empty dir
+ dodir /etc/openvpn
+ keepdir /etc/openvpn
+
+ # Install some helper scripts
+ exeinto /etc/openvpn
+ doexe "${FILESDIR}/up.sh"
+ doexe "${FILESDIR}/down.sh"
+
+ # Install the init script and config file
+ newinitd "${FILESDIR}/${PN}-2.1.init" openvpn
+ newconfd "${FILESDIR}/${PN}-2.1.conf" openvpn
+
+ # install examples, controlled by the respective useflag
+ if use examples ; then
+ # dodoc does not supportly support directory traversal, #15193
+ insinto /usr/share/doc/${PF}/examples
+ doins -r sample-{config-files,keys,scripts} contrib
+ prepalldocs
+ fi
+
+ # Install plugins and easy-rsa
+ if ! use minimal ; then
+ cd easy-rsa/2.0
+ make install "DESTDIR=${D}/usr/share/${PN}/easy-rsa"
+ cd ../..
+
+ exeinto "/usr/$(get_libdir)/${PN}"
+ doexe plugin/*/*.so
+ fi
+}
+
+pkg_postinst() {
+ # Add openvpn user so openvpn servers can drop privs
+ # Clients should run as root so they can change ip addresses,
+ # dns information and other such things.
+ enewgroup openvpn
+ enewuser openvpn "" "" "" openvpn
+
+ if [[ -n $(ls /etc/openvpn/*/local.conf 2>/dev/null) ]] ; then
+ ewarn "WARNING: The openvpn init script has changed"
+ ewarn ""
+ fi
+
+ einfo "The openvpn init script expects to find the configuration file"
+ einfo "openvpn.conf in /etc/openvpn along with any extra files it may need."
+ einfo ""
+ einfo "To create more VPNs, simply create a new .conf file for it and"
+ einfo "then create a symlink to the openvpn init script from a link called"
+ einfo "openvpn.newconfname - like so"
+ einfo " cd /etc/openvpn"
+ einfo " ${EDITOR##*/} foo.conf"
+ einfo " cd /etc/init.d"
+ einfo " ln -s openvpn openvpn.foo"
+ einfo ""
+ einfo "You can then treat openvpn.foo as any other service, so you can"
+ einfo "stop one vpn and start another if you need to."
+
+ if grep -Eq "^[ \t]*(up|down)[ \t].*" "${ROOT}/etc/openvpn"/*.conf 2>/dev/null ; then
+ ewarn ""
+ ewarn "WARNING: If you use the remote keyword then you are deemed to be"
+ ewarn "a client by our init script and as such we force up,down scripts."
+ ewarn "These scripts call /etc/openvpn/\$SVCNAME-{up,down}.sh where you"
+ ewarn "can move your scripts to."
+ fi
+
+ if ! use minimal ; then
+ einfo ""
+ einfo "plugins have been installed into /usr/$(get_libdir)/${PN}"
+ fi
+
+ if use ipv6 ; then
+ einfo ""
+ einfo "This build contains IPv6-Patch from JuanJo Ciarlante."
+ einfo "For more information please visit:"
+ einfo "http://github.com/jjo/openvpn-ipv6"
+ fi
+
+ if use eurephia ; then
+ einfo ""
+ einfo "This build contains eurephia patch."
+ einfo "For more information please visit:"
+ einfo "http://www.eurephia.net/"
+ fi
+}
diff --git a/gentoo-linux/net-misc/anytun/metadata.xml b/gentoo-linux/net-misc/anytun/metadata.xml
new file mode 100644
index 0000000..2c17c40
--- /dev/null
+++ b/gentoo-linux/net-misc/anytun/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>anytun</herd>
+<longdescription>Anytun is an implementation of the Secure Anycast Tunneling Protocol. It provides similary functionality to openvpn but with less overhead and the ability use an anycast ip and therefore mulitple endpoints at the same time.</longdescription>
+<use>
+ <flag name='doc'>Build and install manpages (depend on asciidoc)</flag>
+ <flag name='gcrypt'>Prefer <pkg>dev-libs/libgcrypt</pkg> over
+ <pkg>dev-libs/openssl</pkg> for encryption</flag>
+</use>
+</pkgmetadata>