2021-06-28 11:50:36 +00:00
|
|
|
From 64c8066535dacbe37abc35485347c59df553bfbb Mon Sep 17 00:00:00 2001
|
2020-06-30 17:17:15 +00:00
|
|
|
From: Debarshi Ray <rishi@fedoraproject.org>
|
|
|
|
Date: Mon, 29 Jun 2020 17:57:47 +0200
|
|
|
|
Subject: [PATCH] build: Make the build flags match Fedora's %{gobuild}
|
|
|
|
|
|
|
|
The Go toolchain doesn't play well with passing compiler and linker
|
|
|
|
flags via environment variables. The linker flags require a second
|
|
|
|
level of quoting, which leaves the build system without a quote level
|
|
|
|
to assign the flags to an environment variable like GOFLAGS.
|
|
|
|
|
|
|
|
This is one reason why Fedora doesn't have a RPM macro with only the
|
|
|
|
flags. The %{gobuild} RPM macro includes the entire 'go build ...'
|
|
|
|
invocation.
|
|
|
|
|
|
|
|
The Go toolchain also doesn't like the LDFLAGS environment variable as
|
|
|
|
exported by Fedora's %{meson} RPM macro.
|
|
|
|
|
|
|
|
Note that these flags are meant for every CPU architecture other than
|
|
|
|
PPC64, and should be kept updated to match Fedora's Go guidelines. Use
|
|
|
|
'rpm --eval "%{gobuild}"' to expand the %{gobuild} macro.
|
|
|
|
---
|
|
|
|
src/go-build-wrapper | 3 ++-
|
|
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
|
|
|
|
diff --git a/src/go-build-wrapper b/src/go-build-wrapper
|
2021-06-28 11:50:36 +00:00
|
|
|
index 0d27120da052..4793d29a7021 100755
|
2020-06-30 17:17:15 +00:00
|
|
|
--- a/src/go-build-wrapper
|
|
|
|
+++ b/src/go-build-wrapper
|
|
|
|
@@ -27,5 +27,6 @@ if ! cd "$1"; then
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2021-01-05 17:29:31 +00:00
|
|
|
-go build -trimpath -ldflags "-extldflags '-Wl,--wrap,pthread_sigmask $4' -linkmode external -X github.com/containers/toolbox/pkg/version.currentVersion=$3" -o "$2/toolbox"
|
2020-06-30 17:17:15 +00:00
|
|
|
+unset LDFLAGS
|
2021-06-28 11:50:36 +00:00
|
|
|
+go build -buildmode pie -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') -compressdwarf=false -extldflags '-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--wrap,pthread_sigmask $4' -linkmode external -X github.com/containers/toolbox/pkg/version.currentVersion=$3" -a -v -x -o "$2/toolbox"
|
2020-06-30 17:17:15 +00:00
|
|
|
exit "$?"
|
|
|
|
--
|
2021-06-28 11:50:36 +00:00
|
|
|
2.31.1
|
2020-06-30 17:17:15 +00:00
|
|
|
|