summaryrefslogtreecommitdiff
path: root/gentoo-linux/net-misc/anytun/anytun-0.3.1.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'gentoo-linux/net-misc/anytun/anytun-0.3.1.ebuild')
-rw-r--r--gentoo-linux/net-misc/anytun/anytun-0.3.1.ebuild167
1 files changed, 167 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
+}