Compare commits

..

20 commits

Author SHA1 Message Date
Packit
20ba4f44e1 Update to 1.21.10 upstream release
Upstream tag: go1.21.10
Upstream commit: 752b0090

Commit authored by Packit automation (https://packit.dev/)
2024-05-08 13:24:12 +00:00
Packit
e99f557c35 Update to 1.21.9 upstream release
Upstream tag: go1.21.9
Upstream commit: d8392e69

Commit authored by Packit automation (https://packit.dev/)
2024-04-03 16:28:14 +00:00
Packit
b04445965e [packit] 1.21.8 upstream release
Upstream tag: go1.21.8
Upstream commit: 63992def
2024-03-06 07:44:16 +00:00
Packit
5ac765be88 [packit] 1.21.7 upstream release
Upstream tag: go1.21.7
Upstream commit: f2920803
2024-03-01 19:40:54 +01:00
Packit
770f12c67c [packit] 1.20.14 upstream release
Upstream tag: go1.20.14
Upstream commit: 90a870f1
2024-02-07 07:55:27 +00:00
Packit
d1adc0a871 [packit] 1.20.13 upstream release
Upstream tag: go1.20.13
Upstream commit: a95136a8
2024-01-15 19:49:54 +00:00
Alejandro Sáez
dcf20b918b Update to Go 1.20.12 2023-12-05 20:58:22 +01:00
Mike Rochefort
b4c1251b15 Update to Go 1.20.11 2023-11-07 14:16:43 -05:00
Alejandro Sáez
00928d6b1a Update bundled-deps.sh to follow the versioning guidelines 2023-10-19 18:19:37 +02:00
Alejandro Sáez
a94ecd5fc7 Update to Go 1.20.10
Update the License field to a SPDX compatible license
2023-10-19 17:40:17 +02:00
Alejandro Sáez
cce5808637 Convert to %autorelease and %autochangelog
[skip changelog]
2023-10-19 17:37:16 +02:00
Alejandro Sáez
8c98227274 Remove --no-clean
Resolves: rhbz#2087997
2023-10-19 17:35:33 +02:00
Alejandro Sáez
8fc43acefa Update to go 1.20.8 2023-09-07 16:16:52 +02:00
Alejandro Sáez
b81524a1dc Update to go 1.20.7 2023-08-01 22:59:57 +02:00
Mike Rochefort
d1b2dbb973 Update to go1.20.6 2023-07-12 21:02:35 +02:00
Alejandro Sáez
92687b0571 Update to go1.20.5 2023-06-08 16:38:01 +02:00
Alejandro Sáez
6f88aa7133 Update to go1.20.4
Resolves: rhbz#2184454
2023-05-05 12:33:46 +02:00
Maxwell G
f98566f752
Fix broken golang-race update path
```
Error:
 Problem: package golang-race-1.19.7-1.fc37.x86_64 requires golang = 1.19.7-1.fc37, but none of the providers can be installed
  - golang-1.19.7-1.fc37.x86_64 does not belong to a distupgrade repository
  - problem with installed package golang-race-1.19.7-1.fc37.x86_64
```
2023-04-15 23:15:16 +00:00
Alejandro Sáez
f99fab394c Update to go1.20.3 2023-04-07 14:00:28 +02:00
Bradley G Smith
40d426bb8e Update to go1.20.2
Resolves: rhbz#2176528, in part
2023-03-23 10:38:48 -07:00
19 changed files with 258 additions and 301 deletions

52
.gitignore vendored
View file

@ -134,44 +134,14 @@
/go1.20.4.src.tar.gz
/go1.20.5.src.tar.gz
/go1.20.6.src.tar.gz
/go1.21rc1.src.tar.gz
/go1.21rc2.src.tar.gz
/go1.21rc3.src.tar.gz
/go1.21.0.src.tar.gz
/go1.21.1.src.tar.gz
/go1.21.3.src.tar.gz
/go1.21.4.src.tar.gz
/go1.21.5.src.tar.gz
/go1.21.6.src.tar.gz
/go1.22rc1.src.tar.gz
/go1.22rc2.src.tar.gz
/go1.22.0.src.tar.gz
/go1.22.1.src.tar.gz
/go1.22.2.src.tar.gz
/go1.22.3.src.tar.gz
/go1.22.4.src.tar.gz
/go1.23rc1.src.tar.gz
/go1.23rc2.src.tar.gz
/go1.23.0.src.tar.gz
/go1.23.1.src.tar.gz
/go1.23.2.src.tar.gz
/go1.23.3.src.tar.gz
/go1.23.4.src.tar.gz
/go1.24rc1.src.tar.gz
/go1.24rc2.src.tar.gz
/go1.24rc3.src.tar.gz
/go1.24.0.src.tar.gz
/go1.24.1.src.tar.gz
/go1.24.2.src.tar.gz
/go1.24.3.src.tar.gz
/go1.24.4.src.tar.gz
/go1.24.5.src.tar.gz
/go1.25rc1.src.tar.gz
/go1.25rc2.src.tar.gz
/go1.25.0.src.tar.gz
/go1.25.1.src.tar.gz
/go1.25.2.src.tar.gz
/go1.25.3.src.tar.gz
/go1.25.4.src.tar.gz
/go1.25.5.src.tar.gz
/go1.26rc1.src.tar.gz
/go1.20.7.src.tar.gz
/go1.20.8.src.tar.gz
/go1.20.10.src.tar.gz
/go1.20.11.src.tar.gz
/go1.20.12.src.tar.gz
/go1.20.13.src.tar.gz
/go1.20.14.src.tar.gz
/go1.21.7.src.tar.gz
/go1.21.8.src.tar.gz
/go1.21.9.src.tar.gz
/go1.21.10.src.tar.gz

View file

@ -1,41 +1,21 @@
specfile_path: golang.spec
files_to_sync:
- golang.spec
- .packit.yaml
upstream_package_name: go
upstream_project_url: https://github.com/golang/go
downstream_package_name: golang
upstream_project_url: https://github.com/golang/go
specfile_path: golang.spec
upstream_tag_template: go{version}
actions:
changelog-entry:
- bash -c "echo - New release ${PACKIT_PROJECT_VERSION}"
- bash -c "echo - New release ${PACKIT_PROJECT_VERSION}"
jobs:
# Fedora 42 follows Go 1.24
- job: pull_from_upstream
trigger: release
dist_git_branches: fedora-42
upstream_tag_include: "^go1.24.+"
dist_git_branches:
- fedora-rawhide
- fedora-stable
# Fedora 43 follows Go 1.25
- job: pull_from_upstream
trigger: release
dist_git_branches: fedora-43
upstream_tag_include: "^go1.25.+"
# Fedora Rawhide follows the latest version
- job: pull_from_upstream
trigger: release
dist_git_branches: fedora-rawhide
upstream_tag_include: "^go1.26.+"
# Run Koji builds when Packit pull requests are merged
- job: koji_build
trigger: commit
dist_git_branches: fedora-all
dist_git_branches:
- fedora-rawhide
- fedora-stable
# Create Bodhi updates in all Fedora stable versions
- job: bodhi_update
trigger: commit
dist_git_branches: fedora-all

View file

@ -1,42 +1,30 @@
From 39432f71436c41201450a523dc41035c92d27569 Mon Sep 17 00:00:00 2001
From: Maxwell G <maxwell@gtmx.me>
Date: Thu, 24 Jul 2025 12:23:59 -0500
From 52d9cfec8124a9c7382bed5284246d9b18a21eb4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= <asm@redhat.com>
Date: Wed, 16 Aug 2023 07:06:38 +0200
Subject: [PATCH] Modify go.env
Change GOPROXY, GOSUMDB, and GOTOOLCHAIN
---
go.env | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
go.env | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.env b/go.env
index 6ff2b92..5508440 100644
index 6ff2b921d4..087208cd7c 100644
--- a/go.env
+++ b/go.env
@@ -4,9 +4,24 @@
@@ -4,9 +4,9 @@
# Use the Go module mirror and checksum database by default.
# See https://proxy.golang.org for details.
+#
+# NOTE(downstream): We used to disable the Google Go proxy with GOPROXY=direct and
+# disable the GOSUMDB for historical and priavcy reasons, but it caused severe
+# performance degradations, so we reverted to the default upstream configuration.
+# as of https://fedoraproject.org/wiki/Changes/golang1.25.
+# To preserve the previous behavior, set "GOPROXY=direct" and "GOSUMDB=off".
GOPROXY=https://proxy.golang.org,direct
GOSUMDB=sum.golang.org
-GOPROXY=https://proxy.golang.org,direct
-GOSUMDB=sum.golang.org
+GOPROXY=direct
+GOSUMDB=off
# Automatically download newer toolchains as directed by go.mod files.
# See https://go.dev/doc/toolchain for details.
-GOTOOLCHAIN=auto
+#
+# NOTE(downstream): We change this default from auto to local so that the
+# distribution-packaged Go toolchain is always used and go doesn't
+# automatically download pre-compiled alternative versions.
+GOTOOLCHAIN=local
+
+# NOTE(downstream): https://sourceware.org/bugzilla/show_bug.cgi?id=33204
+# The dwarf5 data emitted by default in Go 1.25+ is incompatible with debugedit
+# and breaks debugdata collection.
+GOEXPERIMENT=nodwarf5
--
2.50.1
2.41.0

View file

@ -0,0 +1,35 @@
From 7506da0af38aa307f45664f0c787b5767cc7a87f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= <asm@redhat.com>
Date: Thu, 22 Jun 2023 17:19:00 +0200
Subject: [PATCH] Force gold in aarch64 until binutils 2.41 is on Fedora
---
src/cmd/link/internal/ld/lib.go | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
index 91e2d5149c..99c305530b 100644
--- a/src/cmd/link/internal/ld/lib.go
+++ b/src/cmd/link/internal/ld/lib.go
@@ -1605,15 +1605,13 @@ func (ctxt *Link) hostlink() {
// https://go.dev/issue/22040
altLinker = "gold"
- // If gold is not installed, gcc will silently switch
- // back to ld.bfd. So we parse the version information
- // and provide a useful error if gold is missing.
+ // In both cases, switch to gold if gold is available.
name, args := flagExtld[0], flagExtld[1:]
args = append(args, "-fuse-ld=gold", "-Wl,--version")
cmd := exec.Command(name, args...)
if out, err := cmd.CombinedOutput(); err == nil {
- if !bytes.Contains(out, []byte("GNU gold")) {
- log.Fatalf("ARM64 external linker must be gold (issue #15696, 22040), but is not: %s", out)
+ if bytes.Contains(out, []byte("GNU gold")) {
+ altLinker = "gold"
}
}
}
--
2.40.1

View file

@ -1,28 +0,0 @@
From c0c22e2aa7d1901c97da04f834ce9c7b9e38be80 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= <asm@redhat.com>
Date: Sun, 11 Feb 2024 12:08:35 +0100
Subject: [PATCH] Skip TestCrashDumpsAllThreads
See golang.org/issues/64650
---
src/runtime/crash_unix_test.go | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/runtime/crash_unix_test.go b/src/runtime/crash_unix_test.go
index 123a462423..a0034d6455 100644
--- a/src/runtime/crash_unix_test.go
+++ b/src/runtime/crash_unix_test.go
@@ -74,6 +74,10 @@ func TestCrashDumpsAllThreads(t *testing.T) {
t.Skip("skipping; SIGQUIT is blocked, see golang.org/issue/19196")
}
+ if runtime.GOOS == "linux" && runtime.GOARCH == "s390x" {
+ t.Skip("skipping; frequent TestCrashDumpsAllThreads failures on linux/s390x, see golang.org/issue/64650")
+ }
+
testenv.MustHaveGoBuild(t)
if strings.Contains(os.Getenv("GOFLAGS"), "mayMoreStackPreempt") {
--
2.43.0

View file

@ -1,46 +0,0 @@
From 46ec67413008607e2150e3395668e54e538c5b6b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= <asm@redhat.com>
Date: Wed, 19 Jun 2024 10:18:58 +0200
Subject: [PATCH] Default to ld.bfd on ARM64
---
src/cmd/link/internal/ld/lib.go | 20 +++++++-------------
1 file changed, 7 insertions(+), 13 deletions(-)
diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
index eab74dc328..b401f58727 100644
--- a/src/cmd/link/internal/ld/lib.go
+++ b/src/cmd/link/internal/ld/lib.go
@@ -1620,22 +1620,16 @@ func (ctxt *Link) hostlink() {
}
if ctxt.Arch.InFamily(sys.ARM64) && buildcfg.GOOS == "linux" {
- // On ARM64, the GNU linker will fail with
- // -znocopyreloc if it thinks a COPY relocation is
- // required. Switch to gold.
- // https://sourceware.org/bugzilla/show_bug.cgi?id=19962
- // https://go.dev/issue/22040
- altLinker = "gold"
-
- // If gold is not installed, gcc will silently switch
- // back to ld.bfd. So we parse the version information
- // and provide a useful error if gold is missing.
+ // Use ld.bfd as the default linker
+ altLinker = "bfd"
+
+ // Provide a useful error if ld.bfd is missing
name, args := flagExtld[0], flagExtld[1:]
- args = append(args, "-fuse-ld=gold", "-Wl,--version")
+ args = append(args, "-fuse-ld=bfd", "-Wl,--version")
cmd := exec.Command(name, args...)
if out, err := cmd.CombinedOutput(); err == nil {
- if !bytes.Contains(out, []byte("GNU gold")) {
- log.Fatalf("ARM64 external linker must be gold (issue #15696, 22040), but is not: %s", out)
+ if !bytes.Contains(out, []byte("GNU ld")) {
+ log.Fatalf("ARM64 external linker must be ld.bfd, but is not: %s", out)
}
}
}
--
2.45.1

View file

@ -1,3 +1,3 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 1.12.0.post1.dev20+g7d30dac21.
The file was generated using packit 0.96.0.post1.dev4+gc5b1ea8e.

View file

@ -1,4 +1,4 @@
#!/bin/bash
#! /bin/bash
# Copyright (C) 2021 Jakub Čajka jcajka@redhat.com
#
# This program is free software; you can redistribute it and/or
@ -16,14 +16,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
provides=""
for bundle in $(find -name modules.txt); do
provides="$provides\n$(cat "$bundle" |
grep "^# " |
grep -v "# explicit" |
sed -r s/"^#.* => "// |
sed -r "s/# //" |
sed -r "s:(.*) v(.*):Provides\: bundled(golang(\1)) = \2:" |
sed '/= .*/s/-/./g')"
done
provides="$provides\n$(cat "$bundle" | grep "^# " | grep -v "# explicit" | sed -r s/"^#.* => "// | sed -r "s/# //" | sed -r "s:(.*) v(.*):Provides\: bundled(golang(\1)) = \2:")"
done
echo -e "$provides" | sed 's/-/./g' | sort -u

View file

@ -1,30 +1,16 @@
* Tue Aug 08 2023 Packit <hello@packit.dev> - 1.21.0-1
New release ${PACKIT_PROJECT_VERSION}
* Thu Sep 07 2023 Alejandro Sáez <asm@redhat.com> - 1.20.8-1
- Update to go 1.20.8
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.21~rc3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Fri Jul 14 2023 Alejandro Sáez <asm@redhat.com> - 1.21~rc3-1
- Update to go1.21rc3
- Update bundled dependencies.
- Update pcre-devel to pcre2-devel
- Add go-filesystem
- Remove skipping tests, related: https://github.com/golang/go/issues/39466
- Remove 0002-syscall-expose-IfInfomsg.X__ifi_pad-on-s390x.patch, already merged
- Rename 0003-cmd-go-disable-Google-s-proxy-and-sumdb.patch to 0001-Disable-Google-s-proxy-sumdb-and-toolchain.patch
- Update 0001-Disable-Google-s-proxy-sumdb-and-toolchain.patch
- Update 0004-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-avail.patch
- Resolves: rhbz#2128303
- Resolves: rhbz#2215635
- Resolves: rhbz#2172392
* Tue Aug 01 2023 Alejandro Sáez <asm@redhat.com> - 1.20.7-1
- Update to go 1.20.7
* Tue Jul 11 2023 Mike Rochefort <mroche@omenos.dev> - 1.20.6-1
- Update to go 1.20.6
* Tue Jun 06 2023 Alejandro Sáez <asm@redhat.com> - 1.20.5-1
- Update to go 1.20.5
* Thu Jun 08 2023 Alejandro Sáez <asm@redhat.com> - 1.20.5-1
- Update to go1.20.5
* Tue May 02 2023 Alejandro Sáez <asm@redhat.com> - 1.20.4-1
* Fri May 05 2023 Alejandro Sáez <asm@redhat.com> - 1.20.4-1
- Update to go1.20.4
- Resolves: rhbz#2184454
@ -34,9 +20,9 @@ New release ${PACKIT_PROJECT_VERSION}
* Tue Apr 04 2023 Alejandro Sáez <asm@redhat.com> - 1.20.3-1
- Update to go1.20.3
* Fri Mar 10 2023 Mike Rochefort <mroche@omenos.dev> - 1.20.2-1
* Thu Mar 23 2023 Bradley G Smith <bradley.g.smith@gmail.com> - 1.20.2-1
- Update to go1.20.2
- Resolves: rhbz#2176528
- Resolves: rhbz#2176528, in part
* Wed Feb 15 2023 Alejandro Sáez <asm@redhat.com> - 1.20.1
- Update to go1.20.1

View file

@ -1,9 +1,5 @@
//go:build rpm_crashtraceback
// +build rpm_crashtraceback
// Copyright 2017 The Fedora Project Contributors. All rights reserved.
// Use of this source code is governed by the MIT license.
package runtime
func init() {

View file

@ -1,25 +0,0 @@
From 5f566346b70403891cfc52d0c807d72335691708 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= <asm@redhat.com>
Date: Wed, 15 Jan 2025 21:45:33 +0100
Subject: [PATCH] Fix _cgo_panic with gcc15 in 368
---
src/cmd/link/internal/x86/asm.go | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/cmd/link/internal/x86/asm.go b/src/cmd/link/internal/x86/asm.go
index d535e5fb4d..c4253a8c08 100644
--- a/src/cmd/link/internal/x86/asm.go
+++ b/src/cmd/link/internal/x86/asm.go
@@ -184,7 +184,7 @@ func adddynrel(target *ld.Target, ldr *loader.Loader, syms *ld.ArchSyms, s loade
return true
}
- if r.Off() >= 2 && sData[r.Off()-2] == 0xff && sData[r.Off()-1] == 0xb3 {
+ if r.Off() >= 2 && sData[r.Off()-2] == 0xff && sData[r.Off()-1] >= 0xb0 && sData[r.Off()-1] <= 0xb7 {
su.MakeWritable()
// turn PUSHL of GOT entry into PUSHL of symbol itself.
// use unnecessary SS prefix to keep instruction same length.
--
2.47.1

View file

@ -1,5 +1,4 @@
%bcond_with bootstrap
# build ids are not currently generated:
# https://code.google.com/p/go/issues/detail?id=5238
#
@ -32,14 +31,14 @@
# Golang build options.
# Build golang using external/internal(close to cgo disabled) linking.
%ifarch %{ix86} x86_64 ppc64le %{arm} aarch64 s390x riscv64
%ifarch %{ix86} x86_64 ppc64le %{arm} aarch64 s390x
%global external_linker 1
%else
%global external_linker 0
%endif
# Build golang with cgo enabled/disabled(later equals more or less to internal linking).
%ifarch %{ix86} x86_64 ppc64le %{arm} aarch64 s390x riscv64
%ifarch %{ix86} x86_64 ppc64le %{arm} aarch64 s390x
%global cgo_enabled 1
%else
%global cgo_enabled 0
@ -94,18 +93,15 @@
%ifarch s390x
%global gohostarch s390x
%endif
%ifarch riscv64
%global gohostarch riscv64
%endif
# Comment out go_prerelease and go_patch as needed
%global go_api 1.26
%global go_prerelease rc1
#global go_patch 1
%global go_api 1.21
#global go_prerelease rc3
%global go_patch 10
%global go_version %{go_api}%{?go_patch:.%{go_patch}}%{?go_prerelease:~%{go_prerelease}}
%global go_source %{go_api}%{?go_patch:.%{go_patch}}%{?go_prerelease}
Name: golang
Version: %{go_version}
Release: %autorelease
@ -123,41 +119,35 @@ BuildRequires: gcc-go >= 5
%else
BuildRequires: golang > 1.4
%endif
%if 0%{?rhel} > 6 || 0%{?fedora} > 0
BuildRequires: hostname
%else
BuildRequires: net-tools
%endif
# for tests
BuildRequires: pcre2-devel, glibc-static, perl-interpreter, procps-ng
Provides: go = %{version}-%{release}
# Bundled/Vendored provides generated by bundled-deps.sh based on the in tree module data
Provides: bundled(golang(github.com/google/pprof)) = 0.0.0.20251114195745.4902fdda35c8
Provides: bundled(golang(github.com/ianlancetaylor/demangle)) = 0.0.0.20250417193237.f615e6bd150b
Provides: bundled(golang(golang.org/x/arch)) = 0.23.0
Provides: bundled(golang(golang.org/x/build)) = 0.0.0.20251128064159.b9bfd88b30e8
Provides: bundled(golang(golang.org/x/crypto)) = 0.46.1.0.20251210140736.7dacc380ba00
Provides: bundled(golang(golang.org/x/mod)) = 0.30.1.0.20251115032019.269c237cf350
Provides: bundled(golang(golang.org/x/net)) = 0.47.1.0.20251128220604.7c360367ab7e
Provides: bundled(golang(golang.org/x/sync)) = 0.19.0
Provides: bundled(golang(golang.org/x/sys)) = 0.39.0
Provides: bundled(golang(golang.org/x/telemetry)) = 0.0.0.20251128220624.abf20d0e57ec
Provides: bundled(golang(golang.org/x/term)) = 0.38.0
Provides: bundled(golang(golang.org/x/text)) = 0.32.0
Provides: bundled(golang(golang.org/x/tools)) = 0.27.0
Provides: bundled(golang(golang.org/x/tools)) = 0.39.1.0.20251205000126.062ef7b6ced2
Provides: bundled(golang(rsc.io/markdown)) = 0.0.0.20240306144322.0bf8f97ee8ef
Provides: bundled(golang(github.com/google/pprof)) = 0.0.0.20221118152302.e6195bd50e26
Provides: bundled(golang(github.com/ianlancetaylor/demangle)) = 0.0.0.20220319035150.800ac71e25c2
Provides: bundled(golang(golang.org/x/arch)) = 0.4.0
Provides: bundled(golang(golang.org/x/crypto)) = 0.11.1.0.20230711161743.2e82bdd1719d
Provides: bundled(golang(golang.org/x/mod)) = 0.12.0
Provides: bundled(golang(golang.org/x/net)) = 0.12.1.0.20231027154334.5ca955b1789c
Provides: bundled(golang(golang.org/x/sync)) = 0.3.0
Provides: bundled(golang(golang.org/x/sys)) = 0.10.0
Provides: bundled(golang(golang.org/x/term)) = 0.10.0
Provides: bundled(golang(golang.org/x/text)) = 0.11.0
Provides: bundled(golang(golang.org/x/tools)) = 0.11.1.0.20230712164437.1ca21856af7b
Requires: %{name}-bin = %{version}-%{release}
Requires: %{name}-src = %{version}-%{release}
Requires: go-filesystem
Patch1: 0001-Modify-go.env.patch
Patch5: 0005-Skip-TestCrashDumpsAllThreads.patch
Patch6: 0006-Default-to-ld.bfd-on-ARM64.patch
# Related to https://gcc.gnu.org/PR118497
Patch8: fix_cgo_panic-with-gcc15-in-368.patch
# Related to https://github.com/golang/go/issues/74476
Patch9: skip_lsan_tests.patch
Patch4: 0004-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-avail.patch
# Having documentation separate was broken
Obsoletes: %{name}-docs < 1.1-4
@ -252,8 +242,11 @@ Requires(preun): %{_sbindir}/update-alternatives
# This is an odd issue, still looking for a better fix.
Requires: glibc
Requires: gcc
Recommends: git-core, subversion, mercurial
%if 0%{?rhel} && 0%{?rhel} < 8
Requires: git, subversion, mercurial
%else
Recommends: git, subversion, mercurial
%endif
%description bin
%{summary}
@ -393,7 +386,7 @@ echo "== 4 =="
echo "%%{goroot}/$file" >> $shared_list
echo "%%{golibdir}/$(basename $file)" >> $shared_list
done
find pkg/*_dynlink/ -type d -printf '%%%dir %{goroot}/%p\n' >> $shared_list
find pkg/*_dynlink/ ! -type d -printf '%{goroot}/%p\n' >> $shared_list
%endif
@ -462,12 +455,7 @@ export CGO_ENABLED=0
#endif
# make sure to not timeout
%ifnarch riscv64
export GO_TEST_TIMEOUT_SCALE=2
%else
# NOTE(davidlt): 20 is probably too much, but it's only for riscv and it works
export GO_TEST_TIMEOUT_SCALE=20
%endif
%if %{fail_on_tests}
./run.bash --no-rebuild -v -v -v -k
@ -498,8 +486,6 @@ fi
%dir %{goroot}
%{goroot}/api/
%{goroot}/lib/time/
%{goroot}/lib/wasm/
%{goroot}/lib/fips140/
# ensure directory ownership, so they are cleaned up if empty
%dir %{gopath}

View file

@ -1,6 +1,5 @@
summary: CI Gating Plan
discover:
how: fmf
url: https://src.fedoraproject.org/tests/golang
execute:
how: tmt

View file

@ -1,25 +0,0 @@
From 958f06663d81dd4b946fce963b9f985f68da6212 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= <asm@redhat.com>
Date: Wed, 16 Jul 2025 13:14:03 +0200
Subject: [PATCH] Skip lsan_test.go in aarch64
Reference: https://github.com/golang/go/issues/74476
---
src/cmd/cgo/internal/testsanitizers/lsan_test.go | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/cmd/cgo/internal/testsanitizers/lsan_test.go b/src/cmd/cgo/internal/testsanitizers/lsan_test.go
index 4dde3d20ec..3bcf0eba51 100644
--- a/src/cmd/cgo/internal/testsanitizers/lsan_test.go
+++ b/src/cmd/cgo/internal/testsanitizers/lsan_test.go
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-//go:build linux || (freebsd && amd64)
+//go:build (linux && !(arm64 || riscv64)) || (freebsd && amd64)
package sanitizers_test
--
2.50.1

View file

@ -1 +1 @@
SHA512 (go1.26rc1.src.tar.gz) = 6696ee765dcde64b830b14e20a5fdf6324916211bff80a62d0db0cbef58bb0856f02e88e95b2f1a3ad6d9282ebd04a377a0b000d56849576caedbd526c9a7923
SHA512 (go1.21.10.src.tar.gz) = 90105f977c86a0d5ea4d31e4e699d8611a74178db1e443ddc57679b7a2a648baa328e7fa9ea4a732727487cc29afe07e9597a1e2eb0184cb270973f403349f5a

View file

@ -0,0 +1,64 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/golang/Sanity/basic-smoke
# Description: basic smoke test for go
# Author: Edjunior Machado <emachado@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2019 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/golang/Sanity/basic-smoke
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Edjunior Machado <emachado@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: basic smoke test for go" >> $(METADATA)
@echo "Type: Sanity" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: golang" >> $(METADATA)
@echo "Requires: golang" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Releases: -RHEL4 -RHEL6 -RHELClient5 -RHELServer5" >> $(METADATA)
@echo "Architectures: s390x x86_64 ppc64le aarch64" >> $(METADATA)
rhts-lint $(METADATA)

View file

@ -0,0 +1,3 @@
PURPOSE of /tools/golang/Sanity/basic-smoke
Description: basic smoke test for go
Author: Edjunior Machado <emachado@redhat.com>

View file

@ -0,0 +1,13 @@
summary: basic smoke test for go
description: ''
contact:
- Edjunior Machado <emachado@redhat.com>
component:
- golang
test: ./runtest.sh
framework: beakerlib
recommend:
- golang
duration: 5m
extra-summary: /tools/golang/Sanity/basic-smoke
extra-task: /tools/golang/Sanity/basic-smoke

View file

@ -0,0 +1,68 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/golang/Sanity/basic-smoke
# Description: basic smoke test for go
# Author: Edjunior Machado <emachado@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2019 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="$(rpm -qf $(which go))"
# Conserve the non-zero return value through the pipe
set -o pipefail
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "pushd $TmpDir"
rlPhaseEnd
rlPhaseStartTest
cat << EOF > $TmpDir/hello.go
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
EOF
rlAssertExists "$TmpDir/hello.go"
rlRun "go run $TmpDir/hello.go |& tee $TmpDir/go-run-hello.out" 0 "Testing 'go run'"
rlAssertNotDiffer <(echo 'hello world') go-run-hello.out
rlRun "go build -o $TmpDir/hello $TmpDir/hello.go" 0 "Testing 'go build'"
rlAssertExists "hello"
rlRun "$TmpDir/hello |& tee $TmpDir/hello.out" 0 "Running binary"
rlAssertNotDiffer <(echo 'hello world') hello.out
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd