From 7761ad98e602efbe0cfedf9f37b1b3fa50e9d692 Mon Sep 17 00:00:00 2001 From: Alexandr Stelnykovych Date: Fri, 5 Jan 2024 12:44:38 +0200 Subject: [PATCH] (Linux) Build script improvement: ability to disable WIFI functionality (skipping "libiw-dev") Currently, Wireless Tools (package "libiw-dev") needs to be available on the build machine. We need it for the WIFI functionality being included in the daemon. Some users may face issues building daemon due to missing "libiw-dev" on their systems. So, now there is the possibility to skip using "libiw-dev" and disable WIFI functionality from the daemon build. Environment variable `IVPN_NO_WIFI` must be defined for that. Example: ``` cd desktop-app/daemon/References/Linux/scripts/ IVPN_NO_WIFI=true ./build-daemon.sh ``` https://github.com/ivpn/desktop-app/issues/345 --- daemon/References/Linux/scripts/build-daemon.sh | 15 +++++++++++---- .../wifiNotifier/{ => linux_lib}/iwlib_2_linux.c | 0 daemon/wifiNotifier/wifiNotifier_linux.go | 2 +- 3 files changed, 12 insertions(+), 5 deletions(-) rename daemon/wifiNotifier/{ => linux_lib}/iwlib_2_linux.c (100%) diff --git a/daemon/References/Linux/scripts/build-daemon.sh b/daemon/References/Linux/scripts/build-daemon.sh index 9d2778f5..ffbbf744 100755 --- a/daemon/References/Linux/scripts/build-daemon.sh +++ b/daemon/References/Linux/scripts/build-daemon.sh @@ -75,13 +75,20 @@ fi # Build cd $SCRIPT_DIR/../../../ +BUILDTAG_DEBUG="" # "debug" +BUILDTAG_NOWIFI="" # "nowifi" + if [[ "$@" == *"-debug"* ]] then - echo "Compiling in DEBUG mode" - go build -buildmode=pie -tags debug -o "$OUT_FILE" -trimpath -ldflags "-X github.com/ivpn/desktop-app/daemon/version._version=$VERSION -X github.com/ivpn/desktop-app/daemon/version._commit=$COMMIT -X github.com/ivpn/desktop-app/daemon/version._time=$DATE" -else - go build -buildmode=pie -o "$OUT_FILE" -trimpath -ldflags "-s -w -X github.com/ivpn/desktop-app/daemon/version._version=$VERSION -X github.com/ivpn/desktop-app/daemon/version._commit=$COMMIT -X github.com/ivpn/desktop-app/daemon/version._time=$DATE" + echo "[!] Compiling in DEBUG mode." + BUILDTAG_DEBUG="debug" fi +if [ ! -z "$IVPN_NO_WIFI" ]; then + echo "[!] WIFI functionality DISABLED." + BUILDTAG_NOWIFI="nowifi" +fi + +go build -buildmode=pie -tags "${BUILDTAG_DEBUG} ${BUILDTAG_NOWIFI}" -o "$OUT_FILE" -trimpath -ldflags "-X github.com/ivpn/desktop-app/daemon/version._version=$VERSION -X github.com/ivpn/desktop-app/daemon/version._commit=$COMMIT -X github.com/ivpn/desktop-app/daemon/version._time=$DATE" echo "Compiled binary: '$OUT_FILE'" diff --git a/daemon/wifiNotifier/iwlib_2_linux.c b/daemon/wifiNotifier/linux_lib/iwlib_2_linux.c similarity index 100% rename from daemon/wifiNotifier/iwlib_2_linux.c rename to daemon/wifiNotifier/linux_lib/iwlib_2_linux.c diff --git a/daemon/wifiNotifier/wifiNotifier_linux.go b/daemon/wifiNotifier/wifiNotifier_linux.go index 610e08b4..4eaba9ae 100644 --- a/daemon/wifiNotifier/wifiNotifier_linux.go +++ b/daemon/wifiNotifier/wifiNotifier_linux.go @@ -11,7 +11,7 @@ package wifiNotifier // 2) comment '#include "iwlib_2_linux.c"' // 3) remove suffix '_2' from function names (in this file): iw_get_range_info_2, iw_init_event_stream_2, iw_extract_event_stream_2 // #cgo LDFLAGS: -liw -#include "iwlib_2_linux.c" +#include "linux_lib/iwlib_2_linux.c" #include // printf #include // strndup prototype