public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Jason A. Donenfeld" <zx2c4@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: net-vpn/wireguard-modules/
Date: Thu, 26 Dec 2019 16:47:30 +0000 (UTC)	[thread overview]
Message-ID: <1577378835.4fb358cb8610e006e7db367b4f1b2d70c5c3a760.zx2c4@gentoo> (raw)

commit:     4fb358cb8610e006e7db367b4f1b2d70c5c3a760
Author:     Jason A. Donenfeld <zx2c4 <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 26 16:36:16 2019 +0000
Commit:     Jason A. Donenfeld <zx2c4 <AT> gentoo <DOT> org>
CommitDate: Thu Dec 26 16:47:15 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4fb358cb

net-vpn/wireguard-modules: import split compat modules at 0.0.20191226

Package-Manager: Portage-2.3.83, Repoman-2.3.20
Signed-off-by: Jason A. Donenfeld <zx2c4 <AT> gentoo.org>

 net-vpn/wireguard-modules/Manifest                 |  1 +
 net-vpn/wireguard-modules/metadata.xml             | 13 +++
 .../wireguard-modules-0.0.20191226.ebuild          | 93 ++++++++++++++++++++++
 .../wireguard-modules-9999.ebuild                  | 93 ++++++++++++++++++++++
 4 files changed, 200 insertions(+)

diff --git a/net-vpn/wireguard-modules/Manifest b/net-vpn/wireguard-modules/Manifest
new file mode 100644
index 00000000000..1eebb610b44
--- /dev/null
+++ b/net-vpn/wireguard-modules/Manifest
@@ -0,0 +1 @@
+DIST wireguard-linux-compat-0.0.20191226.tar.xz 261488 BLAKE2B ca2e6eda18508287fa1d3deaa07d28ec6a13732895a5fcc580a2405d6d197618f0e3e798a484ee94c3feb1f178aaacd11f3c8e3a59c00e4fc957d0f645cc9f81 SHA512 7eba183128555ca5fd8b171179fe8ec7b9a67c618ad000bc9c5475ff74097e0e2c220a1f1dd82393fbde6dbbba5c1114bfd725e733a5f4acfbb23248538f6afb

diff --git a/net-vpn/wireguard-modules/metadata.xml b/net-vpn/wireguard-modules/metadata.xml
new file mode 100644
index 00000000000..3b5b3d014e7
--- /dev/null
+++ b/net-vpn/wireguard-modules/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>zx2c4@gentoo.org</email>
+		<name>Jason A. Donenfeld</name>
+	</maintainer>
+	<use>
+		<flag name="module">Compile the actual WireGuard kernel module. Most certainly you want this enabled, unless you're doing something strange.</flag>
+		<flag name="module-src">Install the module source code to /usr/src, in case you like building kernel modules yourself.</flag>
+		<flag name="debug">Enable verbose debug reporting in dmesg of various WireGuard peer and device information.</flag>
+	</use>
+</pkgmetadata>

diff --git a/net-vpn/wireguard-modules/wireguard-modules-0.0.20191226.ebuild b/net-vpn/wireguard-modules/wireguard-modules-0.0.20191226.ebuild
new file mode 100644
index 00000000000..2fe86edba28
--- /dev/null
+++ b/net-vpn/wireguard-modules/wireguard-modules-0.0.20191226.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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} !<=net-vpn/wireguard-0.0.20191219-r1"
+
+MODULE_NAMES="wireguard(kernel/drivers/net:src)"
+BUILD_TARGETS="module"
+CONFIG_CHECK="NET INET NET_UDP_TUNNEL CRYPTO_ALGAPI"
+
+pkg_setup() {
+	if use module; then
+		linux-mod_pkg_setup
+		if kernel_is -lt 3 10 0 || kernel_is -ge 5 6 0; then
+			die "This version of ${PN} requires 3.10 <= Linux <= 5.5.y"
+		fi
+	fi
+}
+
+src_compile() {
+	BUILD_PARAMS="KERNELDIR=${KERNEL_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
+}

