commit:     38f8330b1908cca1034676a3425a1548388b8b2d
Author:     Filip Kobierski <fkobi <AT> pm <DOT> me>
AuthorDate: Wed Apr 16 23:41:06 2025 +0000
Commit:     Agostino Sarubbo <ago <AT> gentoo <DOT> org>
CommitDate: Wed May 14 12:31:35 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=38f8330b

net-vpn/openvpn: add 2.6.14 with minor improvements

- remove stray / from HOMEPAGE
- remove empty strings from ewarn for readabilitys
- remove obsolete MacOS ewarn

Bug: https://bugs.gentoo.org/953118
Signed-off-by: Filip Kobierski <fkobi <AT> pm.me>
Signed-off-by: Agostino Sarubbo <ago <AT> gentoo.org>

 net-vpn/openvpn/Manifest              |   1 +
 net-vpn/openvpn/openvpn-2.6.14.ebuild | 194 ++++++++++++++++++++++++++++++++++
 2 files changed, 195 insertions(+)

diff --git a/net-vpn/openvpn/Manifest b/net-vpn/openvpn/Manifest
index 6bd8179b2c70..c468836317b4 100644
--- a/net-vpn/openvpn/Manifest
+++ b/net-vpn/openvpn/Manifest
@@ -1 +1,2 @@
 DIST openvpn-2.6.12.tar.gz 1912400 BLAKE2B 
5e40c61cb4aea3db27eff8ae7f49dafaa6e47c8a19fee5fa8802956fc976be490e9b558397741bc2e4447129f174176f9fbbfce16478d96b27a39ecb08a9da86
 SHA512 
92f548186d9375d6ae47b1387dd191241b8a45aed82294523b3771bdd5e699b94265e1a3bbf3ef2638da0d54c19c783f54c456cbd755c846849bf67913cad6db
+DIST openvpn-2.6.14.tar.gz 1926343 BLAKE2B 
15376d0a1600abfbf8541614282c622bbc09bf4402730a20eb6606bf1debdda0836e069fd45068bda1d71deb72df052c68425771693592d3c72d680a16c87d6d
 SHA512 
c94b45ef5b455a15d7841e6bf5e5f441906d641f699ac84c5987b2fc9f1159f38fc5a5af4b22c0f531ce424b18301cfdf08bb496afd1bdbca78e37238bd28fbc

