summaryrefslogtreecommitdiff
path: root/packages/linux-kernel/build-openvpn-dco.sh
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2023-07-15 14:13:50 +0200
committerChristian Breunig <christian@breunig.cc>2023-07-15 14:13:50 +0200
commit087e7b27868999c689f40c0fc846e6ce11de7ae6 (patch)
tree70adee6870418feb5c0a22259e5fb5eb5f4d9b9c /packages/linux-kernel/build-openvpn-dco.sh
parentbf51cc0514800a096aa738e8a7b37e0416d8599a (diff)
downloadvyos-build-087e7b27868999c689f40c0fc846e6ce11de7ae6.tar.gz
vyos-build-087e7b27868999c689f40c0fc846e6ce11de7ae6.zip
Kernel: T4974: add OpenVPN Data Channel Offload (DCO) package
Diffstat (limited to 'packages/linux-kernel/build-openvpn-dco.sh')
-rwxr-xr-xpackages/linux-kernel/build-openvpn-dco.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/packages/linux-kernel/build-openvpn-dco.sh b/packages/linux-kernel/build-openvpn-dco.sh
new file mode 100755
index 00000000..6207410b
--- /dev/null
+++ b/packages/linux-kernel/build-openvpn-dco.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+CWD=$(pwd)
+KERNEL_VAR_FILE=${CWD}/kernel-vars
+
+SRC=${CWD}/ovpn-dco
+if [ ! -d ${SRC} ]; then
+ echo "OpenVPN DCO source not found"
+ exit 1
+fi
+
+if [ ! -f ${KERNEL_VAR_FILE} ]; then
+ echo "Kernel variable file '${KERNEL_VAR_FILE}' does not exist, run ./build_kernel.sh first"
+ exit 1
+fi
+
+. ${KERNEL_VAR_FILE}
+
+cd ${SRC} && make KERNEL_SRC=$KERNEL_DIR
+
+# Copy binary to package directory
+DEBIAN_DIR=lib/modules/${KERNEL_VERSION}${KERNEL_SUFFIX}/extra
+mkdir -p ${DEBIAN_DIR}
+cp drivers/net/ovpn-dco/ovpn-dco-v2.ko ${DEBIAN_DIR}
+
+# Build Debian Package
+fpm --input-type dir --output-type deb --name vyos-openvpn-dco \
+ --version $(git describe | sed s/^v//) --deb-compression gz \
+ --maintainer "VyOS Package Maintainers <maintainers@vyos.net>" \
+ --description "OpenVPN Data Channel Offload" \
+ --depends linux-image-${KERNEL_VERSION}${KERNEL_SUFFIX} \
+ --license "GPL2" -C ${DEBIAN_DIR}
+
+mv *.deb ..