linkdupont reported a new issue against the project: `go-rpm-macros` that you 
are following:
``
In #34 and #35, it was brought up to rename the `BUILDTAGS` variable to 
`GOBUILDTAGS` in order to be more explicit about the intended use of the 
variables and to avoid any potential namespace collision with other variables. 
I looked into what packages are using `BUILDTAGS` today to figure out how much 
of an impact a rename like this will have.

As of this writing, the following packages are using `BUILDTAGS` in some 
capacity:

```
buildah.spec
containernetworking-plugins.spec
cri-tools.spec
go-compilers.spec
golang-github-prometheus-node-exporter.spec
golang-github-prometheus.spec
grafana.spec
hugo.spec
moby-engine.spec
oci-seccomp-bpf-hook.spec
pack.spec
podman.spec
reg.spec
runc.spec
skopeo.spec
snapd.spec
source-to-image.spec
stargz-snapshotter.spec
syncthing.spec
weldr-client.spec
```

And the follow packages use `LDFLAGS`:

```
aerc.spec
age.spec
butane.spec
clash.spec
containerd.spec
doctl.spec
fzf.spec
geoipupdate.spec
git-lfs.spec
golang-github-aliyun-cli.spec
golang-github-colinmarc-hdfs-2.spec
golang-github-haproxytech-dataplaneapi.spec
golang-github-hub.spec
golang-github-jsonnet-bundler.spec
golang-github-magefile-mage.spec
golang-github-prometheus.spec
golang-github-rfjakob-gocryptfs.spec
golang-github-tdewolff-minify.spec
golang-github-theoapp-theo-agent.spec
golang-mvdan-editorconfig.spec
ignition.spec
kiln.spec
micro.spec
open-policy-agent.spec
osbuild-composer.spec
rclone.spec
reg.spec
source-to-image.spec
syncthing.spec
tinygo.spec
vgrep.spec
weldr-client.spec
```

I identified these packages by grepping the contents of the [current spec 
tarball](https://src.fedoraproject.org/repo/rpm-specs-latest.tar.xz).

To avoid breaking these packages that are currently using `BUILDTAGS` or 
`LDFLAGS`, there are two possible approaches I see to safely rename the 
variables:

#### 1. Rebuild everything in a side-tag

Patch `go-rpm-macros` to rename `BUILDTAGS` and `LDFLAGS` to `GOBUILDTAGS` and 
`GOLDFLAGS` respectively. Then patch the above packages and stage them all in a 
side-tag to update them in one monolithic Bodhi update.

#### 2. Support both old and new variables at the same time

Patch `go-rpm-macros` to support **both** `BUILDTAGS`/`LDFLAGS` *and* 
`GOBUILDTAGS`/`GOLDFLAGS` simultaneously. Then patch the above packages over 
time until everything has been ported over to using `GOBUILDTAGS` and 
`GOLDFLAGS`, and then drop the old variables from `go-rpm-macros`.

I'm not sure how easy either of these approaches will be. They are both moving 
targets as new packages are constantly getting added. It might just be a 
constant effort to try and keep on top of all the patches as new packages come 
along and patches need to be rebased onto their target's changes.
``

To reply, visit the link below or just reply to this email
https://pagure.io/go-rpm-macros/issue/36
_______________________________________________
golang mailing list -- golang@lists.fedoraproject.org
To unsubscribe send an email to golang-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/golang@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to