From f29eb0598f62fc3b5f09f2de5a89c0437c6164d9 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 21 Jan 2020 18:52:40 +0000 Subject: gentoo resync : 21.01.2020 --- .../wireguard-modules-0.0.20200121.ebuild | 100 +++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 net-vpn/wireguard-modules/wireguard-modules-0.0.20200121.ebuild (limited to 'net-vpn/wireguard-modules/wireguard-modules-0.0.20200121.ebuild') diff --git a/net-vpn/wireguard-modules/wireguard-modules-0.0.20200121.ebuild b/net-vpn/wireguard-modules/wireguard-modules-0.0.20200121.ebuild new file mode 100644 index 000000000000..e0049debd888 --- /dev/null +++ b/net-vpn/wireguard-modules/wireguard-modules-0.0.20200121.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MODULES_OPTIONAL_USE="module" +inherit linux-mod bash-completion-r1 + +DESCRIPTION="Simple yet fast and modern VPN that utilizes state-of-the-art cryptography." +HOMEPAGE="https://www.wireguard.com/" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://git.zx2c4.com/wireguard-linux-compat" + KEYWORDS="" +else + SRC_URI="https://git.zx2c4.com/wireguard-linux-compat/snapshot/wireguard-linux-compat-${PV}.tar.xz" + S="${WORKDIR}/wireguard-linux-compat-${PV}" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="debug +module module-src" + +DEPEND="" +RDEPEND="${DEPEND} != 5.6, and do not use this package." + elif kernel_is -lt 3 10 0; then + die "This version of ${PN} requires Linux >= 3.10." + fi + fi +} + +src_compile() { + BUILD_PARAMS="KERNELDIR=${KV_OUT_DIR}" + use debug && BUILD_PARAMS="CONFIG_WIREGUARD_DEBUG=y ${BUILD_PARAMS}" + use module && linux-mod_src_compile +} + +src_install() { + use module && linux-mod_src_install + use module-src && emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" -C src dkms-install +} + +pkg_postinst() { + if use module-src && ! use module; then + einfo + einfo "You have enabled the module-src USE flag without the module USE" + einfo "flag. This means that sources are installed to" + einfo "${ROOT}/usr/src/wireguard instead of having the" + einfo "kernel module compiled. You will need to compile the module" + einfo "yourself. Most likely, you don't want this USE flag, and should" + einfo "rather use USE=module" + einfo + fi + + if use module; then + linux-mod_pkg_postinst + local old new + if [[ $(uname -r) != "${KV_FULL}" ]]; then + ewarn + ewarn "You have just built WireGuard for kernel ${KV_FULL}, yet the currently running" + ewarn "kernel is $(uname -r). If you intend to use this WireGuard module on the currently" + ewarn "running machine, you will first need to reboot it into the kernel ${KV_FULL}, for" + ewarn "which this module was built." + ewarn + elif [[ -f /sys/module/wireguard/version ]] && \ + old="$(< /sys/module/wireguard/version)" && \ + new="$(modinfo -F version "${ROOT}/lib/modules/${KV_FULL}/net/wireguard.ko" 2>/dev/null)" && \ + [[ $old != "$new" ]]; then + ewarn + ewarn "You appear to have just upgraded WireGuard from version v$old to v$new." + ewarn "However, the old version is still running on your system. In order to use the" + ewarn "new version, you will need to remove the old module and load the new one. As" + ewarn "root, you can accomplish this with the following commands:" + ewarn + ewarn " # rmmod wireguard" + ewarn " # modprobe wireguard" + ewarn + ewarn "Do note that doing this will remove current WireGuard interfaces, so you may want" + ewarn "to gracefully remove them yourself prior." + ewarn + fi + fi +} -- cgit v1.2.3