Compare commits

..

93 commits

Author SHA1 Message Date
Alejandro Sáez
30f6caf69b Update Packit references 2026-01-02 09:36:58 +01:00
Alejandro Sáez
102c91d7b1 Update to 1.26rc1 2025-12-17 14:47:53 +01:00
Packit
d9efef266e Update to 1.25.5 upstream release
- Resolves: rhbz#2419205

Upstream tag: go1.25.5
Upstream commit: fefb02ad

Commit authored by Packit automation (https://packit.dev/)
2025-12-05 11:49:33 +00:00
David Abdurachmanov
7f14ad762b Skip lsan tests on riscv64
These tests are failing the same way on riscv64 too.

Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2025-12-02 19:10:53 +01:00
Packit
abe2807b6d Update to 1.25.4 upstream release
- Resolves: rhbz#2412967

Upstream tag: go1.25.4
Upstream commit: f2cd93aa

Commit authored by Packit automation (https://packit.dev/)
2025-11-05 21:35:52 +00:00
Packit
ff6333f2c1 Update to 1.25.3 upstream release
- Resolves: rhbz#2403668

Upstream tag: go1.25.3
Upstream commit: 28622c19

Commit authored by Packit automation (https://packit.dev/)
2025-10-14 00:15:00 +00:00
Alejandro Sáez
4a9bd423ee rebuild 2025-10-10 17:09:35 +02:00
Packit
5d71cf066b Update to 1.25.2 upstream release
- Resolves: rhbz#2402368

Upstream tag: go1.25.2
Upstream commit: bed6c81c

Commit authored by Packit automation (https://packit.dev/)
2025-10-07 20:06:02 +00:00
Mikel Olasagasti Uranga
5180b46602 Drop check for old Releases and recommend git-core
`git-core` package provides `git` command and doesn't require the extra
modules `git` package provides to work with remote modules, avoiding
having to install multiple depenencies.
2025-09-04 07:40:28 +00:00
Mikel Olasagasti Uranga
4479594a30 Drop old check on RHEL6 and Fedora 2025-09-04 07:40:28 +00:00
Mikel Olasagasti Uranga
e2a58b1cf3 Remove unused patch 2025-09-04 07:40:28 +00:00
Packit
c1d0accc88 Update to 1.25.1 upstream release
- Resolves: rhbz#2392955

Upstream tag: go1.25.1
Upstream commit: 56ebf80e

Commit authored by Packit automation (https://packit.dev/)
2025-09-03 19:40:28 +00:00
Alejandro Sáez
56d6b65b5b Add Fedora 43 2025-08-13 08:24:19 +02:00
Alejandro Sáez
d0bdcaaac7 Update to Go 1.25.0
revert go_version change made by Packit
2025-08-13 08:06:53 +02:00
Packit
ecc9df192f Update to 1.25.0 upstream release
- Resolves: rhbz#2388116

Upstream tag: go1.25.0
Upstream commit: 6e676ab2

Commit authored by Packit automation (https://packit.dev/)
2025-08-12 21:38:21 +00:00
Maxwell G
1a696ebca1
Partially restore the downstream go.env patch
- Keep the GOPROXY and GOSUMDB defaults but add additional explanatory comments.
- Restore GOTOOLCHAIN=local
- Set GOEXPERIMENT=nodwarf5
2025-07-24 12:25:32 -05:00
Fedora Release Engineering
dc534e467c Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-23 22:55:49 +00:00
Alejandro Sáez
8afc7c4228 Update to Go 1.25rc2
Update .packit.yaml for Fedora 41
Add skip_lsan_tests.patch
Remove 0001-Modify-go.env.patch
2025-07-19 20:41:32 +02:00
Packit
7d06f9cac2 Update to 1.24.5 upstream release
- Resolves: rhbz#2378705

Upstream tag: go1.24.5
Upstream commit: 9d828e80

Commit authored by Packit automation (https://packit.dev/)
2025-07-08 18:00:29 +00:00
Packit
7711622737 Update to 1.24.4 upstream release
- Resolves: rhbz#2370501

Upstream tag: go1.24.4
Upstream commit: 6796ebb2

Commit authored by Packit automation (https://packit.dev/)
2025-06-05 20:53:19 +00:00
Alejandro Sáez
5d3dfa13bf Add wasm and fips140 libs to the installation
Resolves: rhbz#2356269
2025-05-08 11:36:24 +02:00
Alejandro Sáez
fe8033479f Update bundled dependencies 2025-05-08 10:53:30 +02:00
Alejandro Sáez
9be033775a Remove patch 2025-05-07 09:32:09 +02:00
Packit
ad2442f5a0 Update to 1.24.3 upstream release
- Resolves: rhbz#2364602

Upstream tag: go1.24.3
Upstream commit: 34c8b14c

Commit authored by Packit automation (https://packit.dev/)
2025-05-07 07:26:47 +00:00
Alejandro Sáez
782a531812 Backport of upstream issue 73144 2025-04-22 17:26:28 +02:00
Alejandro Sáez
ac1089821f Fedora 40 now follows Go 1.23
Reference: https://pagure.io/fesco/issue/3372
2025-04-14 12:23:00 +02:00
Packit
6483580d3f Update to 1.24.2 upstream release
- Resolves: rhbz#2356701

Upstream tag: go1.24.2
Upstream commit: 49860cf9

Commit authored by Packit automation (https://packit.dev/)
2025-04-01 18:03:11 +00:00
Packit
bfa1718f05 Update to 1.24.1 upstream release
- Resolves: rhbz#2344988

Upstream tag: go1.24.1
Upstream commit: 339c903a

Commit authored by Packit automation (https://packit.dev/)
2025-03-06 10:38:53 +00:00
Alejandro Sáez
d02739b52d Update to 1.24.0
Resolves: rhbz#2344988
2025-02-14 10:33:19 +01:00
Alejandro Sáez
9fdfa10de7 Fix tags 2025-02-07 18:02:26 +00:00
Packit
a5f7a9b770 Update to 1.24rc3 upstream release
Upstream tag: go1.24rc3
Upstream commit: 18068cb9

Commit authored by Packit automation (https://packit.dev/)
2025-02-07 18:02:26 +00:00
Alejandro Sáez
38634fa123 Remove F39, is EOL 2025-02-06 09:21:54 +01:00
Alejandro Sáez
d60b1a1b18 Update to go1.24rc2
Remove combined_commits_2025-01-08.patch
2025-01-17 17:29:40 +01:00
Fedora Release Engineering
5b44ac9a9d Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-16 23:10:27 +00:00
Alejandro Sáez
31bbb1cda0 Add reference to a patch
I realized that I didn't document correctly the
fix_cgo_panic-with-gcc15-in-368.patch patch and it's a complex one.
I included the gcc issue related to the solution:
https://gcc.gnu.org/PR118497
2025-01-15 23:12:58 +01:00
Alejandro Sáez
f423a13953 Add a patch to fix issue with gcc15 in x86 2025-01-15 22:41:57 +01:00
Alejandro Sáez
5f0561a120 Update to Go 1.24rc1
Add license to fedora.go due to TestCopyright
Update .packit.yaml
Due to the lack of rc2 tag, I included a *huge* patch to make it work
for several different reasons.
2025-01-15 11:19:14 +01:00
Alejandro Sáez
b06cd97cc3 Remove TestPIESize patch 2024-12-05 11:20:41 +01:00
Packit
7ca0d2e749 Update to 1.23.4 upstream release
- Resolves: rhbz#2330231

Upstream tag: go1.23.4
Upstream commit: 194de8fb

Commit authored by Packit automation (https://packit.dev/)
2024-12-04 13:33:04 +00:00
Alejandro Sáez
bc105c11fb Skip TestPIESize on i386 and s390x due to Fedora CI issues 2024-11-12 23:34:25 +01:00
Packit
56fb3337e3 Update to 1.23.3 upstream release
- Resolves: rhbz#2324496

Upstream tag: go1.23.3
Upstream commit: c390a1c2

Commit authored by Packit automation (https://packit.dev/)
2024-11-07 22:52:25 +00:00
Alejandro Sáez
4310f1b21b Update vendored dependencies 2024-10-04 13:50:21 +02:00
Packit
1355105706 Update to 1.23.2 upstream release
- Resolves: rhbz#2315984

Upstream tag: go1.23.2
Upstream commit: ed07b321

Commit authored by Packit automation (https://packit.dev/)
2024-10-03 08:33:30 +00:00
Alejandro Sáez
e173be4ed8 Update .packit.yaml content
Now Fedora 39 follows 1.22, like Fedora 40
2024-09-13 12:01:43 +02:00
Packit
502fcb8295 Update to 1.23.1 upstream release
- Resolves: rhbz#2310262

Upstream tag: go1.23.1
Upstream commit: 69234ded

Commit authored by Packit automation (https://packit.dev/)
2024-09-05 16:26:08 +00:00
Alejandro Sáez
cde14f05d1 Update .packit.yml 2024-08-18 11:53:07 +02:00
Alejandro Sáez
ddb1900637 Update to Go 1.23.0
Packit overwrote the version variables incorrectly.
2024-08-14 16:56:02 +02:00
Packit
9575176dd0 Update to 1.23.0 upstream release
- Resolves: rhbz#2295486

Upstream tag: go1.23.0
Upstream commit: 6885bad7

Commit authored by Packit automation (https://packit.dev/)
2024-08-13 19:57:11 +00:00
Alejandro Sáez
3627d737b3 Update to 1.23rc2 2024-07-31 20:56:18 +02:00
Edjunior Machado
f6ac8e28fb Move tests to tests/golang namespace 2024-07-19 12:08:48 +00:00
Fedora Release Engineering
45353bf1e5 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 03:24:51 +00:00
Alejandro Sáez
3c46e5bedc Update vendored dependencies 2024-07-07 13:21:35 +02:00
Packit
f19fb05ec5 Update to 1.23rc1 upstream release
Upstream tag: go1.23rc1
Upstream commit: 7dff7439

Commit authored by Packit automation (https://packit.dev/)
2024-07-07 10:20:36 +00:00
Alejandro Sáez
33fa330954 Update .packit.yaml with 1.23 reference 2024-07-07 12:14:27 +02:00
Alejandro Sáez
a867bd88a6 Default to ld.bfd on ARM64
Until now, Go defaulted to ld.gold, but now, the binutils package is
deprecating gold in favor of ld.bfd.
2024-06-20 11:37:02 +02:00
Alejandro Sáez
44b6a2d47f Add new BuildRequires for aarch64 2024-06-18 13:20:44 +02:00
Neil Hanlon
5bc82c18bd enable tests for riscv64 with larger GO_TEST_TIMEOUT_SCALE 2024-06-11 07:20:10 +00:00
Packit
5eba855ef3 Update to 1.22.4 upstream release
- Resolves: rhbz#2290444

Upstream tag: go1.22.4
Upstream commit: ace5bb40

Commit authored by Packit automation (https://packit.dev/)
2024-06-04 20:47:44 +00:00
Packit
38cadf47cd Update to 1.22.3 upstream release
- Resolves: rhbz#2279598

Upstream tag: go1.22.3
Upstream commit: adbfb672

Commit authored by Packit automation (https://packit.dev/)
2024-05-08 13:29:19 +00:00
Alejandro Sáez
73e84ae14e [packit] 1.22.2 upstream release
Upstream tag: go1.22.2
Upstream commit: dddf0ae4
2024-04-04 09:16:43 +02:00
Alejandro Sáez
b67e9be341 [packit] 1.22.2 upstream release
Upstream tag: go1.22.2
Upstream commit: dddf0ae4
2024-04-04 08:54:51 +02:00
Packit
420573b518 Update to 1.22.2 upstream release
- Resolves: rhbz#2272998

Upstream tag: go1.22.2
Upstream commit: dddf0ae4

Commit authored by Packit automation (https://packit.dev/)
2024-04-03 16:33:28 +00:00
Nianqing Yao
636bf2bd56 Fix build on riscv64 2024-03-25 09:38:48 +00:00
losuler
145e523ba3 Improve readability 2024-03-11 11:20:49 +01:00
Alejandro Sáez
06c89f88b1 Update .packit.yaml
While having rules affecting several branches makes the yaml file
smaller, it is way easier to maintain if each branch has their own set
of rules. It's easier to remove old branches, and to avoid issues when
branching out new releases.
2024-03-06 09:21:46 +01:00
Packit
1ada0b2eda [packit] 1.22.1 upstream release
- Resolves rhbz#2267971

Upstream tag: go1.22.1
Upstream commit: db6097f8
2024-03-05 19:44:46 +00:00
Alejandro Sáez
286b935894 Make F38 follow Go 1.21 2024-02-14 18:09:48 +01:00
Packit
a0ae3bce4e [packit] 1.22.0 upstream release
Upstream tag: go1.22.0
Upstream commit: a10e42f2

Skip TestCrashDumpsAllThreads on s390x
2024-02-11 12:10:39 +01:00
Mike Rochefort
31f7d745bf Update to go1.22rc2 2024-01-24 11:54:46 -05:00
Fedora Release Engineering
ba5f452fd6 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-24 15:53:12 +00:00
Fedora Release Engineering
20d9dbe9ec Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-19 23:19:07 +00:00
Alejandro Sáez
180e181d7c Update to go1.22rc1 2024-01-17 14:33:06 +01:00
Packit
168cd43819 [packit] 1.21.6 upstream release
Upstream tag: go1.21.6
Upstream commit: cc85462b
2024-01-15 19:53:59 +00:00
Alejandro Sáez
eb23ad8090 Improve Packit file 2024-01-15 20:45:21 +01:00
Alejandro Sáez
d4bc01547d Update to Go 1.21.5 2023-12-05 20:43:27 +01:00
Mike Rochefort
a68a568a03 Update to Go 1.21.4
Resolves: rhbz#2237954
2023-11-07 13:34:27 -05:00
Alejandro Sáez
5ccb908322 Update to Go 1.21.3
Update the License field to a SPDX compatible license
2023-10-19 14:57:20 +02:00
c34e1b9ade Fix changelog-entry action
Actions don't run in a shell, so in order to expand the environment
variable it is necessary to wrap the command in a shell invocation.

Signed-off-by: Nikola Forró <nforro@redhat.com>
2023-10-19 08:58:30 +00:00
Alejandro Sáez
03f41c1422 Remove --no-clean
Resolves: rhbz#2087997
2023-09-19 14:49:23 +02:00
Alejandro Sáez
105f2a9830 Update to Go 1.21.1 2023-09-07 11:51:28 +02:00
Alejandro Sáez
e1a400ab5f Fix missing go.env file 2023-08-17 13:28:42 +02:00
Alejandro Sáez
aa53b9e68a Add go.env patch 2023-08-16 07:09:23 +02:00
Alejandro Sáez
07b554ff58 Update to Go 1.21.0
In the previous PackIt attempt, the sources were not properly updated.
Fix Version field
Remove 0001-Disable-Google-s-proxy-sumdb-and-toolchain.patch
Remove baserelease macro
Update bundled-deps.sh to follow the versioning guidelines
2023-08-09 13:20:25 +02:00
Alejandro Sáez
d97cfae677 Convert to %autorelease and %autochangelog
[skip changelog]
2023-08-09 12:39:49 +02:00
Packit
01fdcc74fa [packit] 1.21.0 upstream release
Upstream tag: go1.21.0
Upstream commit: c19c4c56

If you need to do any change in this pull request, you need to locally fetch the source branch of it and push it (with a fix) to your fork (as it is not possible to push to the branch created in the Packit’s fork):
```
git fetch https://src.fedoraproject.org/forks/packit/rpms/golang.git refs/heads/*:refs/remotes/packit/*
git checkout packit/1.21.0-rawhide-update-pull_from_upstream
```
2023-08-08 20:24:26 +00:00
Fedora Release Engineering
ef087d2f00 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 00:00:57 +00:00
Alejandro Sáez
3fe4f3f05f 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
2023-07-14 18:20:36 +02:00
Alejandro Sáez
3a84733de2 Add go-filesystem
Resolves: rhbz#2172392
2023-07-14 18:17:12 +02:00
Mike Rochefort
000f8bc4ad Update to go1.20.6 2023-07-12 17:38:11 +00:00
Alejandro Sáez
87e6c7679f Update Packit message 2023-07-12 16:25:49 +02:00
Alejandro Sáez
6b31c3a40d Use upstream_tag_template: go{version} 2023-07-12 13:07:05 +02:00
Alejandro Sáez
3a48889bae Add upstream_ref 2023-07-12 12:13:26 +02:00
Alejandro Sáez
f47a47a757 Add .packit.yaml 2023-07-12 11:41:28 +02:00
18 changed files with 304 additions and 443 deletions

58
.gitignore vendored
View file

@ -133,43 +133,45 @@
/go1.20.3.src.tar.gz
/go1.20.4.src.tar.gz
/go1.20.5.src.tar.gz
/go1.20.5-1-openssl-fips.tar.gz
/go1.20.4-3-openssl-fips.tar.gz
/go1.20.5-2-openssl-fips.tar.gz
/go1.20.6.src.tar.gz
/go1.20.6-1-openssl-fips.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.3-1-openssl-fips.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.1-1-openssl-fips.tar.gz
/go1.22.1-2-openssl-fips.tar.gz
/go1.22.2.src.tar.gz
/go1.22.2-1-openssl-fips.tar.gz
/go1.22.3.src.tar.gz
/go1.22.3-1-openssl-fips.tar.gz
/go1.22.3-2-openssl-fips.tar.gz
/go1.22.3-3-openssl-fips.tar.gz
/go1.22.4.src.tar.gz
/go1.22.4-1-openssl-fips.tar.gz
/go1.22.5.src.tar.gz
/go1.22.5-1-openssl-fips.tar.gz
/go1.22.5-2-openssl-fips.tar.gz
/go1.23.1-1-openssl-fips.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.6.src.tar.gz
/go1.23.6-1-openssl-fips.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.3-1-openssl-fips.tar.gz
/compiler-rt-18.1.8.src.tar.xz
/go1.24.3-2-openssl-fips.tar.gz
/go1.24.3-3-openssl-fips.tar.gz
/go1.24.4.src.tar.gz
/go1.24.4-1-openssl-fips.tar.gz
/go1.24.6.src.tar.gz
/go1.24.6-1-openssl-fips.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.0-1-openssl-fips.tar.gz
/go1.25.1-1-openssl-fips.tar.gz
/go1.25.1.src.tar.gz
/go1.25.2.src.tar.gz
/go1.25.3.src.tar.gz
/go1.25.3-1-openssl-fips.tar.gz
/go1.25.4.src.tar.gz
/go1.25.5.src.tar.gz
/go1.26rc1.src.tar.gz

41
.packit.yaml Normal file
View file

@ -0,0 +1,41 @@
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_tag_template: go{version}
actions:
changelog-entry:
- 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.+"
# 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
# Create Bodhi updates in all Fedora stable versions
- job: bodhi_update
trigger: commit
dist_git_branches: fedora-all

View file

@ -1,31 +1,42 @@
From fbcfe983cdeb723420d67364022fc91ac8c6be3c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= <asm@redhat.com>
Date: Wed, 5 Jun 2024 12:30:46 +0200
Subject: [PATCH] Modify environment variables defaults
From 39432f71436c41201450a523dc41035c92d27569 Mon Sep 17 00:00:00 2001
From: Maxwell G <maxwell@gtmx.me>
Date: Thu, 24 Jul 2025 12:23:59 -0500
Subject: [PATCH] Modify go.env
- Set GOTOOLCHAIN to local
- Set GOAMD64 to v3
- Set GOPPC64 to power9
---
go.env | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
go.env | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/go.env b/go.env
index 6ff2b921d4..0bff84446c 100644
index 6ff2b92..5508440 100644
--- a/go.env
+++ b/go.env
@@ -9,4 +9,10 @@ GOSUMDB=sum.golang.org
@@ -4,9 +4,24 @@
# 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
# 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
+
+# The AMD64 baseline for RHEL10 is v3.
+GOAMD64=v3
+# The PPC64LE baseline for RHEL10 is power9
+GOPPC64=power9
+
+# 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.45.1
2.50.1

View file

@ -0,0 +1,28 @@
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

3
README.packit Normal file
View file

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

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,7 +16,14 @@
# 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:")"
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:" |
sed '/= .*/s/-/./g')"
done
echo -e "$provides" | sed 's/-/./g' | sort -u

View file

@ -1,26 +1,28 @@
* Thu Sep 28 2023 Alejandro Sáez <asm@redhat.com> - 1.20.6-3
- Migrated to SPDX license
* Tue Aug 08 2023 Packit <hello@packit.dev> - 1.21.0-1
New release ${PACKIT_PROJECT_VERSION}
* Tue Sep 05 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.20.6-2
- Drop unused pcre dependency
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.21~rc3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Aug 01 2023 Alejandro Sáez <asm@redhat.com> - 1.20.6-1
* 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 Jul 11 2023 Mike Rochefort <mroche@omenos.dev> - 1.20.6-1
- Update to go 1.20.6
* Wed Jun 28 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.20.5-4
- Add go-toolset subpackage
* Thu Jun 22 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.20.5-3
- Add runtime requirement for openssl-devel
* Wed Jun 14 2023 Alejandro Sáez <asm@redhat.com> - 1.20.5-2
- Package bump up do to a mistake I made
* Wed Jun 14 2023 Alejandro Sáez <asm@redhat.com> - 1.20.5-1
- Update to go1.20.5
* Tue Jun 13 2023 Alejandro Sáez <asm@redhat.com> - 1.20.4-3
- Add FIPS support for RHEL targets
* Tue Jun 06 2023 Alejandro Sáez <asm@redhat.com> - 1.20.5-1
- Update to go 1.20.5
* Tue May 02 2023 Alejandro Sáez <asm@redhat.com> - 1.20.4-1
- Update to go1.20.4

View file

@ -1,7 +1,6 @@
//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.

View file

@ -0,0 +1,25 @@
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

@ -17,11 +17,3 @@ product_versions:
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1-tmt-aarch64.functional}
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1-tmt-ppc64le.functional}
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1-tmt-x86_64.functional}

View file

@ -1,3 +0,0 @@
# there are ELF files in src which are testdata and shouldn't be modified
-b /usr/lib/golang/src
-b /usr/lib64/golang/src

View file

@ -1,19 +1,4 @@
%bcond_with bootstrap
# temporalily ignore test failures
# due to https://github.com/golang/go/issues/39466
%ifarch aarch64
%bcond_without ignore_tests
%else
%bcond_with ignore_tests
%endif
# Enable race by default
%global race 1
# Disable race on riscv64 as it's not supported
%ifarch riscv64
%global race 0
%endif
# build ids are not currently generated:
# https://code.google.com/p/go/issues/detail?id=5238
@ -46,13 +31,6 @@
# Golang build options.
# Disable FIPS by default
%global fips 0
# Enable FIPS by default in RHEL
%if 0%{?rhel}
%global fips 1
%endif
# Build golang using external/internal(close to cgo disabled) linking.
%ifarch %{ix86} x86_64 ppc64le %{arm} aarch64 s390x riscv64
%global external_linker 1
@ -81,8 +59,16 @@
%global fail_on_tests 1
%endif
# shared mode is breaks Go 1.21 in ELN
# Build golang shared objects for stdlib
%ifarch %{ix86} x86_64 ppc64le %{arm} aarch64
%global shared 1
%else
%global shared 0
%endif
# Pre build std lib with -race enabled
# Disabled due to 1.20 new cache usage, see 1.20 upstream release notes
%global race 0
# Fedora GOROOT
%global goroot /usr/lib/%{name}
@ -112,40 +98,24 @@
%global gohostarch riscv64
%endif
%global go_api 1.25
# Use only for prerelease versions
#global go_prerelease rc3
%global go_patch 3
# Comment out go_prerelease and go_patch as needed
%global go_api 1.26
%global go_prerelease rc1
#global go_patch 1
%global go_version %{go_api}%{?go_patch:.%{go_patch}}%{?go_prerelease:~%{go_prerelease}}
%global go_source %{go_api}%{?go_patch:.%{go_patch}}%{?go_prerelease}
# Go FIPS package release
%global pkg_release 1
# For rpmdev-bumpspec and releng automation.
%global baserelease 1
# LLVM compiler-rt version for race detector
%global llvm_compiler_rt_version 18.1.8
Name: golang
Version: %{go_version}
Version: %{go_version}
Release: %autorelease
Summary: The Go Programming Language
# source tree includes several copies of Mark.Twain-Tom.Sawyer.txt under Public Domain
License: BSD-3-Clause AND LicenseRef-Fedora-Public-Domain
URL: https://go.dev
Source0: https://go.dev/dl/go%{go_source}.src.tar.gz
# Go's FIPS mode bindings are now provided as a standalone
# module instead of in tree. This makes it easier to see
# the actual changes vs upstream Go. The module source is
# located at https://github.com/golang-fips/openssl-fips,
# And pre-genetated patches to set up the module for a given
# Go release are located at https://github.com/golang-fips/go.
# making a source conditional creates odd behaviors so for now, include FIPS always
Source1: https://github.com/golang-fips/go/archive/refs/tags/go%{go_source}-%{pkg_release}-openssl-fips.tar.gz
# make possible to override default traceback level at build time by setting build tag rpm_crashtraceback
Source2: fedora.go
Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{llvm_compiler_rt_version}/compiler-rt-%{llvm_compiler_rt_version}.src.tar.xz
Source1: fedora.go
# The compiler is written in Go. Needs go(1.4+) compiler for build.
%if !%{golang_bootstrap}
@ -153,66 +123,41 @@ BuildRequires: gcc-go >= 5
%else
BuildRequires: golang > 1.4
%endif
# Install hostname(1) or net-tools(1) depending on the OS version
%if 0%{?rhel} > 6 || 0%{?fedora} > 0
BuildRequires: hostname
%else
BuildRequires: net-tools
%endif
# If FIPS is enabled, we need openssl-devel
%if %{fips}
BuildRequires: openssl-devel
Requires: openssl-devel
%endif
BuildRequires: glibc-static
# For running the tests on Fedora
%if 0%{?fedora}
BuildRequires: perl-interpreter, procps-ng
%endif
# For running the tests on RHEL
%if 0%{?rhel}
BuildRequires: perl
%endif
# For building llvm address sanitizer for Go race detector
BuildRequires: libstdc++-devel
BuildRequires: clang
# for tests
BuildRequires: pcre2-devel, glibc-static, perl-interpreter, procps-ng
Provides: go = %{version}-%{release}
%if 0%{?fedora}
# 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.20250208200701.d0013a598941
Provides: bundled(golang(github.com/ianlancetaylor/demangle)) = 0.0.0.20240912202439.0a2b6291aafd
Provides: bundled(golang(golang.org/x/arch)) = 0.18.1.0.20250605182141.b2f4e2807dec
Provides: bundled(golang(golang.org/x/build)) = 0.0.0.20250606033421.8c8ff6f34a83
Provides: bundled(golang(golang.org/x/crypto)) = 0.39.0
Provides: bundled(golang(golang.org/x/mod)) = 0.25.0
Provides: bundled(golang(golang.org/x/net)) = 0.41.0
Provides: bundled(golang(golang.org/x/sync)) = 0.15.0
Provides: bundled(golang(golang.org/x/sys)) = 0.33.0
Provides: bundled(golang(golang.org/x/telemetry)) = 0.0.0.20250606142133.60998feb31a8
Provides: bundled(golang(golang.org/x/term)) = 0.32.0
Provides: bundled(golang(golang.org/x/text)) = 0.26.0
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.34.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
%endif
Requires: %{name}-bin = %{version}-%{release}
Requires: %{name}-src = %{version}-%{release}
%if %{race}
Requires: %{name}-race = %{version}-%{release}
%endif
Requires: go-filesystem
Patch1: 0001-Modify-go.env.patch
Patch5: 0005-Skip-TestCrashDumpsAllThreads.patch
Patch6: 0006-Default-to-ld.bfd-on-ARM64.patch
# Related: https://sourceware.org/bugzilla/show_bug.cgi?id=33204
Patch7: revert_dwarf5.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
# Having documentation separate was broken
Obsoletes: %{name}-docs < 1.1-4
@ -224,11 +169,14 @@ Obsoletes: %{name}-data < 1.1.1-4
Obsoletes: %{name}-vim < 1.4
Obsoletes: emacs-%{name} < 1.4
# We stopped building the golang-race subpackage, so we need to to maintain the
# update path.
Obsoletes: golang-race < 1.20~rc3-2
# These are the only RHEL/Fedora architectures that we compile this package for
ExclusiveArch: %{golang_arches}
Source100: golang-gdbinit
Source101: golang-prelink.conf
%description
%{summary}.
@ -304,11 +252,8 @@ Requires(preun): %{_sbindir}/update-alternatives
# This is an odd issue, still looking for a better fix.
Requires: glibc
Requires: gcc
%if 0%{?rhel} && 0%{?rhel} < 8
Requires: git, subversion, mercurial
%else
Recommends: git, subversion, mercurial
%endif
Recommends: git-core, subversion, mercurial
%description bin
%{summary}
@ -330,104 +275,27 @@ Summary: Golang shared object libraries
%{summary}.
%endif
%package -n go-toolset
Summary: Package that installs go-toolset
Requires: %{name} = %{version}-%{release}
%ifarch x86_64 aarch64 ppc64le
Requires: delve
%endif
%description -n go-toolset
This is the main package for go-toolset.
%if %{race}
%package race
Summary: Race detetector library object files.
%package race
Summary: Golang std library with -race enabled
Requires: %{name} = %{version}-%{release}
%description race
Binary library objects for Go's race detector.
%{summary}
%endif
%prep
%autosetup -p1 -n go
# Copy fedora.go to ./src/runtime/
cp %{SOURCE2} ./src/runtime/
sed -i '1s/$/ (%{?rhel:Red Hat} %{version}-%{release})/' VERSION
# Delete the bundled race detector objects.
find ./src/runtime/race/ -name "race_*.syso" -exec rm {} \;
# Delete the boring binary blob. We use the system OpenSSL instead.
rm -rf src/crypto/internal/boring/syso
# If FIPS is enabled, install the FIPS source
%if %{fips}
echo "Preparing FIPS patches"
pushd ..
tar -xf %{SOURCE1}
popd
# TODO Check here, this is failing due to the external linker flag? maybe, but it's clearly related to that according tho this commit:
# https://github.com/golang-fips/go/blob/main/patches/000-initial-setup.patch#L48
# Add --no-backup-if-mismatch option to avoid creating .orig temp files
patch_dir="../go-go%{version}-%{pkg_release}-openssl-fips/patches"
for p in "$patch_dir"/*.patch; do
echo "Applying $p"
patch --no-backup-if-mismatch -p1 < $p
done
# Configure crypto tests
echo "Configure crypto tests"
pushd ../go-go%{version}-%{pkg_release}-openssl-fips
ln -s ../go go
./scripts/configure-crypto-tests.sh
popd
%endif
cp %{SOURCE1} ./src/runtime/
%build
# -x: print commands as they are executed
# -e: exit immediately if a command exits with a non-zero status
set -xe
# print out system information
uname -a
cat /proc/cpuinfo
cat /proc/meminfo
# Build race detector .syso's from llvm sources
# The race detector requests a -fno-exceptions build.
%global tsan_buildflags %(rpm -D 'toolchain clang' -E '%{optflags}' | sed 's/-fexceptions//')
%global tsan_optflag -O1
mkdir ../llvm
tar -xf %{SOURCE3} -C ../llvm
tsan_go_dir="../llvm/compiler-rt-%{llvm_compiler_rt_version}.src/lib/tsan/go"
# The script uses uname -a and grep to set the GOARCH. This
# is unreliable and can get the wrong architecture in
# circumstances like cross-architecture emulation. We fix it
# by just reading GOARCH directly from Go.
export GOARCH=$(go env GOARCH)
%if %{race}
%ifarch x86_64
pushd "${tsan_go_dir}"
CFLAGS="%{tsan_buildflags} %{tsan_optflag}" CC=clang GOAMD64=v3 ./buildgo.sh
popd
cp "${tsan_go_dir}"/race_linux_amd64.syso ./src/runtime/race/internal/amd64v3/race_linux.syso
pushd "${tsan_go_dir}"
CFLAGS="%{tsan_buildflags} %{tsan_optflag}" CC=clang GOAMD64=v3 ./buildgo.sh
popd
cp "${tsan_go_dir}"/race_linux_amd64.syso ./src/runtime/race/internal/amd64v1/race_linux.syso
%else
pushd "${tsan_go_dir}"
CFLAGS="%{tsan_buildflags} %{tsan_optflag}" CC=clang ./buildgo.sh
popd
cp "${tsan_go_dir}"/race_linux_%{gohostarch}.syso ./src/runtime/race/race_linux_%{gohostarch}.syso
%endif
%endif
# bootstrap compiler GOROOT
%if !%{golang_bootstrap}
export GOROOT_BOOTSTRAP=/
@ -440,8 +308,6 @@ export GOROOT_FINAL=%{goroot}
export GOHOSTOS=linux
export GOHOSTARCH=%{gohostarch}
export GOAMD64=v3
export GOPPC64='power9'
pushd src
# use our gcc options for this build, but store gcc as default for compiler
@ -451,24 +317,13 @@ export CC="gcc"
export CC_FOR_TARGET="gcc"
export GOOS=linux
export GOARCH=%{gohostarch}
export GOAMD64=v3
export GOPPC64='power9'
DEFAULT_GO_LD_FLAGS=""
%if !%{external_linker}
export GO_LDFLAGS="-linkmode internal $DEFAULT_GO_LD_FLAGS"
%else
# Only pass a select subset of the external hardening flags. We do not pass along
# the default $RPM_LD_FLAGS as on certain arches Go does not fully, correctly support
# building in PIE mode.
export GO_LDFLAGS="\"-extldflags=-Wl,-z,now,-z,relro\" $DEFAULT_GO_LD_FLAGS"
export GO_LDFLAGS="-linkmode internal"
%endif
%if !%{cgo_enabled}
export CGO_ENABLED=0
%endif
./make.bash --no-clean -v
./make.bash -v
popd
# build shared std lib
@ -477,10 +332,11 @@ GOROOT=$(pwd) PATH=$(pwd)/bin:$PATH go install -buildmode=shared -v -x std
%endif
%if %{race}
GOROOT=$(pwd) PATH=$(pwd)/bin:$PATH go install -race std
GOROOT=$(pwd) PATH=$(pwd)/bin:$PATH go install -race -v -x std
%endif
%install
echo "== 1 =="
rm -rf $RPM_BUILD_ROOT
# remove GC build cache
rm -rf pkg/obj/go-build/*
@ -493,7 +349,7 @@ mkdir -p $RPM_BUILD_ROOT%{goroot}
# https://code.google.com/p/go/issues/detail?id=5830
cp -apv api bin doc lib pkg src misc test go.env VERSION \
$RPM_BUILD_ROOT%{goroot}
echo "== 2 =="
# bz1099206
find $RPM_BUILD_ROOT%{goroot}/src -exec touch -r $RPM_BUILD_ROOT%{goroot}/VERSION "{}" \;
# and level out all the built archives
@ -510,11 +366,8 @@ docs_list=$cwd/go-docs.list
tests_list=$cwd/go-tests.list
rm -f $src_list $pkg_list $docs_list $misc_list $tests_list $shared_list $race_list
touch $src_list $pkg_list $docs_list $misc_list $tests_list $shared_list $race_list
##################
# Register files #
##################
pushd $RPM_BUILD_ROOT%{goroot}
echo "== 3 =="
find src/ -type d -a \( ! -name testdata -a ! -ipath '*/testdata/*' \) -printf '%%%dir %{goroot}/%p\n' >> $src_list
find src/ ! -type d -a \( ! -ipath '*/testdata/*' -a ! -name '*_test.go' \) -printf '%{goroot}/%p\n' >> $src_list
@ -528,6 +381,7 @@ pushd $RPM_BUILD_ROOT%{goroot}
find misc/ ! -type d -printf '%{goroot}/%p\n' >> $misc_list
%if %{shared}
echo "== 4 =="
mkdir -p %{buildroot}/%{_libdir}/
mkdir -p %{buildroot}/%{golibdir}/
for file in $(find . -iname "*.so" ); do
@ -543,6 +397,13 @@ pushd $RPM_BUILD_ROOT%{goroot}
find pkg/*_dynlink/ -type d -printf '%%%dir %{goroot}/%p\n' >> $shared_list
find pkg/*_dynlink/ ! -type d -printf '%{goroot}/%p\n' >> $shared_list
%endif
echo "== 5 =="
%if %{race}
find pkg/*_race/ -type d -printf '%%%dir %{goroot}/%p\n' >> $race_list
find pkg/*_race/ ! -type d -printf '%{goroot}/%p\n' >> $race_list
%endif
find test/ -type d -printf '%%%dir %{goroot}/%p\n' >> $tests_list
find test/ ! -type d -printf '%{goroot}/%p\n' >> $tests_list
find src/ -type d -a \( -name testdata -o -ipath '*/testdata/*' \) -printf '%%%dir %{goroot}/%p\n' >> $tests_list
@ -551,6 +412,7 @@ pushd $RPM_BUILD_ROOT%{goroot}
find lib/ -type d -printf '%%%dir %{goroot}/%p\n' >> $tests_list
find lib/ ! -type d -printf '%{goroot}/%p\n' >> $tests_list
popd
echo "== 6 =="
# remove the doc Makefile
rm -rfv $RPM_BUILD_ROOT%{goroot}/doc/Makefile
@ -565,7 +427,7 @@ mkdir -p $RPM_BUILD_ROOT%{gopath}/src/github.com
mkdir -p $RPM_BUILD_ROOT%{gopath}/src/bitbucket.org
mkdir -p $RPM_BUILD_ROOT%{gopath}/src/code.google.com/p
mkdir -p $RPM_BUILD_ROOT%{gopath}/src/golang.org/x
echo "== 7 =="
# make sure these files exist and point to alternatives
rm -f $RPM_BUILD_ROOT%{_bindir}/go
ln -sf /etc/alternatives/go $RPM_BUILD_ROOT%{_bindir}/go
@ -576,79 +438,45 @@ ln -sf /etc/alternatives/gofmt $RPM_BUILD_ROOT%{_bindir}/gofmt
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/gdbinit.d
cp -av %{SOURCE100} $RPM_BUILD_ROOT%{_sysconfdir}/gdbinit.d/golang.gdb
# prelink blacklist
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/prelink.conf.d
cp -av %{SOURCE101} $RPM_BUILD_ROOT%{_sysconfdir}/prelink.conf.d/golang.conf
%if %{fips}
# Quick fix for the rhbz#2014704
sed -i 's/const defaultGO_LDSO = `.*`/const defaultGO_LDSO = ``/' $RPM_BUILD_ROOT%{goroot}/src/internal/buildcfg/zbootstrap.go
%endif
echo "== END OF INSTALL =="
%check
export GOROOT=$(pwd -P)
export PATH="$GOROOT"/bin:"$PATH"
cd src
# Add some sanity checks.
echo "GO VERSION:"
go version
echo "GO ENVIRONMENT:"
go env
export CC="gcc"
export CFLAGS="$RPM_OPT_FLAGS"
export LDFLAGS="$RPM_LD_FLAGS"
export GOAMD64=v3
export GOPPC64='power9'
%if !%{external_linker}
export GO_LDFLAGS="-linkmode internal"
%else
export GO_LDFLAGS="-extldflags '$RPM_LD_FLAGS'"
%endif
%if !%{cgo_enabled} || !%{external_linker}
export CGO_ENABLED=0
%endif
# workaround for https://github.com/golang/go/issues/39466 until it gests fixed
# Commented until the patch is ready, this workaround suggested in the link above
# doesn't work properly
#ifarch aarch64
#export CGO_CFLAGS="-mno-outline-atomics"
#endif
# make sure to not timeout
%ifnarch riscv64
export GO_TEST_TIMEOUT_SCALE=2
export GO_TEST_RUN=""
%ifarch aarch64
export GO_TEST_RUN="-run=!testshared"
%endif
echo "=== Start testing ==="
%if %{fail_on_tests}
./run.bash --no-rebuild -v -v -v -k $GO_TEST_RUN
%if %{fips}
echo "=== Running FIPS tests ==="
# tested25519vectors needs network connectivity but it should be cover by
# this test https://pkgs.devel.redhat.com/cgit/tests/golang/tree/regression/internal-testsuite/runtest.sh#n127
# run tests with fips enabled.
export GOLANG_FIPS=1
export OPENSSL_FORCE_FIPS_MODE=1
echo "=== Run all crypto test skipping tls ==="
pushd crypto
# run all crypto tests but skip tls, we will run fips specific tls tests later
go test $(go list ./... | grep -v tls) -v -skip="TestEd25519Vectors|TestACVP"
# check that signature functions have parity between boring and notboring
CGO_ENABLED=0 go test $(go list ./... | grep -v tls) -v -skip="TestEd25519Vectors|TestACVP"
popd
echo "=== Run tls tests ==="
# run all fips specific tls tests
pushd crypto/tls
go test -v -run "Boring"
popd
%endif
%else
./run.bash --no-rebuild -v -v -v -k || :
# 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
%else
./run.bash --no-rebuild -v -v -v -k || :
%endif
echo "=== End testing ==="
cd ..
%post bin
%{_sbindir}/update-alternatives --install %{_bindir}/go \
go %{goroot}/bin/go 90 \
@ -670,6 +498,8 @@ 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}
@ -681,21 +511,11 @@ fi
%dir %{gopath}/src/golang.org
%dir %{gopath}/src/golang.org/x
# gdbinit (for gdb debugging)
%{_sysconfdir}/gdbinit.d
# prelink blacklist
%{_sysconfdir}/prelink.conf.d
%files src -f go-src.list
%if %{race}
%ifarch x86_64
%exclude %{goroot}/src/runtime/race/internal/amd64v1/race_linux.syso
%exclude %{goroot}/src/runtime/race/internal/amd64v3/race_linux.syso
%else
%exclude %{goroot}/src/runtime/race/race_linux_%{gohostarch}.syso
%endif
%endif
%files docs -f go-docs.list
@ -706,24 +526,16 @@ fi
%files bin -f go-pkg.list
%{_bindir}/go
%{_bindir}/gofmt
%{goroot}/go.env
%{goroot}/bin/linux_%{gohostarch}/go
%{goroot}/bin/linux_%{gohostarch}/gofmt
%{goroot}/go.env
%if %{shared}
%files shared -f go-shared.list
%endif
%files -n go-toolset
%if %{race}
%files race
%ifarch x86_64
%{goroot}/src/runtime/race/internal/amd64v1/race_linux.syso
%{goroot}/src/runtime/race/internal/amd64v3/race_linux.syso
%else
%{goroot}/src/runtime/race/race_linux_%{gohostarch}.syso
%endif
%files race -f go-race.list
%endif
%changelog

6
plans/ci.fmf Normal file
View file

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

View file

@ -1,12 +0,0 @@
summary: tier0 tests
discover:
- name: rhel
how: fmf
url: https://gitlab.cee.redhat.com/toolchain-qe/tests/golang.git
filter: "tier:0"
execute:
how: tmt
provision:
hardware:
memory: ">= 4 GB"

View file

@ -1,42 +0,0 @@
From e90ae9076a108b83c645814f75a574c14a5a4b98 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= <asm@redhat.com>
Date: Wed, 27 Aug 2025 16:18:09 +0200
Subject: [PATCH] Revert DWARF5 as default, use DWARF4
---
src/internal/buildcfg/exp.go | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/src/internal/buildcfg/exp.go b/src/internal/buildcfg/exp.go
index 689ca8ce58..b2ea97481b 100644
--- a/src/internal/buildcfg/exp.go
+++ b/src/internal/buildcfg/exp.go
@@ -67,24 +67,13 @@ func ParseGOEXPERIMENT(goos, goarch, goexp string) (*ExperimentFlags, error) {
regabiSupported = true
}
- // Older versions (anything before V16) of dsymutil don't handle
- // the .debug_rnglists section in DWARF5. See
- // https://github.com/golang/go/issues/26379#issuecomment-2677068742
- // for more context. This disables all DWARF5 on mac, which is not
- // ideal (would be better to disable just for cases where we know
- // the build will use external linking). In the GOOS=aix case, the
- // XCOFF format (as far as can be determined) doesn't seem to
- // support the necessary section subtypes for DWARF-specific
- // things like .debug_addr (needed for DWARF 5).
- dwarf5Supported := (goos != "darwin" && goos != "ios" && goos != "aix")
-
baseline := goexperiment.Flags{
RegabiWrappers: regabiSupported,
RegabiArgs: regabiSupported,
AliasTypeParams: true,
SwissMap: true,
SyncHashTrieMap: true,
- Dwarf5: dwarf5Supported,
+ Dwarf5: false,
}
// Start with the statically enabled set of experiments.
--
2.51.0

View file

@ -1,33 +0,0 @@
---
debuginfo:
ignore:
# go binaries gained/contain debugging symbols: expected (rhbz#2175281 rhbz#2175677)
- /usr/lib/golang/bin/gofmt
- /usr/lib/golang/bin/go
- /usr/lib/golang/pkg/tool/linux_*/addr2line
- /usr/lib/golang/pkg/tool/linux_*/asm
- /usr/lib/golang/pkg/tool/linux_*/buildid
- /usr/lib/golang/pkg/tool/linux_*/cgo
- /usr/lib/golang/pkg/tool/linux_*/compile
- /usr/lib/golang/pkg/tool/linux_*/covdata
- /usr/lib/golang/pkg/tool/linux_*/cover
- /usr/lib/golang/pkg/tool/linux_*/dist
- /usr/lib/golang/pkg/tool/linux_*/distpack
- /usr/lib/golang/pkg/tool/linux_*/doc
- /usr/lib/golang/pkg/tool/linux_*/fix
- /usr/lib/golang/pkg/tool/linux_*/link
- /usr/lib/golang/pkg/tool/linux_*/nm
- /usr/lib/golang/pkg/tool/linux_*/objdump
- /usr/lib/golang/pkg/tool/linux_*/pack
- /usr/lib/golang/pkg/tool/linux_*/pprof
- /usr/lib/golang/pkg/tool/linux_*/preprofile
- /usr/lib/golang/pkg/tool/linux_*/test2json
- /usr/lib/golang/pkg/tool/linux_*/trace
- /usr/lib/golang/pkg/tool/linux_*/vet
# rpminspect: preprofile in golang package contains debugging symbols (RHEL-61237)
- /usr/lib/golang/pkg/tool/linux_*/preprofile
# go testdata
- /usr/lib/golang/src/debug/dwarf/testdata/*.elf
- /usr/lib/golang/src/debug/dwarf/testdata/*.elf5
- /usr/lib/golang/src/debug/elf/testdata/*
- /usr/lib/golang/src/runtime/pprof/testdata/*

25
skip_lsan_tests.patch Normal file
View file

@ -0,0 +1,25 @@
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,3 +1 @@
SHA512 (go1.25.3.src.tar.gz) = 91d32bbff864c06b5ee7b914d3d95c59462352a4c395adba85eaab72704a8aa4d19ac2a361ed64774dce3c8e01a8d4feadf1a788814f6d7b4072a3bdfefbb3b4
SHA512 (go1.25.3-1-openssl-fips.tar.gz) = 4eb308049af031123a8d9745ced4d3d296362b8a5a65cef9542841ce880b0c1e682476f70291192d7ddf7a006bb65f5672019d2508216a448eaeca026402b45c
SHA512 (compiler-rt-18.1.8.src.tar.xz) = fb8795bd51c9b005c2ad1975591e9e2715740d6407ccad41379f136ef2e8d24ded8b97b01165a3ae4bd377119a6a1049ca05d3220404fc12bee86114ff2bff0d
SHA512 (go1.26rc1.src.tar.gz) = 6696ee765dcde64b830b14e20a5fdf6324916211bff80a62d0db0cbef58bb0856f02e88e95b2f1a3ad6d9282ebd04a377a0b000d56849576caedbd526c9a7923