diff options
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.ebuild | 167 |
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 +} |