Compare commits
54 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b75244f94c | ||
|
|
1485df0826 | ||
|
|
c545c23036 | ||
|
|
890360e761 | ||
|
|
b47ae17361 | ||
|
|
4f9820fb7d | ||
|
|
3066666ea7 | ||
|
|
03fbcc2bbb | ||
|
|
f670590afa | ||
|
|
7644c91fd3 | ||
|
|
219dd9ed5e | ||
|
|
013a5af5d9 | ||
|
|
5fc3d1e8dd | ||
|
|
3384374ae9 | ||
|
|
31c25147e5 | ||
|
|
8b495d34ee | ||
|
|
48a15bc7cd | ||
|
|
722ee741c0 | ||
|
|
44fd4cad7e | ||
|
|
2f186c5400 | ||
|
|
9d532e69fa | ||
|
|
4c1b87cc27 | ||
|
|
9ad1a464ad | ||
|
|
dbc9518e2b | ||
|
|
7b3d933eb2 | ||
|
|
4e661dba18 | ||
|
|
94916d7b59 | ||
|
|
0a2871b104 | ||
|
|
3de7cf0394 | ||
|
|
1b54720e99 | ||
|
|
fff4ad9ce8 | ||
|
|
64ba02b281 | ||
|
|
c9d6351079 | ||
|
|
aa99fe1654 | ||
|
|
d4d71947ad | ||
|
|
6cd70a81da | ||
|
|
4c5ee73cdc | ||
|
|
b0a81b3e63 | ||
|
|
b3c52a9541 | ||
|
|
09ec712f35 | ||
|
|
029e177678 | ||
|
|
887c3dbef0 | ||
|
|
21dcfead0c | ||
|
|
335d81de5f | ||
|
|
7dae2191e8 | ||
|
|
0465580ff3 | ||
|
|
78332dc19c | ||
|
|
7fa9965761 | ||
|
|
5261403362 | ||
|
|
8dc9a335dc | ||
|
|
2689cc83bc | ||
|
|
ecfc7ce021 | ||
|
|
c1db21c4b9 | ||
|
|
069f0dcbce |
18 changed files with 443 additions and 304 deletions
58
.gitignore
vendored
58
.gitignore
vendored
|
|
@ -133,45 +133,43 @@
|
|||
/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.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.20.6-1-openssl-fips.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.21.3-1-openssl-fips.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.23rc1.src.tar.gz
|
||||
/go1.23rc2.src.tar.gz
|
||||
/go1.23.0.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.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.23.6.src.tar.gz
|
||||
/go1.23.6-1-openssl-fips.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.5.src.tar.gz
|
||||
/go1.25rc1.src.tar.gz
|
||||
/go1.25rc2.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.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.4.src.tar.gz
|
||||
/go1.25.5.src.tar.gz
|
||||
/go1.26rc1.src.tar.gz
|
||||
/go1.25.3-1-openssl-fips.tar.gz
|
||||
|
|
|
|||
41
.packit.yaml
41
.packit.yaml
|
|
@ -1,41 +0,0 @@
|
|||
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,42 +1,31 @@
|
|||
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
|
||||
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
|
||||
|
||||
- Set GOTOOLCHAIN to local
|
||||
- Set GOAMD64 to v3
|
||||
- Set GOPPC64 to power9
|
||||
---
|
||||
go.env | 17 ++++++++++++++++-
|
||||
1 file changed, 16 insertions(+), 1 deletion(-)
|
||||
go.env | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/go.env b/go.env
|
||||
index 6ff2b92..5508440 100644
|
||||
index 6ff2b921d4..0bff84446c 100644
|
||||
--- a/go.env
|
||||
+++ b/go.env
|
||||
@@ -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
|
||||
@@ -9,4 +9,10 @@ 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
|
||||
+
|
||||
+# 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
|
||||
+# The AMD64 baseline for RHEL10 is v3.
|
||||
+GOAMD64=v3
|
||||
+# The PPC64LE baseline for RHEL10 is power9
|
||||
+GOPPC64=power9
|
||||
+
|
||||
--
|
||||
2.50.1
|
||||
2.45.1
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
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,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
|
||||
|
|
|
|||
40
changelog
40
changelog
|
|
@ -1,28 +1,26 @@
|
|||
* Tue Aug 08 2023 Packit <hello@packit.dev> - 1.21.0-1
|
||||
New release ${PACKIT_PROJECT_VERSION}
|
||||
* Thu Sep 28 2023 Alejandro Sáez <asm@redhat.com> - 1.20.6-3
|
||||
- Migrated to SPDX license
|
||||
|
||||
* 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 Sep 05 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.20.6-2
|
||||
- Drop unused pcre dependency
|
||||
|
||||
* 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
|
||||
* Tue Aug 01 2023 Alejandro Sáez <asm@redhat.com> - 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
|
||||
* 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 May 02 2023 Alejandro Sáez <asm@redhat.com> - 1.20.4-1
|
||||
- Update to go1.20.4
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
//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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
@ -17,3 +17,11 @@ 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}
|
||||
|
|
|
|||
3
golang-prelink.conf
Normal file
3
golang-prelink.conf
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# 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,4 +1,19 @@
|
|||
%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
|
||||
|
|
@ -31,6 +46,13 @@
|
|||
|
||||
# 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
|
||||
|
|
@ -59,16 +81,8 @@
|
|||
%global fail_on_tests 1
|
||||
%endif
|
||||
|
||||
# Build golang shared objects for stdlib
|
||||
%ifarch %{ix86} x86_64 ppc64le %{arm} aarch64
|
||||
%global shared 1
|
||||
%else
|
||||
# shared mode is breaks Go 1.21 in ELN
|
||||
%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}
|
||||
|
|
@ -98,24 +112,40 @@
|
|||
%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.25
|
||||
# Use only for prerelease versions
|
||||
#global go_prerelease rc3
|
||||
%global go_patch 3
|
||||
%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
|
||||
Source1: fedora.go
|
||||
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
|
||||
|
||||
# The compiler is written in Go. Needs go(1.4+) compiler for build.
|
||||
%if !%{golang_bootstrap}
|
||||
|
|
@ -123,41 +153,66 @@ BuildRequires: gcc-go >= 5
|
|||
%else
|
||||
BuildRequires: golang > 1.4
|
||||
%endif
|
||||
BuildRequires: hostname
|
||||
|
||||
# for tests
|
||||
BuildRequires: pcre2-devel, glibc-static, perl-interpreter, procps-ng
|
||||
# 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
|
||||
|
||||
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.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(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(golang.org/x/tools)) = 0.27.0
|
||||
Provides: bundled(golang(golang.org/x/tools)) = 0.39.1.0.20251205000126.062ef7b6ced2
|
||||
Provides: bundled(golang(golang.org/x/tools)) = 0.34.0
|
||||
Provides: bundled(golang(rsc.io/markdown)) = 0.0.0.20240306144322.0bf8f97ee8ef
|
||||
%endif
|
||||
|
||||
Requires: %{name}-bin = %{version}-%{release}
|
||||
Requires: %{name}-src = %{version}-%{release}
|
||||
Requires: go-filesystem
|
||||
%if %{race}
|
||||
Requires: %{name}-race = %{version}-%{release}
|
||||
%endif
|
||||
|
||||
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
|
||||
# Related: https://sourceware.org/bugzilla/show_bug.cgi?id=33204
|
||||
Patch7: revert_dwarf5.patch
|
||||
|
||||
# Having documentation separate was broken
|
||||
Obsoletes: %{name}-docs < 1.1-4
|
||||
|
|
@ -169,14 +224,11 @@ 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}.
|
||||
|
|
@ -252,8 +304,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}
|
||||
|
||||
|
|
@ -275,27 +330,104 @@ Summary: Golang shared object libraries
|
|||
%{summary}.
|
||||
%endif
|
||||
|
||||
%if %{race}
|
||||
%package race
|
||||
Summary: Golang std library with -race enabled
|
||||
%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.
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description race
|
||||
%{summary}
|
||||
Binary library objects for Go's race detector.
|
||||
%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
|
||||
|
||||
cp %{SOURCE1} ./src/runtime/
|
||||
# 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
|
||||
|
||||
%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=/
|
||||
|
|
@ -308,6 +440,8 @@ 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
|
||||
|
|
@ -317,13 +451,24 @@ 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"
|
||||
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"
|
||||
%endif
|
||||
|
||||
%if !%{cgo_enabled}
|
||||
export CGO_ENABLED=0
|
||||
%endif
|
||||
./make.bash -v
|
||||
|
||||
./make.bash --no-clean -v
|
||||
popd
|
||||
|
||||
# build shared std lib
|
||||
|
|
@ -332,11 +477,10 @@ 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 -v -x std
|
||||
GOROOT=$(pwd) PATH=$(pwd)/bin:$PATH go install -race std
|
||||
%endif
|
||||
|
||||
%install
|
||||
echo "== 1 =="
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
# remove GC build cache
|
||||
rm -rf pkg/obj/go-build/*
|
||||
|
|
@ -349,7 +493,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
|
||||
|
|
@ -366,8 +510,11 @@ 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
|
||||
|
||||
|
|
@ -381,7 +528,6 @@ 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
|
||||
|
|
@ -397,13 +543,6 @@ echo "== 4 =="
|
|||
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
|
||||
|
|
@ -412,7 +551,6 @@ echo "== 5 =="
|
|||
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
|
||||
|
||||
|
|
@ -427,7 +565,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
|
||||
|
|
@ -438,44 +576,78 @@ 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
|
||||
|
||||
echo "== END OF INSTALL =="
|
||||
# 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
|
||||
|
||||
%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
|
||||
%else
|
||||
# NOTE(davidlt): 20 is probably too much, but it's only for riscv and it works
|
||||
export GO_TEST_TIMEOUT_SCALE=20
|
||||
|
||||
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
|
||||
%else
|
||||
./run.bash --no-rebuild -v -v -v -k || :
|
||||
%endif
|
||||
cd ..
|
||||
./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 || :
|
||||
%endif
|
||||
echo "=== End testing ==="
|
||||
cd ..
|
||||
|
||||
%post bin
|
||||
%{_sbindir}/update-alternatives --install %{_bindir}/go \
|
||||
|
|
@ -498,8 +670,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}
|
||||
|
|
@ -511,11 +681,21 @@ 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
|
||||
|
||||
|
|
@ -526,16 +706,24 @@ 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 -f go-race.list
|
||||
%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
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
summary: CI Gating Plan
|
||||
discover:
|
||||
how: fmf
|
||||
url: https://src.fedoraproject.org/tests/golang
|
||||
execute:
|
||||
how: tmt
|
||||
12
plans/tier0.fmf
Normal file
12
plans/tier0.fmf
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
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"
|
||||
42
revert_dwarf5.patch
Normal file
42
revert_dwarf5.patch
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
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
|
||||
|
||||
33
rpminspect.yaml
Normal file
33
rpminspect.yaml
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
---
|
||||
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/*
|
||||
|
|
@ -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
|
||||
4
sources
4
sources
|
|
@ -1 +1,3 @@
|
|||
SHA512 (go1.26rc1.src.tar.gz) = 6696ee765dcde64b830b14e20a5fdf6324916211bff80a62d0db0cbef58bb0856f02e88e95b2f1a3ad6d9282ebd04a377a0b000d56849576caedbd526c9a7923
|
||||
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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue