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