svn commit: r568953 - in head/net: . wireguard wireguard-tools wireguard-tools/files

Bernhard Froehlich decke at FreeBSD.org
Mon Mar 22 12:07:47 UTC 2021


Author: decke
Date: Mon Mar 22 12:07:45 2021
New Revision: 568953
URL: https://svnweb.freebsd.org/changeset/ports/568953

Log:
  net/wireguard-tools: Repocopy from net/wireguard, flavorize and add rc.d script for lite flavor

Added:
  head/net/wireguard-tools/
     - copied from r568952, head/net/wireguard/
  head/net/wireguard-tools/files/wireguard_lite.in   (contents, props changed)
  head/net/wireguard-tools/files/wireguard_wgquick.in   (contents, props changed)
Deleted:
  head/net/wireguard/
  head/net/wireguard-tools/files/wireguard.in
Modified:
  head/net/Makefile
  head/net/wireguard-tools/Makefile
  head/net/wireguard-tools/distinfo
  head/net/wireguard-tools/pkg-descr
  head/net/wireguard-tools/pkg-plist

Modified: head/net/Makefile
==============================================================================
--- head/net/Makefile	Mon Mar 22 12:03:11 2021	(r568952)
+++ head/net/Makefile	Mon Mar 22 12:07:45 2021	(r568953)
@@ -1527,9 +1527,9 @@
     SUBDIR += webalizer-geodb
     SUBDIR += whois
     SUBDIR += widentd
-    SUBDIR += wireguard
     SUBDIR += wireguard-go
     SUBDIR += wireguard-kmod
+    SUBDIR += wireguard-tools
     SUBDIR += wireshark
     SUBDIR += wireshark-lite
     SUBDIR += wlan2eth

Modified: head/net/wireguard-tools/Makefile
==============================================================================
--- head/net/wireguard/Makefile	Mon Mar 22 12:03:11 2021	(r568952)
+++ head/net/wireguard-tools/Makefile	Mon Mar 22 12:07:45 2021	(r568953)
@@ -1,10 +1,9 @@
 # $FreeBSD$
 
-PORTNAME=	wireguard
+PORTNAME=	wireguard-tools
 PORTVERSION=	1.0.20210315
 CATEGORIES=	net net-vpn
 MASTER_SITES=	https://git.zx2c4.com/wireguard-tools/snapshot/
-DISTNAME=	wireguard-tools-${PORTVERSION}
 
 MAINTAINER=	decke at FreeBSD.org
 COMMENT=	Fast, modern and secure VPN Tunnel
@@ -12,8 +11,10 @@ COMMENT=	Fast, modern and secure VPN Tunnel
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKDIR}/${DISTNAME}/COPYING
 
+FLAVORS=	default lite
+lite_PKGNAMESUFFIX=	-lite
+
 USES=		gmake tar:xz
-USE_RC_SUBR=	${PORTNAME}
 
 WRKSRC=		${WRKDIR}/${DISTNAME}/src
 
@@ -26,10 +27,21 @@ OPTIONS_DEFAULT=WGQUICK
 OPTIONS_SUB=	yes
 
 WGQUICK_DESC=		wg-quick(8) userland utility
-WGQUICK_RUN_DEPENDS=	bash:shells/bash \
-			wireguard-go:net/wireguard-go
+WGQUICK_RUN_DEPENDS=	bash:shells/bash
 WGQUICK_MAKE_ARGS=	WITH_WGQUICK=yes
 WGQUICK_MAKE_ARGS_OFF=	WITH_WGQUICK=no
+
+.if ${FLAVOR:U} == lite
+USE_RC_SUBR=	wireguard_lite
+OPTIONS_EXCLUDE=WGQUICK
+COMMENT+=	(lite flavor)
+.endif
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MWGQUICK}
+USE_RC_SUBR=	wireguard_wgquick
+.endif
 
 post-patch:
 	@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \

Modified: head/net/wireguard-tools/distinfo
==============================================================================
--- head/net/wireguard/distinfo	Mon Mar 22 12:03:11 2021	(r568952)
+++ head/net/wireguard-tools/distinfo	Mon Mar 22 12:07:45 2021	(r568953)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1615823936
+TIMESTAMP = 1615824165
 SHA256 (wireguard-tools-1.0.20210315.tar.xz) = af001d5492be6bf58ef0bebe04b446b6f50eb53e1226fab679cc34af40733a22
 SIZE (wireguard-tools-1.0.20210315.tar.xz) = 96988

