diff --git a/Makefile b/Makefile index bde406c167..6bcb4fde0b 100644 --- a/Makefile +++ b/Makefile @@ -804,7 +804,7 @@ desktop-linux: docker build -f Dockerfile-desktop-linux -t desktop-linux-builder . docker run --rm -v $(shell pwd):/output desktop-linux-builder /bin/bash -c "\ mkdir -p /output/fleet-desktop && \ - CGO_ENABLED=1 CC=musl-gcc go build -o /output/fleet-desktop/fleet-desktop -ldflags \"-linkmode external -extldflags \\\"-static\\\" -X=main.version=$(FLEET_DESKTOP_VERSION)\" /usr/src/fleet/orbit/cmd/desktop && \ + CGO_ENABLED=1 CC=musl-gcc go build -o /output/fleet-desktop/fleet-desktop -ldflags \"-s -w -linkmode external -extldflags \\\"-static\\\" -X=main.version=$(FLEET_DESKTOP_VERSION)\" /usr/src/fleet/orbit/cmd/desktop && \ cd /output && \ tar czf desktop.tar.gz fleet-desktop && \ rm -r fleet-desktop" @@ -819,7 +819,7 @@ desktop-linux-arm64: docker build -f Dockerfile-desktop-linux -t desktop-linux-builder . docker run --rm -v $(shell pwd):/output desktop-linux-builder /bin/bash -c "\ mkdir -p /output/fleet-desktop && \ - GOARCH=arm64 go build -o /output/fleet-desktop/fleet-desktop -ldflags "-X=main.version=$(FLEET_DESKTOP_VERSION)" /usr/src/fleet/orbit/cmd/desktop && \ + GOARCH=arm64 go build -o /output/fleet-desktop/fleet-desktop -ldflags \"-s -w -X=main.version=$(FLEET_DESKTOP_VERSION)\" /usr/src/fleet/orbit/cmd/desktop && \ cd /output && \ tar czf desktop.tar.gz fleet-desktop && \ rm -r fleet-desktop" diff --git a/orbit/README.md b/orbit/README.md index 8824a7b791..45beefe15e 100644 --- a/orbit/README.md +++ b/orbit/README.md @@ -37,7 +37,7 @@ GOOS=windows \ GOARCH=amd64 \ go build \ -trimpath \ --ldflags="-X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version=$VERSION \ +-ldflags="-s -w -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version=$VERSION \ -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Commit=$COMMIT \ -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Date=$DATE" \ -o ./orbit.exe ./orbit/cmd/orbit @@ -50,7 +50,7 @@ GOOS=linux \ GOARCH=amd64 \ go build \ -trimpath \ --ldflags="-X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version=$VERSION \ +-ldflags="-s -w -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version=$VERSION \ -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Commit=$COMMIT \ -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Date=$DATE" \ -o ./orbit-linux ./orbit/cmd/orbit diff --git a/orbit/changes/43259-fleetd-remove-debugging-symbols b/orbit/changes/43259-fleetd-remove-debugging-symbols new file mode 100644 index 0000000000..21ce54bc40 --- /dev/null +++ b/orbit/changes/43259-fleetd-remove-debugging-symbols @@ -0,0 +1 @@ +* Removed debugging symbols from orbit and Fleet Desktop executables. diff --git a/orbit/goreleaser-linux-arm64.yml b/orbit/goreleaser-linux-arm64.yml index 7134a41a45..68fc447185 100644 --- a/orbit/goreleaser-linux-arm64.yml +++ b/orbit/goreleaser-linux-arm64.yml @@ -19,6 +19,8 @@ builds: flags: - -trimpath ldflags: + - -s + - -w - -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version={{.Version}} - -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Commit={{.Commit}} - -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Date={{.Date}} diff --git a/orbit/goreleaser-linux.yml b/orbit/goreleaser-linux.yml index 542c445b83..f034021ea3 100644 --- a/orbit/goreleaser-linux.yml +++ b/orbit/goreleaser-linux.yml @@ -23,6 +23,8 @@ builds: flags: - -trimpath ldflags: + - -s + - -w - -linkmode external -extldflags "-static" - -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version={{.Version}} - -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Commit={{.Commit}} diff --git a/orbit/goreleaser-macos.yml b/orbit/goreleaser-macos.yml index c01d5e2004..be8065a1af 100644 --- a/orbit/goreleaser-macos.yml +++ b/orbit/goreleaser-macos.yml @@ -20,6 +20,8 @@ builds: flags: - -trimpath ldflags: + - -s + - -w - -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version={{.Version}} - -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Commit={{.Commit}} - -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Date={{.Date}} diff --git a/orbit/goreleaser-windows-arm64.yml b/orbit/goreleaser-windows-arm64.yml index e7e30a2926..987c8c6a2d 100644 --- a/orbit/goreleaser-windows-arm64.yml +++ b/orbit/goreleaser-windows-arm64.yml @@ -19,6 +19,8 @@ builds: flags: - -trimpath ldflags: + - -s + - -w - -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version={{.Version}} - -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Commit={{.Commit}} - -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Date={{.Date}} diff --git a/orbit/goreleaser-windows.yml b/orbit/goreleaser-windows.yml index 23e1b31a0d..a8982784bd 100644 --- a/orbit/goreleaser-windows.yml +++ b/orbit/goreleaser-windows.yml @@ -19,6 +19,8 @@ builds: flags: - -trimpath ldflags: + - -s + - -w - -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version={{.Version}} - -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Commit={{.Commit}} - -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Date={{.Date}} diff --git a/orbit/tools/build/build-windows.go b/orbit/tools/build/build-windows.go index 27a20f7d30..4723df2f6a 100644 --- a/orbit/tools/build/build-windows.go +++ b/orbit/tools/build/build-windows.go @@ -225,10 +225,10 @@ func buildTargetBinary(cmdDir string, version string, binaryPath string, arch st // check if cmdDir contains desktop // if it does, add -ldflags "-H=windowsgui" to exec.Command if strings.Contains(cmdDir, "desktop") { - linkFlags := fmt.Sprintf("-H=windowsgui -X=main.version=%s", version) + linkFlags := fmt.Sprintf("-s -w -H=windowsgui -X=main.version=%s", version) buildExec = exec.Command("go", "build", "-ldflags", linkFlags, "-o", outputBinary) } else { - linkFlags := fmt.Sprintf("-X=github.com/fleetdm/fleet/v4/orbit/pkg/build.Version=%s", version) + linkFlags := fmt.Sprintf("-s -w -X=github.com/fleetdm/fleet/v4/orbit/pkg/build.Version=%s", version) buildExec = exec.Command("go", "build", "-ldflags", linkFlags, "-o", outputBinary) } buildExec.Env = append(os.Environ(), "GOOS=windows", fmt.Sprintf("GOARCH=%s", arch)) diff --git a/orbit/tools/build/build.go b/orbit/tools/build/build.go index 7743d8c284..e73b62a6b3 100644 --- a/orbit/tools/build/build.go +++ b/orbit/tools/build/build.go @@ -106,7 +106,7 @@ func buildOrbit(binaryPath, arch, version, commit, date string) error { /* #nosec G204 -- arguments are actually well defined */ buildExec := exec.Command("go", "build", "-o", binaryPath, - "-ldflags", fmt.Sprintf("-X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version=%s -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Commit=%s -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Date=%s", version, commit, date), + "-ldflags", fmt.Sprintf("-s -w -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version=%s -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Commit=%s -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Date=%s", version, commit, date), "./"+filepath.Join("orbit", "cmd", "orbit"), ) buildExec.Env = append(os.Environ(), "GOOS=darwin", "GOARCH="+arch) diff --git a/tools/desktop/desktop.go b/tools/desktop/desktop.go index 70258ad240..fb1f3ac9a0 100644 --- a/tools/desktop/desktop.go +++ b/tools/desktop/desktop.go @@ -156,7 +156,7 @@ func createMacOSApp(version, authority string, notarize bool) error { /* #nosec G204 -- arguments are actually well defined */ buildExec := exec.Command("go", "build", "-o", amdBinaryPath, - "-ldflags", os.ExpandEnv("-X=main.version=$FLEET_DESKTOP_VERSION"), + "-ldflags", os.ExpandEnv("-s -w -X=main.version=$FLEET_DESKTOP_VERSION"), "./"+filepath.Join("orbit", "cmd", "desktop"), ) buildExec.Env = append(os.Environ(), "CGO_ENABLED=1", "GOOS=darwin", "GOARCH=amd64") @@ -172,7 +172,7 @@ func createMacOSApp(version, authority string, notarize bool) error { /* #nosec G204 -- arguments are actually well defined */ buildExec = exec.Command("go", "build", "-o", armBinaryPath, - "-ldflags", os.ExpandEnv("-X=main.version=$FLEET_DESKTOP_VERSION"), + "-ldflags", os.ExpandEnv("-s -w -X=main.version=$FLEET_DESKTOP_VERSION"), "./"+filepath.Join("orbit", "cmd", "desktop"), ) buildExec.Env = append(os.Environ(), "CGO_ENABLED=1", "GOOS=darwin", "GOARCH=arm64") diff --git a/tools/test_extensions/hello_world/build.sh b/tools/test_extensions/hello_world/build.sh index 40f485dff2..20c52ae8c0 100755 --- a/tools/test_extensions/hello_world/build.sh +++ b/tools/test_extensions/hello_world/build.sh @@ -8,26 +8,26 @@ mkdir -p $SCRIPT_DIR/macos $SCRIPT_DIR/windows $SCRIPT_DIR/linux $SCRIPT_DIR/lin # 1. build hello_world table extensions -GOOS=darwin GOARCH=amd64 go build -o $SCRIPT_DIR/macos/hello_world_macos_amd64.ext $SCRIPT_DIR -GOOS=darwin GOARCH=arm64 go build -o $SCRIPT_DIR/macos/hello_world_macos_arm64.ext $SCRIPT_DIR +GOOS=darwin GOARCH=amd64 go build -ldflags '-s -w' -o $SCRIPT_DIR/macos/hello_world_macos_amd64.ext $SCRIPT_DIR +GOOS=darwin GOARCH=arm64 go build -ldflags '-s -w' -o $SCRIPT_DIR/macos/hello_world_macos_arm64.ext $SCRIPT_DIR lipo -create $SCRIPT_DIR/macos/hello_world_macos_amd64.ext $SCRIPT_DIR/macos/hello_world_macos_arm64.ext -output $SCRIPT_DIR/macos/hello_world_macos.ext rm $SCRIPT_DIR/macos/hello_world_macos_amd64.ext $SCRIPT_DIR/macos/hello_world_macos_arm64.ext -GOOS=windows GOARCH=amd64 go build -o $SCRIPT_DIR/windows/hello_world_windows.ext.exe $SCRIPT_DIR -GOOS=windows GOARCH=arm64 go build -o $SCRIPT_DIR/windows-arm64/hello_world_windows_arm64.ext.exe $SCRIPT_DIR +GOOS=windows GOARCH=amd64 go build -ldflags '-s -w' -o $SCRIPT_DIR/windows/hello_world_windows.ext.exe $SCRIPT_DIR +GOOS=windows GOARCH=arm64 go build -ldflags '-s -w' -o $SCRIPT_DIR/windows-arm64/hello_world_windows_arm64.ext.exe $SCRIPT_DIR -GOOS=linux GOARCH=amd64 go build -o $SCRIPT_DIR/linux/hello_world_linux.ext $SCRIPT_DIR -GOOS=linux GOARCH=arm64 go build -o $SCRIPT_DIR/linux-arm64/hello_world_linux_arm64.ext $SCRIPT_DIR +GOOS=linux GOARCH=amd64 go build -ldflags '-s -w' -o $SCRIPT_DIR/linux/hello_world_linux.ext $SCRIPT_DIR +GOOS=linux GOARCH=arm64 go build -ldflags '-s -w' -o $SCRIPT_DIR/linux-arm64/hello_world_linux_arm64.ext $SCRIPT_DIR # 2. build hello_mars table extensions -GOOS=darwin GOARCH=amd64 go build -ldflags '-X "main.extensionName=test_extensions.hello_mars" -X "main.tableName=hello_mars" -X "main.columnValue=mars"' -o $SCRIPT_DIR/macos/hello_mars_macos_amd64.ext $SCRIPT_DIR -GOOS=darwin GOARCH=arm64 go build -ldflags '-X "main.extensionName=test_extensions.hello_mars" -X "main.tableName=hello_mars" -X "main.columnValue=mars"' -o $SCRIPT_DIR/macos/hello_mars_macos_arm64.ext $SCRIPT_DIR +GOOS=darwin GOARCH=amd64 go build -ldflags '-s -w -X "main.extensionName=test_extensions.hello_mars" -X "main.tableName=hello_mars" -X "main.columnValue=mars"' -o $SCRIPT_DIR/macos/hello_mars_macos_amd64.ext $SCRIPT_DIR +GOOS=darwin GOARCH=arm64 go build -ldflags '-s -w -X "main.extensionName=test_extensions.hello_mars" -X "main.tableName=hello_mars" -X "main.columnValue=mars"' -o $SCRIPT_DIR/macos/hello_mars_macos_arm64.ext $SCRIPT_DIR lipo -create $SCRIPT_DIR/macos/hello_mars_macos_amd64.ext $SCRIPT_DIR/macos/hello_mars_macos_arm64.ext -output $SCRIPT_DIR/macos/hello_mars_macos.ext rm $SCRIPT_DIR/macos/hello_mars_macos_amd64.ext $SCRIPT_DIR/macos/hello_mars_macos_arm64.ext -GOOS=windows GOARCH=amd64 go build -ldflags '-X "main.extensionName=test_extensions.hello_mars" -X "main.tableName=hello_mars" -X "main.columnValue=mars"' -o $SCRIPT_DIR/windows/hello_mars_windows.ext.exe $SCRIPT_DIR -GOOS=windows GOARCH=arm64 go build -ldflags '-X "main.extensionName=test_extensions.hello_mars" -X "main.tableName=hello_mars" -X "main.columnValue=mars"' -o $SCRIPT_DIR/windows-arm64/hello_mars_windows_arm64.ext.exe $SCRIPT_DIR +GOOS=windows GOARCH=amd64 go build -ldflags '-s -w -X "main.extensionName=test_extensions.hello_mars" -X "main.tableName=hello_mars" -X "main.columnValue=mars"' -o $SCRIPT_DIR/windows/hello_mars_windows.ext.exe $SCRIPT_DIR +GOOS=windows GOARCH=arm64 go build -ldflags '-s -w -X "main.extensionName=test_extensions.hello_mars" -X "main.tableName=hello_mars" -X "main.columnValue=mars"' -o $SCRIPT_DIR/windows-arm64/hello_mars_windows_arm64.ext.exe $SCRIPT_DIR -GOOS=linux GOARCH=amd64 go build -ldflags '-X "main.extensionName=test_extensions.hello_mars" -X "main.tableName=hello_mars" -X "main.columnValue=mars"' -o $SCRIPT_DIR/linux/hello_mars_linux.ext $SCRIPT_DIR -GOOS=linux GOARCH=arm64 go build -ldflags '-X "main.extensionName=test_extensions.hello_mars" -X "main.tableName=hello_mars" -X "main.columnValue=mars"' -o $SCRIPT_DIR/linux-arm64/hello_mars_linux_arm64.ext $SCRIPT_DIR +GOOS=linux GOARCH=amd64 go build -ldflags '-s -w -X "main.extensionName=test_extensions.hello_mars" -X "main.tableName=hello_mars" -X "main.columnValue=mars"' -o $SCRIPT_DIR/linux/hello_mars_linux.ext $SCRIPT_DIR +GOOS=linux GOARCH=arm64 go build -ldflags '-s -w -X "main.extensionName=test_extensions.hello_mars" -X "main.tableName=hello_mars" -X "main.columnValue=mars"' -o $SCRIPT_DIR/linux-arm64/hello_mars_linux_arm64.ext $SCRIPT_DIR diff --git a/tools/tuf/test/Fleetd-auto-update-test-guide.md b/tools/tuf/test/Fleetd-auto-update-test-guide.md index aeb9b7c032..c9835b2ac4 100644 --- a/tools/tuf/test/Fleetd-auto-update-test-guide.md +++ b/tools/tuf/test/Fleetd-auto-update-test-guide.md @@ -20,9 +20,9 @@ source ./tools/tuf/test/load_orbit_version_vars.sh Build: ```sh -GOOS=darwin GOARCH=amd64 go build -ldflags="-X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version=$ORBIT_VERSION" -o orbit-darwin ./orbit/cmd/orbit -GOOS=linux GOARCH=amd64 go build -ldflags="-X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version=$ORBIT_VERSION" -o orbit-linux ./orbit/cmd/orbit -GOOS=windows GOARCH=amd64 go build -ldflags="-X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version=$ORBIT_VERSION" -o orbit.exe ./orbit/cmd/orbit +GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version=$ORBIT_VERSION" -o orbit-darwin ./orbit/cmd/orbit +GOOS=linux GOARCH=amd64 go build -ldflags="-s -w -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version=$ORBIT_VERSION" -o orbit-linux ./orbit/cmd/orbit +GOOS=windows GOARCH=amd64 go build -ldflags="-s -w -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version=$ORBIT_VERSION" -o orbit.exe ./orbit/cmd/orbit ``` Push: ```sh diff --git a/tools/tuf/test/README.md b/tools/tuf/test/README.md index 77ae7df459..746a867795 100644 --- a/tools/tuf/test/README.md +++ b/tools/tuf/test/README.md @@ -111,7 +111,7 @@ source ./tools/tuf/test/load_orbit_version_vars.sh # Compile a new version of Orbit: GOOS=windows GOARCH=amd64 go build \ -o orbit-windows.exe \ - -ldflags="-X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version=$ORBIT_VERSION \ + -ldflags="-s -w -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version=$ORBIT_VERSION \ -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Commit=$ORBIT_COMMIT" \ ./orbit/cmd/orbit diff --git a/tools/tuf/test/create_repository.sh b/tools/tuf/test/create_repository.sh index c5cf6a249f..49a88b41f3 100755 --- a/tools/tuf/test/create_repository.sh +++ b/tools/tuf/test/create_repository.sh @@ -145,7 +145,7 @@ for system in $SYSTEMS; do GOARCH=$goarch_value \ go build \ -race=$race_value \ - -ldflags="-X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version=$ORBIT_VERSION \ + -ldflags="-s -w -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Version=$ORBIT_VERSION \ -X github.com/fleetdm/fleet/v4/orbit/pkg/build.Commit=$ORBIT_COMMIT" \ -o $orbit_target ./orbit/cmd/orbit fi