On Thu, 24 Jun 2021 at 23:40, Link Dupont link@sub-pop.net wrote:
I'm using go2rpm to generate some RPMs. I noticed that when it detects a package that has multiple subcommands, it inserts the following snippet into the %build step:
for cmd in cmd/* ; do %gobuild -o %{gobuilddir}/bin/$(basename $cmd) %{goipath}/$cmd done
This glob doesn't get expanded and the RPM ends up failing to build because it can't find a Go package "cmd/*". Is there some escaping that's needed here to get that glob to expand properly?
Well that's just regular shell globbing. Did you cd before hand, or are those directories missing from the tarball? You should post the entire spec to see fully what's going on.
- go build -buildmode pie -compiler gc '-tags=rpm_crashtraceback ' -ldflags ' -X git.sr.ht/~spc/mqttcli/version=0.1.0 -B 0x2d42bc91df6bf113dbdb6ac7671c6fa1f1ede4d0 -extldflags '''-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld '''' -a -v -x -o '/builddir/build/BUILD/mqttcli-0.1.0/_build/bin/*' 'git.sr.ht/~spc/mqttcli/cmd/*'
WORK=/tmp/go-build841317380 cannot find package "git.sr.ht/~spc/mqttcli/cmd/*" in any of: /usr/lib/golang/src/git.sr.ht/~spc/mqttcli/cmd/* (from $GOROOT) /builddir/build/BUILD/mqttcli-0.1.0/_build/src/git.sr.ht/~spc/mqttcli/cmd/* (from $GOPATH) /usr/share/gocode/src/git.sr.ht/~spc/mqttcli/cmd/* error: Bad exit status from /var/tmp/rpm-tmp.Kfe0UU (%build) Bad exit status from /var/tmp/rpm-tmp.Kfe0UU (%build)