Merge pull request #7445 from thaJeztah/geen_kabouters

scripts/build: omit DWARF debug information by default
diff --git a/scripts/build/.variables b/scripts/build/.variables
index cb1324f..808e2c8 100755
--- a/scripts/build/.variables
+++ b/scripts/build/.variables
@@ -88,13 +88,20 @@
 fi
 export GO_BUILDMODE
 
-GO_LDFLAGS="${GO_LDFLAGS:-}"
-GO_LDFLAGS="$GO_LDFLAGS -X \"github.com/docker/cli/cli/version.GitCommit=${GITCOMMIT}\""
-GO_LDFLAGS="$GO_LDFLAGS -X \"github.com/docker/cli/cli/version.BuildTime=${BUILDTIME}\""
-GO_LDFLAGS="$GO_LDFLAGS -X \"github.com/docker/cli/cli/version.Version=${VERSION}\""
-if test -n "${PLATFORM}"; then
-    GO_LDFLAGS="$GO_LDFLAGS -X \"github.com/docker/cli/cli/version.PlatformName=${PLATFORM}\""
-fi
+# Omit DWARF debug information to reduce binary size, but retain the symbol
+# table for tools that inspect Go binaries. Pass GO_LDFLAGS="-w=0" to retain DWARF.
+GO_LDFLAGS="-w ${GO_LDFLAGS:-}"
+
+# Quotes are interpreted by Go's -ldflags parser, not the shell.
+# shellcheck disable=SC2089
+{
+    GO_LDFLAGS="$GO_LDFLAGS -X \"github.com/docker/cli/cli/version.GitCommit=${GITCOMMIT}\""
+    GO_LDFLAGS="$GO_LDFLAGS -X \"github.com/docker/cli/cli/version.BuildTime=${BUILDTIME}\""
+    GO_LDFLAGS="$GO_LDFLAGS -X \"github.com/docker/cli/cli/version.Version=${VERSION}\""
+    if test -n "${PLATFORM}"; then
+        GO_LDFLAGS="$GO_LDFLAGS -X \"github.com/docker/cli/cli/version.PlatformName=${PLATFORM}\""
+    fi
+}
 if [ "$CGO_ENABLED" = "1" ] && [ "$GO_LINKMODE" = "static" ] && [ "$(go env GOOS)" = "linux" ]; then
     GO_LDFLAGS="$GO_LDFLAGS -linkmode external -extldflags -static"
 fi
@@ -128,7 +135,7 @@
     #  /usr/local/go/pkg/tool/linux_amd64/link: /usr/local/go/pkg/tool/linux_amd64/link: running strip failed: exit status 1
     #  llvm-strip: error: unsupported load command (cmd=0x5)
     # more info: https://github.com/docker/cli/pull/3717
-    GO_LDFLAGS="$GO_LDFLAGS -s -w"
+    GO_LDFLAGS="$GO_LDFLAGS -s"
 fi
 export GO_LDFLAGS="$GO_LDFLAGS" # https://github.com/koalaman/shellcheck/issues/2064