parent
2653201f8a
commit
a246140c6c
@ -0,0 +1 @@
|
||||
DIST wireguard-linux-compat-1.0.20200413.tar.xz 261480 BLAKE2B 4a6e6571ba6e0285b08bb8b08b041cef02fdab99b516dd8717acf0f4cf86308382ed7b4f7333c5a97bd338aa973df83a7c8acd41c7022242700ec8db60f3aa64 SHA512 1df6802bf7bbae9292479b36a0ab54fc486ec0aa97e3c507634e4459b55f6755995ae73758ab169ed279e5d5dcf32bf3f38c18ce156d30f80be8ed77308fa8e8
|
@ -0,0 +1,26 @@
|
||||
From bd388363a66d67f0e04f9c45b20a9f33dfcf79f6 Mon Sep 17 00:00:00 2001
|
||||
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
|
||||
Date: Thu, 16 Apr 2020 00:27:33 -0600
|
||||
Subject: compat: include sch_generic.h header for skb_reset_tc
|
||||
|
||||
Reported-by: King DuckZ <dev00@gmx.it>
|
||||
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
||||
---
|
||||
src/compat/compat.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/compat/compat.h b/src/compat/compat.h
|
||||
index 75bd3b7..bb996b8 100644
|
||||
--- a/src/compat/compat.h
|
||||
+++ b/src/compat/compat.h
|
||||
@@ -1029,6 +1029,7 @@ out:
|
||||
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 29) || (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 5, 0) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 5, 14))
|
||||
#include <linux/skbuff.h>
|
||||
+#include <net/sch_generic.h>
|
||||
static inline void skb_reset_redirect(struct sk_buff *skb)
|
||||
{
|
||||
#ifdef CONFIG_NET_SCHED
|
||||
--
|
||||
cgit v1.2.3-4-ga26e
|
||||
|
@ -0,0 +1,102 @@
|
||||
# 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 ~sparc ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="debug +module module-src"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="${DEPEND} !<virtual/wireguard-1"
|
||||
|
||||
MODULE_NAMES="wireguard(kernel/drivers/net:src)"
|
||||
BUILD_TARGETS="module"
|
||||
CONFIG_CHECK="NET INET NET_UDP_TUNNEL CRYPTO_ALGAPI"
|
||||
|
||||
PATCHES=( "${FILESDIR}/${P}-sch_generic-header.patch" )
|
||||
|
||||
pkg_setup() {
|
||||
if use module; then
|
||||
linux-mod_pkg_setup
|
||||
if kernel_is -ge 5 6 0; then
|
||||
eerror
|
||||
eerror "WireGuard has been merged upstream in Linux 5.6. Therefore,"
|
||||
eerror "you no longer need this compatibility ebuild. Instead, simply"
|
||||
eerror "enable CONFIG_WIREGUARD=y in your kernel configuration."
|
||||
eerror
|
||||
die "Use CONFIG_WIREGUARD=y for kernels >= 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
|
||||
}
|
Loading…
Reference in new issue