blob: 5fa1d5f9509b31a0663e745fa628a40c07ffe6a1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
# 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.5.ebuild,v 1.1 2005/11/03 17:58:45 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 pam passwordsave selinux ssl static threads"
RDEPEND=">=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 )"
DEPEND="${RDEPEND}
virtual/os-headers"
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"
use minimal && myconf="${myconf} --disable-plugins"
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 INSTALL PORTS README
# Empty dir
dodir /etc/openvpn
keepdir /etc/openvpn
# Install the init script
newinitd "${FILESDIR}/openvpn" openvpn
# Install easy-rsa stuff
exeinto "/usr/share/${PN}/easy-rsa"
doexe easy-rsa/2.0/*-*
insinto "/usr/share/${PN}/easy-rsa"
doins easy-rsa/2.0/{README,openssl.cnf,vars}
# 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
if ! use minimal ; then
exeinto "/usr/$(get_libdir)/${PN}"
doexe plugin/*/*.so
fi
}
pkg_postinst() {
ewarn "This version of OpenVPN is NOT COMPATIBLE with older versions!"
ewarn "If you need compatibility with a version < 2 please emerge"
ewarn "that one."
einfo ""
einfo "The init.d script that comes with OpenVPN expects directories"
einfo "/etc/openvpn/*/ with a local.conf and any supporting files,"
einfo "such as keys."
einfo ""
ewarn "If you've used 2.0 already make sure to move your configuration"
ewarn "files into a subdirectory of /etc/openvpn, for example to:"
ewarn "/etc/openvpn/myconf and rename your configfile to local.conf"
ewarn ""
ebeep
}
|