| 3 |
3 |
|
| 4 |
4 |
EAPI=8
|
| 5 |
5 |
|
| 6 |
|
inherit autotools systemd linux-info tmpfiles
|
|
6 |
inherit autotools dot-a systemd linux-info tmpfiles
|
| 7 |
7 |
|
| 8 |
8 |
DESCRIPTION="Robust and highly flexible tunneling application compatible with many OSes"
|
| 9 |
|
HOMEPAGE="https://community.openvpn.net/ https://openvpn.net/"
|
|
9 |
HOMEPAGE="https://community.openvpn.net/ https://openvpn.net"
|
| 10 |
10 |
|
| 11 |
11 |
if [[ ${PV} == "9999" ]]; then
|
| 12 |
12 |
EGIT_REPO_URI="https://github.com/OpenVPN/${PN}.git"
|
| 13 |
13 |
inherit git-r3
|
| 14 |
14 |
else
|
| 15 |
|
SRC_URI="https://build.openvpn.net/downloads/releases/${P}.tar.gz"
|
|
15 |
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openvpn.asc
|
|
16 |
inherit verify-sig
|
|
17 |
|
|
18 |
SRC_URI="
|
|
19 |
https://build.openvpn.net/downloads/releases/${P}.tar.gz
|
|
20 |
verify-sig? ( https://build.openvpn.net/downloads/releases/${P}.tar.gz.asc )
|
|
21 |
"
|
| 16 |
22 |
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
|
| 17 |
23 |
fi
|
| 18 |
24 |
|
| ... | ... | |
| 63 |
69 |
|
| 64 |
70 |
if [[ ${PV} = "9999" ]]; then
|
| 65 |
71 |
BDEPEND+=" dev-python/docutils"
|
|
72 |
else
|
|
73 |
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openvpn )"
|
| 66 |
74 |
fi
|
| 67 |
75 |
|
|
76 |
PATCHES=(
|
|
77 |
"${FILESDIR}"/${PN}-2.6.17-tests-no-lto.patch
|
|
78 |
)
|
|
79 |
|
| 68 |
80 |
pkg_setup() {
|
| 69 |
81 |
local CONFIG_CHECK="~TUN"
|
| 70 |
82 |
linux-info_pkg_setup
|
| ... | ... | |
| 79 |
91 |
src_configure() {
|
| 80 |
92 |
local -a myeconfargs
|
| 81 |
93 |
|
|
94 |
# See tests-no-lto.patch (done unconditionally to not have the build
|
|
95 |
# vary with and without tests)
|
|
96 |
lto-guarantee-fat
|
|
97 |
|
| 82 |
98 |
if ! use mbedtls; then
|
| 83 |
99 |
myeconfargs+=(
|
| 84 |
100 |
$(use_enable pkcs11)
|
| ... | ... | |
| 144 |
160 |
|
| 145 |
161 |
# https://bugs.gentoo.org/755680#c3
|
| 146 |
162 |
doman doc/openvpn.8
|
|
163 |
|
|
164 |
# https://github.com/OpenVPN/openvpn/issues/482 (bug #857648)
|
|
165 |
newtmpfiles distro/systemd/tmpfiles-openvpn.conf openvpn.conf
|
| 147 |
166 |
}
|
| 148 |
167 |
|
| 149 |
168 |
pkg_postinst() {
|
| 150 |
169 |
tmpfiles_process openvpn.conf
|
| 151 |
170 |
|
| 152 |
|
if use x64-macos ; then
|
| 153 |
|
elog "You might want to install tuntaposx for TAP interface support:"
|
| 154 |
|
elog "http://tuntaposx.sourceforge.net"
|
| 155 |
|
fi
|
| 156 |
|
|
| 157 |
171 |
if systemd_is_booted || has_version sys-apps/systemd ; then
|
| 158 |
172 |
elog "In order to use OpenVPN with systemd please use the correct systemd service file."
|
| 159 |
|
elog ""
|
|
173 |
elog
|
| 160 |
174 |
elog "server:"
|
| 161 |
|
elog ""
|
|
175 |
elog
|
| 162 |
176 |
elog "- Place your server configuration file in /etc/openvpn/server"
|
| 163 |
177 |
elog "- Use the openvpn-server@.service like so"
|
| 164 |
178 |
elog "systemctl start openvpn-server@{Server-config}"
|
| 165 |
|
elog ""
|
|
179 |
elog
|
| 166 |
180 |
elog "client:"
|
| 167 |
|
elog ""
|
|
181 |
elog
|
| 168 |
182 |
elog "- Place your client configuration file in /etc/openvpn/client"
|
| 169 |
183 |
elog "- Use the openvpn-client@.service like so:"
|
| 170 |
184 |
elog "systemctl start openvpn-client@{Client-config}"
|
| 171 |
185 |
else
|
| 172 |
186 |
elog "The openvpn init script expects to find the configuration file"
|
| 173 |
187 |
elog "openvpn.conf in /etc/openvpn along with any extra files it may need."
|
| 174 |
|
elog ""
|
|
188 |
elog
|
| 175 |
189 |
elog "To create more VPNs, simply create a new .conf file for it and"
|
| 176 |
190 |
elog "then create a symlink to the openvpn init script from a link called"
|
| 177 |
191 |
elog "openvpn.newconfname - like so"
|
| ... | ... | |
| 179 |
193 |
elog " ${EDITOR##*/} foo.conf"
|
| 180 |
194 |
elog " cd /etc/init.d"
|
| 181 |
195 |
elog " ln -s openvpn openvpn.foo"
|
| 182 |
|
elog ""
|
|
196 |
elog
|
| 183 |
197 |
elog "You can then treat openvpn.foo as any other service, so you can"
|
| 184 |
198 |
elog "stop one vpn and start another if you need to."
|
| 185 |
199 |
fi
|
| 186 |
200 |
|
| 187 |
201 |
if grep -Eq "^[ \t]*(up|down)[ \t].*" "${ROOT}/etc/openvpn"/*.conf 2>/dev/null ; then
|
| 188 |
|
ewarn ""
|
|
202 |
ewarn
|
| 189 |
203 |
ewarn "WARNING: If you use the remote keyword then you are deemed to be"
|
| 190 |
204 |
ewarn "a client by our init script and as such we force up,down scripts."
|
| 191 |
205 |
ewarn "These scripts call /etc/openvpn/\$SVCNAME-{up,down}.sh where you"
|
| ... | ... | |
| 193 |
207 |
fi
|
| 194 |
208 |
|
| 195 |
209 |
if use plugins ; then
|
| 196 |
|
einfo ""
|
|
210 |
einfo
|
| 197 |
211 |
einfo "plugins have been installed into /usr/$(get_libdir)/${PN}/plugins"
|
| 198 |
212 |
fi
|
| 199 |
213 |
}
|