diff --git a/net-vpn/openvpn/openvpn-2.6.14.ebuild 
b/net-vpn/openvpn/openvpn-2.6.14.ebuild
new file mode 100644
index 000000000000..12a7d516f15e
--- /dev/null
+++ b/net-vpn/openvpn/openvpn-2.6.14.ebuild
@@ -0,0 +1,194 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools systemd linux-info tmpfiles
+
+DESCRIPTION="Robust and highly flexible tunneling application compatible with 
many OSes"
+HOMEPAGE="https://openvpn.net";
+
+if [[ ${PV} == "9999" ]]; then
+       EGIT_REPO_URI="https://github.com/OpenVPN/${PN}.git";
+       inherit git-r3
+else
+       SRC_URI="https://build.openvpn.net/downloads/releases/${P}.tar.gz";
+       KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv 
~sparc x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="dco down-root examples inotify iproute2 +lz4 +lzo mbedtls +openssl"
+IUSE+=" pam pkcs11 +plugins selinux systemd test"
+
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+       ^^ ( openssl mbedtls )
+       pkcs11? ( !mbedtls )
+       !plugins? ( !pam !down-root )
+       inotify? ( plugins )
+       dco? ( !iproute2 )
+"
+
+COMMON_DEPEND="
+       kernel_linux? (
+               iproute2? ( sys-apps/iproute2[-minimal] )
+       )
+       lz4? ( app-arch/lz4 )
+       lzo? ( >=dev-libs/lzo-1.07 )
+       mbedtls? ( net-libs/mbedtls:0= )
+       openssl? ( >=dev-libs/openssl-1.0.2:0= )
+       pam? ( sys-libs/pam )
+       pkcs11? ( >=dev-libs/pkcs11-helper-1.11 )
+       systemd? ( sys-apps/systemd )
+       dco? ( >=net-vpn/ovpn-dco-0.2 >=dev-libs/libnl-3.2.29:= )
+       sys-libs/libcap-ng:=
+"
+
+BDEPEND="
+       virtual/pkgconfig
+"
+
+DEPEND="
+       ${COMMON_DEPEND}
+       test? ( dev-util/cmocka )
+"
+RDEPEND="
+       ${COMMON_DEPEND}
+       acct-group/openvpn
+       acct-user/openvpn
+       selinux? ( sec-policy/selinux-openvpn )
+"
+
+if [[ ${PV} = "9999" ]]; then
+       BDEPEND+=" dev-python/docutils"
+fi
+
+pkg_setup() {
+       local CONFIG_CHECK="~TUN"
+       linux-info_pkg_setup
+}
+
+src_prepare() {
+       default
+
+       eautoreconf
+}
+
+src_configure() {
+       local -a myeconfargs
+
+       if ! use mbedtls; then
+               myeconfargs+=(
+                       $(use_enable pkcs11)
+               )
+       fi
+
+       myeconfargs+=(
+               $(use_enable inotify async-push)
+               --with-crypto-library=$(usex mbedtls mbedtls openssl)
+               $(use_enable lz4)
+               $(use_enable lzo)
+               $(use_enable plugins)
+               $(use_enable iproute2)
+               $(use_enable pam plugin-auth-pam)
+               $(use_enable down-root plugin-down-root)
+               $(use_enable systemd)
+               $(use_enable dco)
+       )
+
+       SYSTEMD_UNIT_DIR=$(systemd_get_systemunitdir) \
+               TMPFILES_DIR="/usr/lib/tmpfiles.d" \
+               IPROUTE=$(usex iproute2 '/bin/ip' '') \
+               econf "${myeconfargs[@]}"
+}
+
+src_test() {
+       local -x RUN_SUDO=false
+
+       elog "Running top-level tests"
+       emake check
+
+       pushd tests/unit_tests &>/dev/null || die
+       elog "Running unit tests"
+       emake check
+       popd &>/dev/null || die
+}
+
+src_install() {
+       default
+
+       find "${ED}/usr" -name '*.la' -delete || die
+
+       # install documentation
+       dodoc AUTHORS ChangeLog PORTS README
+
+       # Install some helper scripts
+       keepdir /etc/openvpn
+       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
+               # (is the below comment relevant anymore?)
+               ## dodoc does not supportly support directory traversal, #15193
+               docinto examples
+               dodoc -r sample contrib
+       fi
+
+       # https://bugs.gentoo.org/755680#c3
+       doman doc/openvpn.8
+}
+
+pkg_postinst() {
+       tmpfiles_process openvpn.conf
+
+       if systemd_is_booted || has_version sys-apps/systemd ; then
+               elog "In order to use OpenVPN with systemd please use the 
correct systemd service file."
+               elog
+               elog "server:"
+               elog
+               elog "- Place your server configuration file in 
/etc/openvpn/server"
+               elog "- Use the [email protected] like so"
+               elog "systemctl start openvpn-server@{Server-config}"
+               elog
+               elog "client:"
+               elog
+               elog "- Place your client configuration file in 
/etc/openvpn/client"
+               elog "- Use the [email protected] like so:"
+               elog "systemctl start openvpn-client@{Client-config}"
+       else
+               elog "The openvpn init script expects to find the configuration 
file"
+               elog "openvpn.conf in /etc/openvpn along with any extra files 
it may need."
+               elog
+               elog "To create more VPNs, simply create a new .conf file for 
it and"
+               elog "then create a symlink to the openvpn init script from a 
link called"
+               elog "openvpn.newconfname - like so"
+               elog "   cd /etc/openvpn"
+               elog "   ${EDITOR##*/} foo.conf"
+               elog "   cd /etc/init.d"
+               elog "   ln -s openvpn openvpn.foo"
+               elog
+               elog "You can then treat openvpn.foo as any other service, so 
you can"
+               elog "stop one vpn and start another if you need to."
+       fi
+
+       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 plugins ; then
+               einfo
+               einfo "plugins have been installed into 
/usr/$(get_libdir)/${PN}/plugins"
+       fi
+}

Reply via email to