[go-rpm-macros] Issue #2: EPEL availability
by Nicolas Mailhot
nim reported a new issue against the project: `go-rpm-macros` that you are following:
``
The macro code needs massaging to also work on EPEL.
Most of the work is spec side since some of the macros are going to collide with the ones provided by previous iterations of Go macro packages
``
To reply, visit the link below or just reply to this email
https://pagure.io/go-rpm-macros/issue/2
4 weeks
[go-rpm-macros] Issue #3: %goprep should apply patches automatically
by Nicolas Mailhot
nim reported a new issue against the project: `go-rpm-macros` that you are following:
``
`%goprep` should apply patches automatically, so there is no convenience gap with `%autosetup`.
This is generic work that should be done *redhat-rpm-config* side in forge macros and then reused in`%goprep`. Basically:
1. define a `patch_flags<suffix>` rpm variable holding the parameters that should be passed to `%patch<suffix>`
2. define a `default_flags<suffix>` fallback
3. define a `source_patches<suffix>` holding an ordered space separated list of patch suffixes associated with a particular forge/go source.
And then write the usual lua loops to apply it all at the right moment in the spec.
``
To reply, visit the link below or just reply to this email
https://pagure.io/go-rpm-macros/issue/3
4 weeks
[go-rpm-macros] Issue #36: Renaming BUILDTAGS and LDFLAGS to include GO prefixes
by Link Dupont
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
4 weeks
[go-rpm-macros] Issue #46: %gobuildflags missing double quotation marks
by Petr Hruska
hruskape reported a new issue against the project: `go-rpm-macros` that you are following:
``
It seems that commit https://pagure.io/go-rpm-macros/c/359d80bbfe7f0490fc51c43af8d986863516c5b... breaking %gobuildflags usage in spec file.
Getting error, as double quotation marks are removed.
Specfile section
unset LDFLAGS
%make_build GOBUILDFLAGS="%{gobuildflags}"
Error:
+ /usr/bin/make -O -j16 V=1 VERBOSE=1 'GOBUILDFLAGS=-buildmode pie -compiler gc -tags=rpm_crashtraceback' ' -ldflags ' -B 0x3433f3bcad171c4e7f8f736da295a9fac8289b8c -compressdwarf=false -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 -a -v -x'
/usr/bin/make: invalid option -- 'c'
/usr/bin/make: invalid option -- 'x'
Usage: make [options] [target] ...
``
To reply, visit the link below or just reply to this email
https://pagure.io/go-rpm-macros/issue/46
4 weeks
Re: Fwd: rawhide is broken
by Mark E. Fuller
No, that needs to be untagged - I must have accidentally built in in
main rawhide and not in a side-tag:
I'm working on updating a number of things right now and have a a few
side tag/updates I'm assembling.
Perhaps it's best if I turn over a critical/central package like that to
someone with a bit more time. My availability lately is very spiky and
will be poor for the next month or two.
On 21/09/2023 16:50, Mikel Olasagasti wrote:
> Hi Mark,
>
> As I was not able to find you in matrix and as I'm not sure if you're
> on the list, I'm forwarding the email I sent yesterday about some
> package status.
>
> Regards,
> Mikel
>
> ---------- Forwarded message ---------
> Igorlea: Mikel Olasagasti <mikel(a)olasagasti.info>
> Date: 2023 ira. 20(a), az. (20:06)
> Subject: rawhide is broken
> To: <golang(a)lists.fedoraproject.org>
>
>
> Hi all,
>
> Many packages in rawhide are broken due to missing deps caused by the
> latest golang-opentelemetry-otel update[1].
>
> The problems are at least:
>
> - nothing provides golang(go.opentelemetry.io/otel/exporters/jaeger)
> needed by golang-github-moby-buildkit-devel-0.10.5-3.fc39.noarch
> - nothing provides golang(go.opentelemetry.io/otel/metric/global)
> needed by golang-opentelemetry-contrib-devel-1.10.0-4.fc38.noarch
> - nothing provides golang(go.opentelemetry.io/otel/metric/instrument)
> needed by golang-opentelemetry-contrib-devel-1.10.0-4.fc38.noarch
> - nothing provides
> golang(go.opentelemetry.io/otel/metric/instrument/asyncfloat64) needed
> by golang-opentelemetry-contrib-devel-1.10.0-4.fc38.noarch
> - nothing provides
> golang(go.opentelemetry.io/otel/metric/instrument/asyncint64) needed
> by golang-opentelemetry-contrib-devel-1.10.0-4.fc38.noarch
> - nothing provides
> golang(go.opentelemetry.io/otel/metric/instrument/syncfloat64) needed
> by golang-opentelemetry-contrib-devel-1.10.0-4.fc38.noarch
> - nothing provides
> golang(go.opentelemetry.io/otel/metric/instrument/syncint64) needed by
> golang-opentelemetry-contrib-devel-1.10.0-4.fc38.noarch
>
> I think go-leaves script was able to capture all failing packages[2],
> but I'm not sure if the list is complete.
>
> Is anyone working to fix this? Do we need to untag the
> golang-opentelemetry-otel package?
>
> Regards,
> Mikel
>
> [1] https://koji.fedoraproject.org/koji/buildinfo?buildID=2290278
> [2] https://pagure.io/GoSIG/go-leaves/c/89f5b7bfefe6b454ec5dbc44d30c112272fcf924
7 months, 1 week
rawhide is broken
by Mikel Olasagasti
Hi all,
Many packages in rawhide are broken due to missing deps caused by the
latest golang-opentelemetry-otel update[1].
The problems are at least:
- nothing provides golang(go.opentelemetry.io/otel/exporters/jaeger)
needed by golang-github-moby-buildkit-devel-0.10.5-3.fc39.noarch
- nothing provides golang(go.opentelemetry.io/otel/metric/global)
needed by golang-opentelemetry-contrib-devel-1.10.0-4.fc38.noarch
- nothing provides golang(go.opentelemetry.io/otel/metric/instrument)
needed by golang-opentelemetry-contrib-devel-1.10.0-4.fc38.noarch
- nothing provides
golang(go.opentelemetry.io/otel/metric/instrument/asyncfloat64) needed
by golang-opentelemetry-contrib-devel-1.10.0-4.fc38.noarch
- nothing provides
golang(go.opentelemetry.io/otel/metric/instrument/asyncint64) needed
by golang-opentelemetry-contrib-devel-1.10.0-4.fc38.noarch
- nothing provides
golang(go.opentelemetry.io/otel/metric/instrument/syncfloat64) needed
by golang-opentelemetry-contrib-devel-1.10.0-4.fc38.noarch
- nothing provides
golang(go.opentelemetry.io/otel/metric/instrument/syncint64) needed by
golang-opentelemetry-contrib-devel-1.10.0-4.fc38.noarch
I think go-leaves script was able to capture all failing packages[2],
but I'm not sure if the list is complete.
Is anyone working to fix this? Do we need to untag the
golang-opentelemetry-otel package?
Regards,
Mikel
[1] https://koji.fedoraproject.org/koji/buildinfo?buildID=2290278
[2] https://pagure.io/GoSIG/go-leaves/c/89f5b7bfefe6b454ec5dbc44d30c112272fcf924
7 months, 1 week
Two golang packages for two major versions of same source
by Mark E. Fuller
Hi all,
Following on the issues with golang-github-nats-io-jwt from a couple
months back, I'm going to preserve v1 in golang-github-nats-io-jwt and
build v2 in golang-github-nats-io-jwt-2
What's the proper assignment of %goipath and %goaltipaths here in the
two packages?
I want the unversioned requirement to point to latest/v2 and there to be
a v1 for legacy purposes
Thanks,
fuller
7 months, 2 weeks