diff --git a/.gitignore b/.gitignore index a3f90c5..138c231 100644 --- a/.gitignore +++ b/.gitignore @@ -134,3 +134,6 @@ /go1.20.4.src.tar.gz /go1.20.5.src.tar.gz /go1.20.6.src.tar.gz +/go1.21rc1.src.tar.gz +/go1.21rc2.src.tar.gz +/go1.21rc3.src.tar.gz diff --git a/0001-Disable-Google-s-proxy-sumdb-and-toolchain.patch b/0001-Disable-Google-s-proxy-sumdb-and-toolchain.patch new file mode 100644 index 0000000..1000ad8 --- /dev/null +++ b/0001-Disable-Google-s-proxy-sumdb-and-toolchain.patch @@ -0,0 +1,50 @@ +From 34168586ca0af835b5e836b6fe458e2ff23a9820 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= +Date: Tue, 4 Jul 2023 18:12:14 +0200 +Subject: [PATCH] Disable Google's proxy, sumdb and toolchain + +--- + go.env | 6 +++--- + src/cmd/go/testdata/script/mod_sumdb_golang.txt | 6 +++--- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/go.env b/go.env +index 6ff2b921d4..087208cd7c 100644 +--- a/go.env ++++ b/go.env +@@ -4,9 +4,9 @@ + + # Use the Go module mirror and checksum database by default. + # See https://proxy.golang.org for details. +-GOPROXY=https://proxy.golang.org,direct +-GOSUMDB=sum.golang.org ++GOPROXY=direct ++GOSUMDB=off + + # Automatically download newer toolchains as directed by go.mod files. + # See https://go.dev/doc/toolchain for details. +-GOTOOLCHAIN=auto ++GOTOOLCHAIN=local +diff --git a/src/cmd/go/testdata/script/mod_sumdb_golang.txt b/src/cmd/go/testdata/script/mod_sumdb_golang.txt +index 8698412f78..78e8e87700 100644 +--- a/src/cmd/go/testdata/script/mod_sumdb_golang.txt ++++ b/src/cmd/go/testdata/script/mod_sumdb_golang.txt +@@ -2,12 +2,12 @@ + env GOPROXY= + env GOSUMDB= + go env GOPROXY +-stdout '^https://proxy.golang.org,direct$' ++stdout '^direct$' + go env GOSUMDB +-stdout '^sum.golang.org$' ++stdout '^off$' + env GOPROXY=https://proxy.golang.org + go env GOSUMDB +-stdout '^sum.golang.org$' ++stdout '^off$' + + # Download direct from github. + +-- +2.40.1 + diff --git a/0002-syscall-expose-IfInfomsg.X__ifi_pad-on-s390x.patch b/0002-syscall-expose-IfInfomsg.X__ifi_pad-on-s390x.patch deleted file mode 100644 index 5d0970c..0000000 --- a/0002-syscall-expose-IfInfomsg.X__ifi_pad-on-s390x.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 67a4711d09c6595c17f32470c15bf471c287777d Mon Sep 17 00:00:00 2001 -From: Michael Munday -Date: Tue, 17 Jan 2017 11:33:38 -0500 -Subject: [PATCH 2/3] syscall: expose IfInfomsg.X__ifi_pad on s390x - -Exposing this field on s390x improves compatibility with the other -linux architectures, all of which already expose it. - -Fixes #18628 and updates #18632. - -Change-Id: I08e8e1eb705f898cd8822f8bee0d61ce11d514b5 ---- - src/syscall/ztypes_linux_s390x.go | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/src/syscall/ztypes_linux_s390x.go b/src/syscall/ztypes_linux_s390x.go -index 91f5ceff20..59a8b1fccd 100644 ---- a/src/syscall/ztypes_linux_s390x.go -+++ b/src/syscall/ztypes_linux_s390x.go -@@ -449,12 +449,12 @@ type RtAttr struct { - } - - type IfInfomsg struct { -- Family uint8 -- _ uint8 -- Type uint16 -- Index int32 -- Flags uint32 -- Change uint32 -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 - } - - type IfAddrmsg struct { --- -2.26.2 - diff --git a/0003-cmd-go-disable-Google-s-proxy-and-sumdb.patch b/0003-cmd-go-disable-Google-s-proxy-and-sumdb.patch deleted file mode 100644 index fba9713..0000000 --- a/0003-cmd-go-disable-Google-s-proxy-and-sumdb.patch +++ /dev/null @@ -1,48 +0,0 @@ -From fa250374b727439159bc9f203b854bb5df00186f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jakub=20=C4=8Cajka?= -Date: Mon, 27 May 2019 15:12:53 +0200 -Subject: [PATCH 3/3] cmd/go: disable Google's proxy and sumdb - ---- - src/cmd/go/internal/cfg/cfg.go | 4 ++-- - src/cmd/go/testdata/script/mod_sumdb_golang.txt | 6 +++--- - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/cmd/go/internal/cfg/cfg.go b/src/cmd/go/internal/cfg/cfg.go -index 57a3c1ff6f..e56c60e591 100644 ---- a/src/cmd/go/internal/cfg/cfg.go -+++ b/src/cmd/go/internal/cfg/cfg.go -@@ -266,8 +266,8 @@ var ( - GOPPC64 = envOr("GOPPC64", fmt.Sprintf("%s%d", "power", buildcfg.GOPPC64)) - GOWASM = envOr("GOWASM", fmt.Sprint(buildcfg.GOWASM)) - -- GOPROXY = envOr("GOPROXY", "https://proxy.golang.org,direct") -- GOSUMDB = envOr("GOSUMDB", "sum.golang.org") -+ GOPROXY = envOr("GOPROXY", "direct") -+ GOSUMDB = envOr("GOSUMDB", "off") - GOPRIVATE = Getenv("GOPRIVATE") - GONOPROXY = envOr("GONOPROXY", GOPRIVATE) - GONOSUMDB = envOr("GONOSUMDB", GOPRIVATE) -diff --git a/src/cmd/go/testdata/script/mod_sumdb_golang.txt b/src/cmd/go/testdata/script/mod_sumdb_golang.txt -index becd88b52e..b2a1250372 100644 ---- a/src/cmd/go/testdata/script/mod_sumdb_golang.txt -+++ b/src/cmd/go/testdata/script/mod_sumdb_golang.txt -@@ -2,12 +2,12 @@ - env GOPROXY= - env GOSUMDB= - go env GOPROXY --stdout '^https://proxy.golang.org,direct$' -+stdout '^direct$' - go env GOSUMDB --stdout '^sum.golang.org$' -+stdout '^off$' - env GOPROXY=https://proxy.golang.org - go env GOSUMDB --stdout '^sum.golang.org$' -+stdout '^off$' - - # Download direct from github. - --- -2.31.1 - diff --git a/0004-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-avail.patch b/0004-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-avail.patch index d0a7149..5341d6d 100644 --- a/0004-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-avail.patch +++ b/0004-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-avail.patch @@ -1,38 +1,20 @@ -From 5ccf9f47bf4f5ba53e0ab7338a7fd4626714cfb2 Mon Sep 17 00:00:00 2001 -From: Jeffery To -Date: Tue, 23 Nov 2021 15:05:37 +0800 -Subject: [PATCH] cmd/link: use gold on ARM/ARM64 only if gold is available +From 7506da0af38aa307f45664f0c787b5767cc7a87f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= +Date: Thu, 22 Jun 2023 17:19:00 +0200 +Subject: [PATCH] Force gold in aarch64 until binutils 2.41 is on Fedora -COPY relocation handling on ARM/ARM64 has been fixed in recent versions -of the GNU linker. This switches to gold only if gold is available. - -Fixes #22040. --- - src/cmd/link/internal/ld/lib.go | 19 +++++++------------ - 1 file changed, 7 insertions(+), 12 deletions(-) + src/cmd/link/internal/ld/lib.go | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go -index 9e13db7b71..2b379259a2 100644 +index 91e2d5149c..99c305530b 100644 --- a/src/cmd/link/internal/ld/lib.go +++ b/src/cmd/link/internal/ld/lib.go -@@ -1390,25 +1390,20 @@ func (ctxt *Link) hostlink() { - } +@@ -1605,15 +1605,13 @@ func (ctxt *Link) hostlink() { + // https://go.dev/issue/22040 + altLinker = "gold" - if ctxt.Arch.InFamily(sys.ARM, sys.ARM64) && buildcfg.GOOS == "linux" { -- // On ARM, the GNU linker will generate COPY relocations -- // even with -znocopyreloc set. -+ // On ARM, older versions of the GNU linker will generate -+ // COPY relocations even with -znocopyreloc set. - // https://sourceware.org/bugzilla/show_bug.cgi?id=19962 - // -- // On ARM64, the GNU linker will fail instead of -- // generating COPY relocations. -+ // On ARM64, older versions of the GNU linker will fail -+ // instead of generating COPY relocations. - // -- // In both cases, switch to gold. -- altLinker = "gold" -- - // If gold is not installed, gcc will silently switch - // back to ld.bfd. So we parse the version information - // and provide a useful error if gold is missing. @@ -42,12 +24,12 @@ index 9e13db7b71..2b379259a2 100644 cmd := exec.Command(name, args...) if out, err := cmd.CombinedOutput(); err == nil { - if !bytes.Contains(out, []byte("GNU gold")) { -- log.Fatalf("ARM external linker must be gold (issue #15696), but is not: %s", out) +- log.Fatalf("ARM64 external linker must be gold (issue #15696, 22040), but is not: %s", out) + if bytes.Contains(out, []byte("GNU gold")) { + altLinker = "gold" } } } -- -2.32.0 +2.40.1 diff --git a/golang.spec b/golang.spec index 3bcabf1..22ffdb6 100644 --- a/golang.spec +++ b/golang.spec @@ -1,12 +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 - # build ids are not currently generated: # https://code.google.com/p/go/issues/detail?id=5238 # @@ -103,15 +95,15 @@ %endif # Comment out go_prerelease and go_patch as needed -%global go_api 1.20 -#global go_prerelease rc3 -%global go_patch 6 +%global go_api 1.21 +%global go_prerelease rc3 +#global go_patch 5 %global go_version %{go_api}%{?go_patch:.%{go_patch}}%{?go_prerelease:~%{go_prerelease}} %global go_source %{go_api}%{?go_patch:.%{go_patch}}%{?go_prerelease} # For rpmdev-bumpspec and releng automation -%global baserelease 2 +%global baserelease 1 Name: golang Version: %{go_version} @@ -136,7 +128,7 @@ BuildRequires: hostname BuildRequires: net-tools %endif # for tests -BuildRequires: pcre-devel, glibc-static, perl-interpreter, procps-ng +BuildRequires: pcre2-devel, glibc-static, perl-interpreter, procps-ng Provides: go = %{version}-%{release} @@ -144,23 +136,22 @@ Provides: go = %{version}-%{release} # - in version filed substituted with . per versioning guidelines Provides: bundled(golang(github.com/google/pprof)) = 0.0.0.20221118152302.e6195bd50e26 Provides: bundled(golang(github.com/ianlancetaylor/demangle)) = 0.0.0.20220319035150.800ac71e25c2 -Provides: bundled(golang(golang.org/x/arch)) = 0.1.1.0.20221116201807.1bb480fc256a -Provides: bundled(golang(golang.org/x/crypto)) = 0.3.1.0.20221117191849.2c476679df9a -Provides: bundled(golang(golang.org/x/mod)) = 0.7.0 -Provides: bundled(golang(golang.org/x/net)) = 0.4.1.0.20230214201333.88ed8ca3307d -Provides: bundled(golang(golang.org/x/sync)) = 0.1.0 -Provides: bundled(golang(golang.org/x/sys)) = 0.3.0 -Provides: bundled(golang(golang.org/x/term)) = 0.2.0 -Provides: bundled(golang(golang.org/x/text)) = 0.5.0 -Provides: bundled(golang(golang.org/x/tools)) = 0.3.1.0.20230118190848.070db2996ebe +Provides: bundled(golang(golang.org/x/arch)) = 0.3.0 +Provides: bundled(golang(golang.org/x/crypto)) = 0.10.0 +Provides: bundled(golang(golang.org/x/mod)) = 0.10.1.0.20230606122920.62c7e578f1a7 +Provides: bundled(golang(golang.org/x/net)) = 0.11.1.0.20230613203745.f5464ddb689c +Provides: bundled(golang(golang.org/x/sync)) = 0.2.1.0.20230601203510.93782cc822b6 +Provides: bundled(golang(golang.org/x/sys)) = 0.9.0 +Provides: bundled(golang(golang.org/x/term)) = 0.9.0 +Provides: bundled(golang(golang.org/x/text)) = 0.10.1.0.20230613190012.2df65d769a9e +Provides: bundled(golang(golang.org/x/tools)) = 0.9.4.0.20230613194514.c6c98305492 Requires: %{name}-bin = %{version}-%{release} Requires: %{name}-src = %{version}-%{release} Requires: go-filesystem -Patch2: 0002-syscall-expose-IfInfomsg.X__ifi_pad-on-s390x.patch -Patch3: 0003-cmd-go-disable-Google-s-proxy-and-sumdb.patch -Patch4: 0004-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-avail.patch +Patch1: 0001-Disable-Google-s-proxy-sumdb-and-toolchain.patch +Patch4: 0004-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-avail.patch # Having documentation separate was broken Obsoletes: %{name}-docs < 1.1-4 @@ -407,12 +398,9 @@ echo "== 4 ==" 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 @@ -540,13 +528,23 @@ fi %endif %changelog +* Fri Jul 14 2023 Alejandro Sáez - 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 - 1.20.6-1 - Update to go 1.20.6 -* Fri Jun 16 2023 Alejandro Sáez - 1.20.5-2 -- Add go-filesystem -- Resolves: rhbz#2172392 - * Tue Jun 06 2023 Alejandro Sáez - 1.20.5-1 - Update to go 1.20.5 diff --git a/sources b/sources index d3e029a..5bc3e8b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (go1.20.6.src.tar.gz) = 509ade7c2a76bd46b26dda4522692ceef5023aae21461b866006341f98544e7ea755aee230a9fea789ed7afb1c49a693c34c8337892e308dfb051aef2b08c975 +SHA512 (go1.21rc3.src.tar.gz) = 2465abe1fab0039e10a586b4d53347ac8177e615d936b3de0fdd2dd13cf7a622e25bb5769c7f80e21154863898c1afc1b563bebb253f9ca538f3be7face9fe76