Bug 2227331

Summary: %gobuild macro doesn't include BUILDTAGS support
Product: Red Hat Enterprise Linux 8 Reporter: Lokesh Mandvekar <lsm5>
Component: go-srpm-macrosAssignee: David Benoit <dbenoit>
Status: NEW --- QA Contact: qe-baseos-tools-bugs
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: CentOS StreamCC: bstinson, jwboyer, sipoyare
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Lokesh Mandvekar 2023-07-28 17:50:39 UTC
This bug was initially created as a copy of Bug #2227328

I am copying this bug because: 



Description of problem:

%gobuild macro on c8s does not include `BUILDTAGS` in its definition. This needs us to redefine gobuild on container-tools packages to get c8s builds to pass.
See: https://github.com/containers/podman/blob/main/rpm/podman.spec#L10-L15


Also, see the %gobuild defs on Fedora v/s C8S



On C9S
# rpm --eval %gobuild

CGO_CPPFLAGS="-D_FORTIFY_SOURCE=2 -fstack-protector-all" go build -compiler gc -buildmode pie '-tags=rpm_crashtraceback libtrust_openssl ' -ldflags "-linkmode=external -compressdwarf=false ${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') -extldflags '%__global_ldflags'" -a -v -x ;


On Fedora:
$ rpm --eval %gobuild

  # https://pagure.io/go-rpm-macros/pull-request/38
  # Most of the default LDFLAGS for Fedora are not supported so we don't want
  # LDFLAGS to be automatically initialized with the Fedora flags.
  
  # https://bugzilla.redhat.com/show_bug.cgi?id=995136#c12
     GO111MODULE=off \
  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 -linkmode=external -extldflags '-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1   '" -a -v -x ;

Comment 1 Lokesh Mandvekar 2023-07-28 19:30:48 UTC
It would be nice to have `go-srpm-macros` also include a `Provides: go-rpm-macros` for consistency with Fedora and c9s.