diff --git a/net-vpn/wireguard-modules/wireguard-modules-9999.ebuild b/net-vpn/wireguard-modules/wireguard-modules-9999.ebuild
new file mode 100644
index 00000000000..2fe86edba28
--- /dev/null
+++ b/net-vpn/wireguard-modules/wireguard-modules-9999.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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} !<=net-vpn/wireguard-0.0.20191219-r1"
+
+MODULE_NAMES="wireguard(kernel/drivers/net:src)"
+BUILD_TARGETS="module"
+CONFIG_CHECK="NET INET NET_UDP_TUNNEL CRYPTO_ALGAPI"
+
+pkg_setup() {
+	if use module; then
+		linux-mod_pkg_setup
+		if kernel_is -lt 3 10 0 || kernel_is -ge 5 6 0; then
+			die "This version of ${PN} requires 3.10 <= Linux <= 5.5.y"
+		fi
+	fi
+}
+
+src_compile() {
+	BUILD_PARAMS="KERNELDIR=${KERNEL_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
+}


             reply	other threads:[~2019-12-26 16:47 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-26 16:47 Jason A. Donenfeld [this message]
  -- strict thread matches above, loose matches on Subject: below --
2019-12-27 15:25 [gentoo-commits] repo/gentoo:master commit in: net-vpn/wireguard-modules/ Jason A. Donenfeld
2019-12-27 23:03 Jason A. Donenfeld
2019-12-28 15:37 Thomas Deutschmann
2019-12-30  9:32 Jason A. Donenfeld
2020-01-05 23:10 Jason A. Donenfeld
2020-01-21 15:22 Jason A. Donenfeld
2020-01-28 15:54 Jason A. Donenfeld
2020-02-05 13:38 Jason A. Donenfeld
2020-02-14 13:39 Jason A. Donenfeld
2020-02-14 23:04 Jason A. Donenfeld
2020-03-19  5:23 Jason A. Donenfeld
2020-03-31  0:22 Jason A. Donenfeld
2020-04-01 19:11 Jason A. Donenfeld
2020-04-14  9:26 Jason A. Donenfeld
2020-04-27  1:26 Jason A. Donenfeld
2020-04-30  4:41 Jason A. Donenfeld
2020-05-06 23:00 Jason A. Donenfeld
2020-05-21 20:29 Jason A. Donenfeld
2020-06-11  8:23 Jason A. Donenfeld
2020-06-23 22:16 Jason A. Donenfeld
2020-07-13  3:34 Jason A. Donenfeld
2020-07-29  8:21 Jason A. Donenfeld
2020-07-30 15:08 Jason A. Donenfeld
2020-07-31 12:12 Jason A. Donenfeld
2020-07-31 12:12 Jason A. Donenfeld
2020-08-08 12:18 Mikle Kolyada
2020-09-08 16:26 Jason A. Donenfeld
2020-10-18 16:02 Thomas Deutschmann
2020-11-12  9:10 Jason A. Donenfeld
2020-11-18 19:38 Jason A. Donenfeld
2020-12-21 12:00 Jason A. Donenfeld
2020-12-28 16:01 Jason A. Donenfeld
2021-01-24 13:49 Jason A. Donenfeld
2021-02-19 14:14 Jason A. Donenfeld
2021-02-19 14:16 Jason A. Donenfeld
2021-04-24 20:53 Jason A. Donenfeld
2021-06-06  9:39 Jason A. Donenfeld
2021-12-08 16:31 Jason A. Donenfeld
2021-12-26  0:20 Sam James
2022-06-27 11:06 Jason A. Donenfeld
2023-06-30 13:33 Sam James
2023-12-07 17:25 Mike Pagano
2024-09-05 13:16 Sam James

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1577378835.4fb358cb8610e006e7db367b4f1b2d70c5c3a760.zx2c4@gentoo \
    --to=zx2c4@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox