Compare commits
93 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
30f6caf69b | ||
|
|
102c91d7b1 | ||
|
|
d9efef266e | ||
|
|
7f14ad762b | ||
|
|
abe2807b6d | ||
|
|
ff6333f2c1 | ||
|
|
4a9bd423ee | ||
|
|
5d71cf066b | ||
|
|
5180b46602 | ||
|
|
4479594a30 | ||
|
|
e2a58b1cf3 | ||
|
|
c1d0accc88 | ||
|
|
56d6b65b5b | ||
|
|
d0bdcaaac7 | ||
|
|
ecc9df192f | ||
|
|
1a696ebca1 |
||
|
|
dc534e467c | ||
|
|
8afc7c4228 | ||
|
|
7d06f9cac2 | ||
|
|
7711622737 | ||
|
|
5d3dfa13bf | ||
|
|
fe8033479f | ||
|
|
9be033775a | ||
|
|
ad2442f5a0 | ||
|
|
782a531812 | ||
|
|
ac1089821f | ||
|
|
6483580d3f | ||
|
|
bfa1718f05 | ||
|
|
d02739b52d | ||
|
|
9fdfa10de7 | ||
|
|
a5f7a9b770 | ||
|
|
38634fa123 | ||
|
|
d60b1a1b18 | ||
|
|
5b44ac9a9d | ||
|
|
31bbb1cda0 | ||
|
|
f423a13953 | ||
|
|
5f0561a120 | ||
|
|
b06cd97cc3 | ||
|
|
7ca0d2e749 | ||
|
|
bc105c11fb | ||
|
|
56fb3337e3 | ||
|
|
4310f1b21b | ||
|
|
1355105706 | ||
|
|
e173be4ed8 | ||
|
|
502fcb8295 | ||
|
|
cde14f05d1 | ||
|
|
ddb1900637 | ||
|
|
9575176dd0 | ||
|
|
3627d737b3 | ||
|
|
f6ac8e28fb | ||
|
|
45353bf1e5 | ||
|
|
3c46e5bedc | ||
|
|
f19fb05ec5 | ||
|
|
33fa330954 | ||
|
|
a867bd88a6 | ||
|
|
44b6a2d47f | ||
|
|
5bc82c18bd | ||
|
|
5eba855ef3 | ||
|
|
38cadf47cd | ||
|
|
73e84ae14e | ||
|
|
b67e9be341 | ||
|
|
420573b518 | ||
|
|
636bf2bd56 | ||
|
|
145e523ba3 | ||
|
|
06c89f88b1 | ||
|
|
1ada0b2eda | ||
|
|
286b935894 | ||
|
|
a0ae3bce4e | ||
|
|
31f7d745bf | ||
|
|
ba5f452fd6 | ||
|
|
20d9dbe9ec | ||
|
|
180e181d7c | ||
|
|
168cd43819 | ||
|
|
eb23ad8090 | ||
|
|
d4bc01547d | ||
|
|
a68a568a03 | ||
|
|
5ccb908322 | ||
| c34e1b9ade | |||
|
|
03f41c1422 | ||
|
|
105f2a9830 | ||
|
|
e1a400ab5f | ||
|
|
aa53b9e68a | ||
|
|
07b554ff58 | ||
|
|
d97cfae677 | ||
|
|
01fdcc74fa | ||
|
|
ef087d2f00 | ||
|
|
3fe4f3f05f | ||
|
|
3a84733de2 | ||
|
|
000f8bc4ad | ||
|
|
87e6c7679f | ||
|
|
6b31c3a40d | ||
|
|
3a48889bae | ||
|
|
f47a47a757 |
18 changed files with 304 additions and 443 deletions
58
.gitignore
vendored
58
.gitignore
vendored
|
|
@ -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
41
.packit.yaml
Normal 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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
28
0005-Skip-TestCrashDumpsAllThreads.patch
Normal file
28
0005-Skip-TestCrashDumpsAllThreads.patch
Normal 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
3
README.packit
Normal 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.
|
||||
|
|
@ -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
|
||||
|
|
|
|||
40
changelog
40
changelog
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
25
fix_cgo_panic-with-gcc15-in-368.patch
Normal file
25
fix_cgo_panic-with-gcc15-in-368.patch
Normal 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
|
||||
|
||||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
360
golang.spec
360
golang.spec
|
|
@ -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
6
plans/ci.fmf
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
summary: CI Gating Plan
|
||||
discover:
|
||||
how: fmf
|
||||
url: https://src.fedoraproject.org/tests/golang
|
||||
execute:
|
||||
how: tmt
|
||||
|
|
@ -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"
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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
25
skip_lsan_tests.patch
Normal 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
|
||||
4
sources
4
sources
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue