From 7c236320270a8ba424d4919b4d84d10836ebc8e3 Mon Sep 17 00:00:00 2001 From: Bernhard Tittelbach Date: Sat, 5 Dec 2009 16:27:22 +0000 Subject: halbfertig --- gentoo-linux/net-misc/anytun/anytun-0.3.1.ebuild | 167 +++++++++++++++++++++++ gentoo-linux/net-misc/anytun/metadata.xml | 11 ++ 2 files changed, 178 insertions(+) create mode 100644 gentoo-linux/net-misc/anytun/anytun-0.3.1.ebuild create mode 100644 gentoo-linux/net-misc/anytun/metadata.xml 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 @@ + + + +anytun +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. + + Build and install manpages (depend on asciidoc) + Prefer dev-libs/libgcrypt over + dev-libs/openssl for encryption + + -- cgit v1.2.3