Added: head/net/wireguard-tools/files/wireguard_lite.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/wireguard-tools/files/wireguard_lite.in	Mon Mar 22 12:07:45 2021	(r568953)
@@ -0,0 +1,98 @@
+#!/bin/sh
+
+# $FreeBSD$
+#
+# PROVIDE: wireguard
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# wireguard_enable (bool):        Set to "YES" to enable wireguard.
+#                                 (default: "NO")
+#
+# wireguard_interfaces (str):     List of interfaces to bring up/down
+#                                 on start/stop. (eg: "wg0 wg1")
+#                                 (default: "")
+# wireguard_<iface>_ips (str):    List of IP Addresses for iface
+# wireguard_<iface>_routes (str): List of Routes for this iface
+# wireguard_<iface>_mtu (str):    MTU for iface (default: "1500")
+
+. /etc/rc.subr
+
+load_rc_config $name
+
+: ${wireguard_enable="NO"}
+: ${wireguard_interfaces=""}
+
+name=wireguard
+rcvar=wireguard_enable
+extra_commands="reload"
+
+start_cmd="${name}_start"
+stop_cmd="${name}_stop"
+reload_cmd="${name}_reload"
+
+wireguard_start()
+{
+	for interface in ${wireguard_interfaces}; do
+		load_rc_config wireguard_${interface}
+
+		eval wireguard_ips="\${wireguard_${interface}_ips}"
+		eval wireguard_routes="\${wireguard_${interface}_routes}"
+		eval wireguard_mtu="\${wireguard_${interface}_mtu}"
+
+		ifconfig ${interface} create
+		%%PREFIX%%/bin/wg setconf ${interface} %%PREFIX%%/etc/wireguard/${interface}.conf
+
+		for ip in ${wireguard_ips}; do
+			if [ "${ip#*:}" != "${ip}" ]; then
+				ifconfig ${interface} inet6 ${ip} alias
+			else
+				ifconfig ${interface} inet ${ip} alias
+			fi
+		done
+
+		if [ ! -z "${wireguard_mtu}" ]; then
+			ifconfig ${interface} mtu ${wireguard_mtu}
+		fi
+
+		ifconfig ${interface} up
+
+		for route in ${wireguard_routes}; do
+			if [ "${route#*:}" != "${route}" ]; then
+				route -q -n add -inet6 ${route} -interface ${interface}
+			else
+				route -q -n add -inet ${route} -interface ${interface}
+			fi
+		done
+	done
+}
+
+wireguard_stop()
+{
+	for interface in ${wireguard_interfaces}; do
+		load_rc_config wireguard_${interface}
+
+		eval wireguard_routes="\${wireguard_${interface}_routes}"
+
+		for route in ${wireguard_routes}; do
+			if [ "${route#*:}" != "${route}" ]; then
+				route -q -n delete -inet6 ${route} -interface ${interface}
+			else
+				route -q -n delete -inet ${route} -interface ${interface}
+			fi
+		done
+
+		ifconfig ${interface} down
+
+		ifconfig ${interface} destroy
+	done
+}
+
+wireguard_reload()
+{
+	for interface in ${wireguard_interfaces}; do
+		%%PREFIX%%/bin/wg syncconf ${interface} %%PREFIX%%/etc/wireguard/${interface}.conf
+	done
+}
+
+run_rc_command "$1"

Added: head/net/wireguard-tools/files/wireguard_wgquick.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/wireguard-tools/files/wireguard_wgquick.in	Mon Mar 22 12:07:45 2021	(r568953)
@@ -0,0 +1,62 @@
+#!/bin/sh
+
+# $FreeBSD$
+#
+# PROVIDE: wireguard
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# wireguard_enable (bool):    Set to "YES" to enable wireguard.
+#                             (default: "NO")
+#
+# wireguard_interfaces (str): List of interfaces to bring up/down
+#                             on start/stop. (eg: "wg0 wg1")
+#                             (default: "")
+# wireguard_env (str):        Environment variables for the userspace
+#                             implementation. (eg: "LOG_LEVEL=debug")
+
+. /etc/rc.subr
+
+name=wireguard
+rcvar=wireguard_enable
+extra_commands="reload"
+
+start_cmd="${name}_start"
+stop_cmd="${name}_stop"
+reload_cmd="${name}_reload"
+
+wireguard_start()
+{
+	${wireguard_env:+eval export $wireguard_env}
+
+	for interface in ${wireguard_interfaces}; do
+		%%PREFIX%%/bin/wg-quick up ${interface}
+	done
+}
+
+wireguard_stop()
+{
+	for interface in ${wireguard_interfaces}; do
+		%%PREFIX%%/bin/wg-quick down ${interface}
+	done
+}
+
+wireguard_reload()
+{
+	${wireguard_env:+eval export $wireguard_env}
+
+	for interface in ${wireguard_interfaces}; do
+		tmpfile="`mktemp`"
+		%%PREFIX%%/bin/wg-quick strip ${interface} > ${tmpfile}
+		%%PREFIX%%/bin/wg syncconf ${interface} ${tmpfile}
+		rm -f ${tmpfile}
+	done
+}
+
+load_rc_config $name
+
+: ${wireguard_enable="NO"}
+: ${wireguard_interfaces=""}
+: ${wireguard_env=""}
+
+run_rc_command "$1"

Modified: head/net/wireguard-tools/pkg-descr
==============================================================================
--- head/net/wireguard/pkg-descr	Mon Mar 22 12:03:11 2021	(r568952)
+++ head/net/wireguard-tools/pkg-descr	Mon Mar 22 12:07:45 2021	(r568953)
@@ -1,8 +1,4 @@
-WireGuard is an extremely simple yet fast and modern VPN that utilizes
-state-of-the-art cryptography. It aims to be faster, simpler, leaner,
-and more useful than IPSec, while avoiding the massive headache. It
-intends to be considerably more performant than OpenVPN. WireGuard is
-designed as a general purpose VPN for running on embedded interfaces and
-super computers alike, fit for many different circumstances.
+This supplies the main userspace tooling for using and configuring
+WireGuard tunnels, including the wg(8) and wg-quick(8) utilities.
 
-WWW: https://www.wireguard.com
+WWW: https://git.zx2c4.com/wireguard-tools/about/

Modified: head/net/wireguard-tools/pkg-plist
==============================================================================
--- head/net/wireguard/pkg-plist	Mon Mar 22 12:03:11 2021	(r568952)
+++ head/net/wireguard-tools/pkg-plist	Mon Mar 22 12:07:45 2021	(r568953)
@@ -3,5 +3,5 @@ bin/wg
 %%WGQUICK%%man/man8/wg-quick.8.gz
 man/man8/wg.8.gz
 share/bash-completion/completions/wg
-share/bash-completion/completions/wg-quick
+%%WGQUICK%%share/bash-completion/completions/wg-quick
 %%WGQUICK%%@dir etc/wireguard


More information about the svn-ports-head mailing list