diff options
author | Roy Marples <uberlord@gentoo.org> | 2006-09-12 23:50:11 +0000 |
---|---|---|
committer | Roy Marples <uberlord@gentoo.org> | 2006-09-12 23:50:11 +0000 |
commit | e51b817986a8599e51662a0b0cb6afbc156165a1 (patch) | |
tree | 6d8f4b2ebe4d61c951f7d8908978a906a430f764 /net-misc/openvpn | |
parent | Add ~amd64 keyword. (diff) | |
download | gentoo-2-e51b817986a8599e51662a0b0cb6afbc156165a1.tar.gz gentoo-2-e51b817986a8599e51662a0b0cb6afbc156165a1.tar.bz2 gentoo-2-e51b817986a8599e51662a0b0cb6afbc156165a1.zip |
Version bump, #147308 thanks to Alon Bar-Lev.
(Portage version: 2.1.1)
Diffstat (limited to 'net-misc/openvpn')
-rw-r--r-- | net-misc/openvpn/ChangeLog | 9 | ||||
-rw-r--r-- | net-misc/openvpn/files/digest-openvpn-2.1_beta15 | 3 | ||||
-rwxr-xr-x | net-misc/openvpn/files/up.sh | 16 | ||||
-rw-r--r-- | net-misc/openvpn/openvpn-2.1_beta15.ebuild | 140 |
4 files changed, 163 insertions, 5 deletions
diff --git a/net-misc/openvpn/ChangeLog b/net-misc/openvpn/ChangeLog index 8c7cc5ee3c1b..e53cb1696b9b 100644 --- a/net-misc/openvpn/ChangeLog +++ b/net-misc/openvpn/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-misc/openvpn # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/openvpn/ChangeLog,v 1.92 2006/09/10 03:08:27 uberlord Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/openvpn/ChangeLog,v 1.93 2006/09/12 23:50:11 uberlord Exp $ + +*openvpn-2.1_beta15 (12 Sep 2006) + + 12 Sep 2006; Roy Marples <uberlord@gentoo.org> files/up.sh, + +openvpn-2.1_beta15.ebuild: + Version bump, #147308 thanks to Alon Bar-Lev. + Fix up.sh for FreeBSD. 10 Sep 2006; Roy Marples <uberlord@gentoo.org> files/openvpn-2.1.init: Add FreeBSD support diff --git a/net-misc/openvpn/files/digest-openvpn-2.1_beta15 b/net-misc/openvpn/files/digest-openvpn-2.1_beta15 new file mode 100644 index 000000000000..3c069678b83b --- /dev/null +++ b/net-misc/openvpn/files/digest-openvpn-2.1_beta15 @@ -0,0 +1,3 @@ +MD5 2ddc1878c99ea3a9b348275338f7d502 openvpn-2.1_beta15.tar.gz 776778 +RMD160 514246341a9979f1aec4c28b203d8a8f2c64408b openvpn-2.1_beta15.tar.gz 776778 +SHA256 35daa28523095d637bc694d4e22f9a0e075f9e8b910998ca7bf2576fa9d8cc05 openvpn-2.1_beta15.tar.gz 776778 diff --git a/net-misc/openvpn/files/up.sh b/net-misc/openvpn/files/up.sh index f950577532b7..0a18876aae93 100755 --- a/net-misc/openvpn/files/up.sh +++ b/net-misc/openvpn/files/up.sh @@ -11,11 +11,19 @@ # and will use the first one that responds - maybe the LAN ones? # non resolvconf users just the the VPN resolv.conf -DNS="$(set | sed -n "s/^foreign_option_.* DNS \(.*\)'/nameserver \1/; T next; p; - :next; s/^foreign_option_.* DOMAIN \(.*\)'/domain \1/; T; p;")" +NS= +DOMAIN= +for var in ${!foreign_option_*} ; do + opt="${!var}" + if [[ ${opt} =~ "dhcp-option DOMAIN (.*)" ]] ; then + DOMAIN="${DNS}domain ${BASH_REMATCH[1]}\n" + elif [[ ${opt} =~ "dhcp-option DNS (.*)" ]] ; then + NS="${DNS}nameserver ${BASH_REMATCH[1]}\n" + fi +done -if [[ -n ${DNS} ]] ; then - DNS="# Generated by openvpn for interface ${dev}\n${DNS}" +if [[ -n ${NS} ]] ; then + DNS="# Generated by openvpn for interface ${dev}\n${DOMAIN}${NS}" if [[ -x /sbin/resolvconf ]] ; then echo -e "${DNS}" | /sbin/resolvconf -a "${dev}" else diff --git a/net-misc/openvpn/openvpn-2.1_beta15.ebuild b/net-misc/openvpn/openvpn-2.1_beta15.ebuild new file mode 100644 index 000000000000..13f07e521e9d --- /dev/null +++ b/net-misc/openvpn/openvpn-2.1_beta15.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/openvpn/openvpn-2.1_beta15.ebuild,v 1.1 2006/09/12 23:50:11 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 ~hppa ~ppc ~ppc-macos ~sparc ~x86 ~x86-fbsd" +IUSE="examples iproute2 minimal pam passwordsave selinux ssl static threads" + +DEPEND=">=dev-libs/lzo-1.07 + kernel_linux? ( + iproute2? ( sys-apps/iproute2 ) !iproute2? ( sys-apps/net-tools ) + ) + !minimal? ( pam? ( virtual/pam ) ) + selinux? ( sec-policy/selinux-openvpn ) + ssl? ( >=dev-libs/openssl-0.9.6 )" + +src_unpack() { + unpack ${A} + gnuconfig_update + cd "${S}" + epatch "${FILESDIR}/${PN}"-2.0.4-darwin.patch +} + +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" + if use minimal ; then + myconf="${myconf} --disable-plugins" + myconf="${myconf} --disable-pkcs11" + fi + + econf ${myconf} \ + $(use_enable passwordsave password-save) \ + $(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 + [[ ${i} == "auth-pam" ]] && ! use pam && 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 PORTS README + + # 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 + newinitd "${FILESDIR}/openvpn-2.1.init" 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" + + 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 +} |