diff options
Diffstat (limited to 'net-misc/openvpn/openvpn-2.0.2-r3.ebuild')
-rw-r--r-- | net-misc/openvpn/openvpn-2.0.2-r3.ebuild | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/net-misc/openvpn/openvpn-2.0.2-r3.ebuild b/net-misc/openvpn/openvpn-2.0.2-r3.ebuild new file mode 100644 index 000000000000..05a1679eac2d --- /dev/null +++ b/net-misc/openvpn/openvpn-2.0.2-r3.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/openvpn/openvpn-2.0.2-r3.ebuild,v 1.1 2005/10/14 13:04:32 uberlord Exp $ + +inherit eutils gnuconfig multilib + +DESCRIPTION="OpenVPN is a robust and highly flexible tunneling application compatible with many OSes." +SRC_URI="http://openvpn.net/release/openvpn-${PV}.tar.gz" +HOMEPAGE="http://openvpn.net/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc ~ppc-macos ~sparc ~x86" +IUSE="examples iproute2 minimal selinux ssl static threads" + +RDEPEND=">=dev-libs/lzo-1.07 + iproute2? ( sys-apps/iproute2 ) || ( sys-apps/net-tools ) + selinux? ( sec-policy/selinux-openvpn ) + ssl? ( >=dev-libs/openssl-0.9.6 )" +DEPEND="${RDEPEND} + virtual/os-headers" + +src_unpack() { + unpack "${A}" + gnuconfig_update +} + +src_compile() { + local myconf="" + # We cannot use use_enable with iproute2 as the Makefile stupidly + # enables it with --disable-iproute2 + use iproute2 && myconf="${myconf} --enable-iproute2" + + econf ${myconf} \ + $(use_enable ssl) \ + $(use_enable ssl crypto) \ + $(use_enable threads pthread) \ + || die "configure failed" + + use static && sed -e -i '/^LIBS/s/LIBS = /LIBS = -static /' Makefile + + emake || die "make failed" + + if ! use minimal ; then + cd plugin + for i in $( ls 2>/dev/null ); do + [[ ${i} == "README" || ${i} == "examples" ]] && continue + einfo "Building ${i} plugin" + cd "${i}" + emake || die "make failed" + cd .. + done + cd .. + fi +} + +src_install() { + make DESTDIR="${D}" install || die "make install failed" + + # install documentation + dodoc AUTHORS ChangeLog INSTALL PORTS README + + # Empty dir + dodir /etc/openvpn + keepdir /etc/openvpn + + # Install the init script + newinitd "${FILESDIR}/openvpn.init" openvpn + + # Install easy-rsa stuffs + dodir "/usr/share/${PN}/easy-rsa" + exeinto "/usr/share/${PN}/easy-rsa" + doexe easy-rsa/2.0/* + exeopts -m0644 + + # install examples, controlled by the respective useflag + if use examples ; then + docinto examples + dodoc -r sample-{config-files,keys,scripts} contrib + fi + + # Install plugins + if ! use minimal ; then + dodir "/usr/share/${PN}/plugins" + exeinto "/usr/share/${PN}/plugins" + doexe plugin/*/*.so + fi +} + +pkg_postinst() { + ewarn "WARNING: The openvpn init script has changed" + ewarn "" + 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 ! use minimal ; then + einfo "" + einfo "plugins have been installed into /usr/$(get_libdir)/${PN}" + fi + einfo "" + einfo "It is recommended that you create your tun/tap interfaces using" + einfo "the net.tun0/net.tap0 scripts provided by baselayout instead of" + einfo "using the 'server' directive in openvpn configuration files." + einfo "This will insure that the interface really is up after openvpn" + einfo "starts." + einfo "Note that you cannot use net.tun0/net.tap0 and the server option," + einfo "otherwise openvpn will not start." + ebeep +} |