From 069f0dcbce0ea61670c98e4b1c5d0cb0e5ae1a81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Tue, 13 Jun 2023 14:34:13 +0200 Subject: [PATCH 01/54] Add FIPS support for RHEL targets --- .gitignore | 2 + golang-prelink.conf | 3 + golang.spec | 198 +++++++++++++++++++++++++++++--------------- sources | 3 +- 4 files changed, 140 insertions(+), 66 deletions(-) create mode 100644 golang-prelink.conf diff --git a/.gitignore b/.gitignore index 5ad9562..54d913b 100644 --- a/.gitignore +++ b/.gitignore @@ -133,3 +133,5 @@ /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 diff --git a/golang-prelink.conf b/golang-prelink.conf new file mode 100644 index 0000000..471e8e6 --- /dev/null +++ b/golang-prelink.conf @@ -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 diff --git a/golang.spec b/golang.spec index f10b936..5dc3c38 100644 --- a/golang.spec +++ b/golang.spec @@ -38,6 +38,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 %global external_linker 1 @@ -73,10 +80,6 @@ %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} @@ -102,15 +105,16 @@ %global gohostarch s390x %endif -# Comment out go_prerelease and go_patch as needed %global go_api 1.20 +# Use only for prerelease versions #global go_prerelease rc3 -%global go_patch 5 - +%global go_patch 4 %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 +# Go FIPS package release +%global pkg_release 3 + +# For rpmdev-bumpspec and releng automation. %global baserelease 1 Name: golang @@ -121,8 +125,16 @@ Summary: The Go Programming Language License: BSD and 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 # The compiler is written in Go. Needs go(1.4+) compiler for build. %if !%{golang_bootstrap} @@ -130,16 +142,34 @@ 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 -# for tests -BuildRequires: pcre-devel, glibc-static, perl-interpreter, procps-ng + +# If FIPS is enabled, we need openssl-devel +%if %{fips} +BuildRequires: openssl-devel +%endif + +BuildRequires: pcre-devel, 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 Provides: go = %{version}-%{release} +%if 0%{?fedora} # Bundled/Vendored provides generated by bundled-deps.sh based on the in tree module data # - in version filed substituted with . per versioning guidelines Provides: bundled(golang(github.com/google/pprof)) = 0.0.0.20221118152302.e6195bd50e26 @@ -153,6 +183,7 @@ 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 +%endif Requires: %{name}-bin = %{version}-%{release} Requires: %{name}-src = %{version}-%{release} @@ -171,14 +202,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}. @@ -280,22 +308,35 @@ Summary: Golang shared object libraries %{summary}. %endif -%if %{race} -%package race -Summary: Golang std library with -race enabled - -Requires: %{name} = %{version}-%{release} - -%description race -%{summary} -%endif - %prep %autosetup -p1 -n go +# Copy fedora.go to ./src/runtime/ +cp %{SOURCE2} ./src/runtime/ -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 + patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/000-initial-setup.patch + patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/001-initial-openssl-for-fips.patch + + # 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 @@ -322,12 +363,21 @@ export CC="gcc" export CC_FOR_TARGET="gcc" export GOOS=linux export GOARCH=%{gohostarch} + +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 --no-clean -v popd @@ -336,12 +386,7 @@ popd 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 -%endif - %install -echo "== 1 ==" rm -rf $RPM_BUILD_ROOT # remove GC build cache rm -rf pkg/obj/go-build/* @@ -354,7 +399,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 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 @@ -371,8 +416,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 @@ -386,7 +434,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 @@ -402,16 +449,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 @@ -420,7 +457,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 @@ -435,7 +471,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 @@ -446,40 +482,74 @@ 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 +echo ">>> 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" %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 export GO_TEST_TIMEOUT_SCALE=2 +export GO_TEST_RUN="" +%ifarch aarch64 + export GO_TEST_RUN="-run=!testshared" +%endif + %if %{fail_on_tests} -./run.bash --no-rebuild -v -v -v -k + ./run.bash --no-rebuild -v -v -v -k $go_test_run + + %if %{fips} + # 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 + 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 + # check that signature functions have parity between boring and notboring + cgo_enabled=0 go test $(go list ./... | grep -v tls) -v + popd + # 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 || : + ./run.bash --no-rebuild -v -v -v -k || : %endif cd .. - %post bin %{_sbindir}/update-alternatives --install %{_bindir}/go \ go %{goroot}/bin/go 90 \ @@ -512,10 +582,12 @@ 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 %files docs -f go-docs.list @@ -534,13 +606,9 @@ fi %files shared -f go-shared.list %endif -%if %{race} -%files race -f go-race.list -%endif - %changelog -* Tue Jun 06 2023 Alejandro Sáez - 1.20.5-1 -- Update to go 1.20.5 +* Tue Jun 13 2023 Alejandro Sáez - 1.20.4-3 +- Add FIPS support for RHEL targets * Tue May 02 2023 Alejandro Sáez - 1.20.4-1 - Update to go1.20.4 diff --git a/sources b/sources index d54528b..beebefc 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (go1.20.5.src.tar.gz) = 94cecb366cd9d9722b53e52ea3b0a5715a9e9dc21da0273dd3db9354557f71b9501b018125ef073dacc2e59125335f436cea1151cd8df0d60e2ad513f841905c +SHA512 (go1.20.4.src.tar.gz) = 43898325bab48c24e533f360a2c7de356a8a56946602e727b5bcd4a62ff4f64fd750e2650032f7e0525b0699e40e506d79446e16838f097e6bdc2a16f10d81be +SHA512 (go1.20.4-3-openssl-fips.tar.gz) = b3c3a61e44e61c0e4feb1c499d194630d0c9466cfd06daf86e523c0b54933f5a63d350dc0eef3f0f38dc30598fb1a636f14812a0d3d56f9673da1b9f373d5513 From c1db21c4b9e96233366171d71ce635e5e9be22cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Wed, 14 Jun 2023 13:12:57 +0200 Subject: [PATCH 02/54] Update to go1.20.5 --- .gitignore | 1 + golang.spec | 7 +++++-- sources | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 54d913b..993a2f4 100644 --- a/.gitignore +++ b/.gitignore @@ -135,3 +135,4 @@ /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 diff --git a/golang.spec b/golang.spec index 5dc3c38..786802a 100644 --- a/golang.spec +++ b/golang.spec @@ -108,11 +108,11 @@ %global go_api 1.20 # Use only for prerelease versions #global go_prerelease rc3 -%global go_patch 4 +%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} # Go FIPS package release -%global pkg_release 3 +%global pkg_release 2 # For rpmdev-bumpspec and releng automation. %global baserelease 1 @@ -607,6 +607,9 @@ fi %endif %changelog +* Wed Jun 14 2023 Alejandro Sáez - 1.20.5-1 +- Update to go1.20.5 + * Tue Jun 13 2023 Alejandro Sáez - 1.20.4-3 - Add FIPS support for RHEL targets diff --git a/sources b/sources index beebefc..b0645ff 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (go1.20.4.src.tar.gz) = 43898325bab48c24e533f360a2c7de356a8a56946602e727b5bcd4a62ff4f64fd750e2650032f7e0525b0699e40e506d79446e16838f097e6bdc2a16f10d81be -SHA512 (go1.20.4-3-openssl-fips.tar.gz) = b3c3a61e44e61c0e4feb1c499d194630d0c9466cfd06daf86e523c0b54933f5a63d350dc0eef3f0f38dc30598fb1a636f14812a0d3d56f9673da1b9f373d5513 +SHA512 (go1.20.5.src.tar.gz) = 94cecb366cd9d9722b53e52ea3b0a5715a9e9dc21da0273dd3db9354557f71b9501b018125ef073dacc2e59125335f436cea1151cd8df0d60e2ad513f841905c +SHA512 (go1.20.5-2-openssl-fips.tar.gz) = 3687aefc2cb953581d45b3d03b9eee4b3a7621f344b8cc4a2d737c913c2ec1ca3d27075d69e9c06b09f95f68288aa7b99ca681bd73a33075d647f8cfee338908 From ecfc7ce021bca579e75fc5174ab8beecc87a99e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Wed, 14 Jun 2023 13:14:45 +0200 Subject: [PATCH 03/54] Package bump up --- golang.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/golang.spec b/golang.spec index 786802a..86fda1c 100644 --- a/golang.spec +++ b/golang.spec @@ -115,7 +115,7 @@ %global pkg_release 2 # For rpmdev-bumpspec and releng automation. -%global baserelease 1 +%global baserelease 2 Name: golang Version: %{go_version} @@ -607,6 +607,9 @@ fi %endif %changelog +* Wed Jun 14 2023 Alejandro Sáez - 1.20.5-2 +- Package bump up do to a mistake I made + * Wed Jun 14 2023 Alejandro Sáez - 1.20.5-1 - Update to go1.20.5 From 2689cc83bc6c585161be75a1f454043dddffad64 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Thu, 22 Jun 2023 17:01:51 -0400 Subject: [PATCH 04/54] Add runtime requirement for openssl-devel Compiling any crypto-dependent code with crypto/boring enabled requires openssl headers and libraries. --- golang.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/golang.spec b/golang.spec index 86fda1c..c6c25b0 100644 --- a/golang.spec +++ b/golang.spec @@ -115,7 +115,7 @@ %global pkg_release 2 # For rpmdev-bumpspec and releng automation. -%global baserelease 2 +%global baserelease 3 Name: golang Version: %{go_version} @@ -153,6 +153,7 @@ BuildRequires: net-tools # If FIPS is enabled, we need openssl-devel %if %{fips} BuildRequires: openssl-devel +Requires: openssl-devel %endif BuildRequires: pcre-devel, glibc-static @@ -607,6 +608,9 @@ fi %endif %changelog +* Thu Jun 22 2023 Yaakov Selkowitz - 1.20.5-3 +- Add runtime requirement for openssl-devel + * Wed Jun 14 2023 Alejandro Sáez - 1.20.5-2 - Package bump up do to a mistake I made From 8dc9a335dc807d8e0e254f0872766fba045046ad Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Thu, 29 Jun 2023 17:08:08 -0400 Subject: [PATCH 05/54] Add go-toolset subpackage --- golang.spec | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/golang.spec b/golang.spec index c6c25b0..735f6ee 100644 --- a/golang.spec +++ b/golang.spec @@ -115,7 +115,7 @@ %global pkg_release 2 # For rpmdev-bumpspec and releng automation. -%global baserelease 3 +%global baserelease 4 Name: golang Version: %{go_version} @@ -309,6 +309,16 @@ 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 +Requires: delve +%endif + +%description -n go-toolset +This is the main package for go-toolset. + %prep %autosetup -p1 -n go # Copy fedora.go to ./src/runtime/ @@ -607,7 +617,12 @@ fi %files shared -f go-shared.list %endif +%files -n go-toolset + %changelog +* Wed Jun 28 2023 Yaakov Selkowitz - 1.20.5-4 +- Add go-toolset subpackage + * Thu Jun 22 2023 Yaakov Selkowitz - 1.20.5-3 - Add runtime requirement for openssl-devel From 5261403362a4495861765376d44469a1bd95f9ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Tue, 1 Aug 2023 23:02:47 +0200 Subject: [PATCH 06/54] Update to go 1.20.6 --- .gitignore | 2 ++ golang.spec | 9 ++++++--- sources | 4 ++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 993a2f4..42faa7c 100644 --- a/.gitignore +++ b/.gitignore @@ -136,3 +136,5 @@ /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 diff --git a/golang.spec b/golang.spec index 735f6ee..7a47999 100644 --- a/golang.spec +++ b/golang.spec @@ -108,14 +108,14 @@ %global go_api 1.20 # Use only for prerelease versions #global go_prerelease rc3 -%global go_patch 5 +%global go_patch 6 %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 2 +%global pkg_release 1 # For rpmdev-bumpspec and releng automation. -%global baserelease 4 +%global baserelease 1 Name: golang Version: %{go_version} @@ -620,6 +620,9 @@ fi %files -n go-toolset %changelog +* Tue Aug 01 2023 Alejandro Sáez - 1.20.6-1 +- Update to go 1.20.6 + * Wed Jun 28 2023 Yaakov Selkowitz - 1.20.5-4 - Add go-toolset subpackage diff --git a/sources b/sources index b0645ff..128c81c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (go1.20.5.src.tar.gz) = 94cecb366cd9d9722b53e52ea3b0a5715a9e9dc21da0273dd3db9354557f71b9501b018125ef073dacc2e59125335f436cea1151cd8df0d60e2ad513f841905c -SHA512 (go1.20.5-2-openssl-fips.tar.gz) = 3687aefc2cb953581d45b3d03b9eee4b3a7621f344b8cc4a2d737c913c2ec1ca3d27075d69e9c06b09f95f68288aa7b99ca681bd73a33075d647f8cfee338908 +SHA512 (go1.20.6.src.tar.gz) = 509ade7c2a76bd46b26dda4522692ceef5023aae21461b866006341f98544e7ea755aee230a9fea789ed7afb1c49a693c34c8337892e308dfb051aef2b08c975 +SHA512 (go1.20.6-1-openssl-fips.tar.gz) = 7e1f9a61b8d419233b41d4592e8741a9d3039120c1fb444cfd7ac229d65a8031ecf1644e1161bc6cf5739ac7ec84e6405eb101f63b5a972ecb6b2ea69cea39e2 From 7fa99657616663b1753da399d9daa3e2b5de20c4 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Wed, 2 Aug 2023 13:40:02 -0400 Subject: [PATCH 07/54] Drop unused pcre-devel dependency --- golang.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/golang.spec b/golang.spec index 7a47999..2c0c1ea 100644 --- a/golang.spec +++ b/golang.spec @@ -115,7 +115,7 @@ %global pkg_release 1 # For rpmdev-bumpspec and releng automation. -%global baserelease 1 +%global baserelease 2 Name: golang Version: %{go_version} @@ -156,7 +156,7 @@ BuildRequires: openssl-devel Requires: openssl-devel %endif -BuildRequires: pcre-devel, glibc-static +BuildRequires: glibc-static # For running the tests on Fedora %if 0%{?fedora} @@ -620,6 +620,9 @@ fi %files -n go-toolset %changelog +* Tue Sep 05 2023 Yaakov Selkowitz - 1.20.6-2 +- Drop unused pcre dependency + * Tue Aug 01 2023 Alejandro Sáez - 1.20.6-1 - Update to go 1.20.6 From 78332dc19c9ed26f5502eba0231bddccabfa1d3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Thu, 28 Sep 2023 17:22:26 +0200 Subject: [PATCH 08/54] Migrated to SPDX license --- golang.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/golang.spec b/golang.spec index 2c0c1ea..2d3b01c 100644 --- a/golang.spec +++ b/golang.spec @@ -115,14 +115,14 @@ %global pkg_release 1 # For rpmdev-bumpspec and releng automation. -%global baserelease 2 +%global baserelease 3 Name: golang Version: %{go_version} Release: %{baserelease}%{?dist} Summary: The Go Programming Language # source tree includes several copies of Mark.Twain-Tom.Sawyer.txt under Public Domain -License: BSD and 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 @@ -620,6 +620,9 @@ fi %files -n go-toolset %changelog +* Thu Sep 28 2023 Alejandro Sáez - 1.20.6-3 +- Migrated to SPDX license + * Tue Sep 05 2023 Yaakov Selkowitz - 1.20.6-2 - Drop unused pcre dependency From 0465580ff36f0cd1164d30dd8f74026c0635a425 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Fri, 27 Oct 2023 09:32:35 +0200 Subject: [PATCH 09/54] Update to Go 1.21.3 - Update bundled-deps.sh to generate a proper output. - Add 0001-Modify-go.env.patch that modifies the go.env file to change GOPROXY, GOSUMDB, and GOTOOLCHAIN settings. - Delete 0002-syscall-expose-IfInfomsg.X__ifi_pad-on-s390x.patch. --- .gitignore | 2 + 0001-Modify-go.env.patch | 30 +++++++++++++ ...expose-IfInfomsg.X__ifi_pad-on-s390x.patch | 41 ------------------ ...d-on-ARM-ARM64-only-if-gold-is-avail.patch | 42 ++++++------------- bundled-deps.sh | 3 +- golang.spec | 36 +++++++--------- sources | 4 +- 7 files changed, 62 insertions(+), 96 deletions(-) create mode 100644 0001-Modify-go.env.patch delete mode 100644 0002-syscall-expose-IfInfomsg.X__ifi_pad-on-s390x.patch diff --git a/.gitignore b/.gitignore index 42faa7c..732db0c 100644 --- a/.gitignore +++ b/.gitignore @@ -138,3 +138,5 @@ /go1.20.5-2-openssl-fips.tar.gz /go1.20.6.src.tar.gz /go1.20.6-1-openssl-fips.tar.gz +/go1.21.3.src.tar.gz +/go1.21.3-1-openssl-fips.tar.gz diff --git a/0001-Modify-go.env.patch b/0001-Modify-go.env.patch new file mode 100644 index 0000000..d0b18c7 --- /dev/null +++ b/0001-Modify-go.env.patch @@ -0,0 +1,30 @@ +From 52d9cfec8124a9c7382bed5284246d9b18a21eb4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= +Date: Wed, 16 Aug 2023 07:06:38 +0200 +Subject: [PATCH] Modify go.env + +Change GOPROXY, GOSUMDB, and GOTOOLCHAIN +--- + go.env | 6 +++--- + 1 file changed, 3 insertions(+), 3 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 +-- +2.41.0 + 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/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/bundled-deps.sh b/bundled-deps.sh index bdcbd30..51dd446 100755 --- a/bundled-deps.sh +++ b/bundled-deps.sh @@ -19,5 +19,4 @@ 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 -#TODO replace - with . in version per packaging guidelines -echo -e "$provides" | sort -u +echo -e "$provides" | sed 's/-/./g' | sort -u diff --git a/golang.spec b/golang.spec index 2d3b01c..eb24590 100644 --- a/golang.spec +++ b/golang.spec @@ -73,12 +73,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 # Fedora GOROOT %global goroot /usr/lib/%{name} @@ -105,17 +101,17 @@ %global gohostarch s390x %endif -%global go_api 1.20 +%global go_api 1.21 # Use only for prerelease versions #global go_prerelease rc3 -%global go_patch 6 +%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 3 +%global baserelease 1 Name: golang Version: %{go_version} @@ -172,26 +168,24 @@ Provides: go = %{version}-%{release} %if 0%{?fedora} # Bundled/Vendored provides generated by bundled-deps.sh based on the in tree module data -# - 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.4.0 +Provides: bundled(golang(golang.org/x/crypto)) = 0.11.1.0.20230711161743.2e82bdd1719d +Provides: bundled(golang(golang.org/x/mod)) = 0.12.0 +Provides: bundled(golang(golang.org/x/net)) = 0.12.1.0.20230712162946.57553cbff163 +Provides: bundled(golang(golang.org/x/sync)) = 0.3.0 +Provides: bundled(golang(golang.org/x/sys)) = 0.10.0 +Provides: bundled(golang(golang.org/x/term)) = 0.10.0 +Provides: bundled(golang(golang.org/x/text)) = 0.11.0 +Provides: bundled(golang(golang.org/x/tools)) = 0.11.1.0.20230712164437.1ca21856af7b %endif Requires: %{name}-bin = %{version}-%{release} Requires: %{name}-src = %{version}-%{release} -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-Modify-go.env.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 diff --git a/sources b/sources index 128c81c..34c1a84 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (go1.20.6.src.tar.gz) = 509ade7c2a76bd46b26dda4522692ceef5023aae21461b866006341f98544e7ea755aee230a9fea789ed7afb1c49a693c34c8337892e308dfb051aef2b08c975 -SHA512 (go1.20.6-1-openssl-fips.tar.gz) = 7e1f9a61b8d419233b41d4592e8741a9d3039120c1fb444cfd7ac229d65a8031ecf1644e1161bc6cf5739ac7ec84e6405eb101f63b5a972ecb6b2ea69cea39e2 +SHA512 (go1.21.3.src.tar.gz) = c98d31b9c477c0ac4b6f6933adefb40fdce5cdbb171e5236e3b694fec9e5b04695487af734259eab304dd42e86341240621a781f54b60c719627fd7b5efe4742 +SHA512 (go1.21.3-1-openssl-fips.tar.gz) = 869cd8d20ecd2c81ca4ae184fd1f73c124ee479334a002bda2135cb60ce919b0185f203f9d78f08c9616b32339f588aec6f9bc609d458e29dedcdab13dc985d3 From 7dae2191e8311269d2aa97c285a181d62acf978e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Wed, 8 Nov 2023 17:37:28 +0100 Subject: [PATCH 10/54] Fix typos --- golang.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/golang.spec b/golang.spec index eb24590..6442a61 100644 --- a/golang.spec +++ b/golang.spec @@ -530,7 +530,7 @@ export GO_TEST_RUN="" %endif %if %{fail_on_tests} - ./run.bash --no-rebuild -v -v -v -k $go_test_run + ./run.bash --no-rebuild -v -v -v -k $GO_TEST_RUN %if %{fips} # tested25519vectors needs network connectivity but it should be cover by @@ -543,7 +543,7 @@ export GO_TEST_RUN="" # run all crypto tests but skip tls, we will run fips specific tls tests later go test $(go list ./... | grep -v tls) -v # check that signature functions have parity between boring and notboring - cgo_enabled=0 go test $(go list ./... | grep -v tls) -v + CGO_ENABLED=0 go test $(go list ./... | grep -v tls) -v popd # run all fips specific tls tests pushd crypto/tls From 335d81de5fce228cafb87b143b1bb25598ceeb33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Wed, 8 Nov 2023 17:37:30 +0100 Subject: [PATCH 11/54] Convert to %autorelease and %autochangelog [skip changelog] --- changelog | 901 +++++++++++++++++++++++++++++++++++++++++++++++++++ golang.spec | 904 +--------------------------------------------------- 2 files changed, 903 insertions(+), 902 deletions(-) create mode 100644 changelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..4b4b67d --- /dev/null +++ b/changelog @@ -0,0 +1,901 @@ +* Thu Sep 28 2023 Alejandro Sáez - 1.20.6-3 +- Migrated to SPDX license + +* Tue Sep 05 2023 Yaakov Selkowitz - 1.20.6-2 +- Drop unused pcre dependency + +* Tue Aug 01 2023 Alejandro Sáez - 1.20.6-1 +- Update to go 1.20.6 + +* Wed Jun 28 2023 Yaakov Selkowitz - 1.20.5-4 +- Add go-toolset subpackage + +* Thu Jun 22 2023 Yaakov Selkowitz - 1.20.5-3 +- Add runtime requirement for openssl-devel + +* Wed Jun 14 2023 Alejandro Sáez - 1.20.5-2 +- Package bump up do to a mistake I made + +* Wed Jun 14 2023 Alejandro Sáez - 1.20.5-1 +- Update to go1.20.5 + +* Tue Jun 13 2023 Alejandro Sáez - 1.20.4-3 +- Add FIPS support for RHEL targets + +* Tue May 02 2023 Alejandro Sáez - 1.20.4-1 +- Update to go1.20.4 +- Resolves: rhbz#2184454 + +* Sat Apr 15 2023 Maxwell G - 1.20.3-2 +- Fix broken golang-race update path + +* Tue Apr 04 2023 Alejandro Sáez - 1.20.3-1 +- Update to go1.20.3 + +* Fri Mar 10 2023 Mike Rochefort - 1.20.2-1 +- Update to go1.20.2 +- Resolves: rhbz#2176528 + +* Wed Feb 15 2023 Alejandro Sáez - 1.20.1 +- Update to go1.20.1 +- Resolves: rhbz#2169896 + +* Thu Feb 02 2023 Alejandro Sáez - 1.20-1 +- Update to go1.20 +- Resolves: rhbz#2152070 + +* Thu Jan 19 2023 Fedora Release Engineering - 1.20~rc3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Jan 17 2023 Alejandro Sáez - 1.20~rc3-1 +- Update to go1.20rc3 +- Disable race package due go 1.20 new feature + +* Wed Jan 04 2023 Alejandro Sáez - 1.20-0.rc2-1 +- Update to go1.20rc2 + +* Wed Dec 07 2022 Alejandro Sáez - 1.19.4-1 +- Update to go1.19.4 +- Resolves: rhbz#2151595 + +* Tue Nov 8 2022 Amit Shah - 1.19.3-2 +- Fix build without binutils-gold + +* Sun Nov 06 2022 Mike Rochefort - 1.19.3-1 +- Update to go1.19.3 +- Resolves: rhbz#2139548 + +* Tue Oct 04 2022 Alejandro Sáez - 1.19.2-1 +- Update to go1.19.2 + +* Tue Sep 06 2022 Alejandro Sáez - 1.19.1-1 +- Update to go1.19.1 + +* Tue Aug 02 2022 Alejandro Sáez - 1.19-1 +- Update to go1.19.0 +- Remove reference to AUTHORS and CONTRIBUTORS due to https://github.com/golang/go/issues/53961 + +* Thu Jul 21 2022 Fedora Release Engineering - 1.19~rc2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jul 18 2022 Mike Rochefort - 1.19~rc2-1 +- Update to go1.19rc2 +- Remove tzdata patch +- Remove go-srpm-macros runtime requirement +- Resolves: rhbz#2095927 + +* Wed Jul 13 2022 Alejandro Sáez - 1.18.4-1 +- Update to 1.18.4 + +* Sun Jun 19 2022 Robert-André Mauchin - 1.18.3-2 +- Rebuilt for CVE-2022-1996, CVE-2022-24675, CVE-2022-28327, CVE-2022-27191, + CVE-2022-29526, CVE-2022-30629 + +* Thu Jun 02 2022 Alejandro Sáez - 1.18.3-1 +- Update to 1.18.3 +- Resolves: rhbz#2092631 + +* Sun May 15 2022 Mike Rochefort - 1.18.2-1 +- Update to 1.18.2 +- Resolves: rhbz#2075141 + +* Tue Apr 12 2022 Alejandro Sáez - 1.18.1-1 +- Update to 1.18.1 + +* Tue Mar 15 2022 Mike Rochefort - 1.18-1 +- Update to 1.18 +- Resolves: rhbz#2064409 + +* Thu Feb 17 2022 Mike Rochefort - 1.18~rc1-1 +- Update to 1.18rc1 +- Resolves: rhbz#2002859 + +* Mon Jan 31 2022 Mike Rochefort - 1.18~beta2-1 +- Update to 1.18beta2 +- Remove testshared-size-limit patch (now upstream) 83fc097 +- Related: rhbz#2002859 + +* Thu Jan 20 2022 Fedora Release Engineering - 1.18~beta1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Dec 14 2021 Mike Rochefort - 1.18beta1-1 +- Update to 1.18beta1 +- Related: rhbz#2002859 + +* Tue Dec 14 2021 Alejandro Sáez - 1.17.5-1 +- Update to 1.17.5 +- Update bundles +- Related: rhbz#2002859 + +* Tue Dec 07 2021 Alejandro Sáez - 1.17.4-1 +- Update to 1.17.4 +- Related: rhbz#2002859 + +* Mon Nov 22 2021 Alejandro Sáez - 1.17.3-1 +- Update to 1.17.3 +- Related: rhbz#2002859 + +* Wed Aug 18 2021 Alejandro Sáez - 1.17-1 +- Update to go1.17 +- Resolves: rhbz#1957935 + +* Mon Aug 09 2021 Alejandro Sáez - 1.17-0.rc2 +- Update to go1.17rc2 +- Update patches +- Remove patch, already in the source https://go-review.googlesource.com/c/go/+/334410/ + +* Thu Jul 29 2021 Jakub Čajka - 1.16.6-3 +- fix crash in VDSO calls on ppc64le with new kernels + +* Thu Jul 22 2021 Fedora Release Engineering - 1.16.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jul 14 2021 Mike Rochefort - 1.16.6-1 +- Update to go1.16.6 +- Security fix for CVE-2021-34558 +- Resolves: BZ#1983597 + +* Mon Jun 21 2021 Mike Rochefort - 1.16.5-1 +- Update to go1.16.5 +- Security fix for CVE-2021-33195 +- Security fix for CVE-2021-33196 +- Security fix for CVE-2021-33197 +- Fix OOM with large exponents in Rat.SetString gh#45910 + +* Thu May 13 2021 Jakub Čajka - 1.16.4-2 +- Fix linker issue on ppc64le breaking kube 1.21 build + +* Mon May 10 2021 Alejandro Sáez - 1.16.4-1 +- Update to go1.16.4 +- Security fix for CVE-2021-31525 +- Resolves: rhbz#1958343 + +* Fri Apr 09 2021 Alejandro Sáez - 1.16.3-1 +- Update to go1.16.3 + +* Tue Mar 23 2021 Alejandro Sáez - 1.16-2 +- Update to go1.16.2 +- Resolves: rhbz#1937435 + +* Thu Feb 18 2021 Jakub Čajka - 1.16-1 +- Update to go1.16 +- Improved bundled provides +- Resolves: BZ#1913835 + +* Sun Jan 31 2021 Neal Gompa - 1.16-0.rc1.1 +- Update to go1.16rc1 +- Related: BZ#1913835 +- Resolves: BZ#1922617 + +* Tue Jan 26 2021 Fedora Release Engineering - 1.16-0.beta1.1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Jan 15 2021 Jakub Čajka - 1.16-0.beta1.1 +- Update to go1.16beta1 +- Related: BZ#1913835 + +* Fri Dec 04 2020 Jakub Čajka - 1.15.6-1 +- Rebase to go1.15.6 +- Resolves: BZ#1904238 + +* Fri Nov 13 2020 Jakub Čajka - 1.15.5-1 +- Rebase to go1.15.5 +- Security fix for CVE-2020-28362, CVE-2020-28367 and CVE-2020-28366 +- Resolves: BZ#1897342, BZ#1897636, BZ#1897644, BZ#1897647 + +* Fri Nov 06 2020 Jakub Čajka - 1.15.4-1 +- Rebase to go1.15.4 +- Resolves: BZ#1895189 + +* Thu Oct 15 2020 Jakub Čajka - 1.15.3-1 +- Rebase to go1.15.3 +- Resolves: BZ#1888443 + +* Thu Sep 10 2020 Jakub Čajka - 1.15.2-1 +- Rebase to go1.15.2 +- Resolves: BZ#1877565 + +* Thu Sep 03 2020 Jakub Čajka - 1.15.1-1 +- Rebase to go1.15.1 +- Security fix for CVE-2020-24553 +- Resolves: BZ#1874858, BZ#1866892 + +* Wed Aug 12 2020 Jakub Čajka - 1.15-1 +- Rebase to go1.15 proper +- Resolves: BZ#1859241, BZ#1866892 + +* Mon Aug 10 2020 Jakub Čajka - 1.15-0.rc2.0 +- Rebase to go1.15rc1 +- Security fix for CVE-2020-16845 +- Resolves: BZ#1867101 +- Related: BZ#1859241 + +* Mon Jul 27 2020 Fedora Release Engineering - 1.15-0.rc1.0.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Jakub Čajka - 1.15-0.rc1.0 +- Rebase to go1.15rc1 +- Related: BZ#1859241 + +* Mon Jul 20 2020 Jakub Čajka - 1.15-0.beta1.0 +- Rebase to go1.15beta1 + +* Mon Jul 20 2020 Jakub Čajka - 1.14.6-1 +- Rebase to go1.14.6 +- Security fix for CVE-2020-14040 and CVE-2020-15586 +- Resolves: BZ#1842708, BZ#1856957, BZ#1853653 + +* Tue Jun 30 2020 Alejandro Sáez - 1.14.4-1 +- Rebase to go1.14.4 +- Add patch that fixes: https://golang.org/issue/39991 +- Related: BZ#1842708 + +* Mon May 18 2020 Álex Sáez - 1.14.3-1 +- Rebase to go1.14.3 +- Resolves: BZ#1836015 + +* Mon Apr 20 2020 Jakub Čajka - 1.14.2-1 +- Rebase to go1.14.2 +- Resolves: BZ#1815282 + +* Wed Feb 26 2020 Jakub Čajka - 1.14-1 +- Rebase to go1.14 proper +- Resolves: BZ#1792475 + +* Thu Feb 06 2020 Jakub Čajka - 1.14-0.rc1.0 +- Rebase to go1.14.rc1 +- Related: BZ#1792475 + +* Tue Jan 28 2020 Fedora Release Engineering - 1.14-0.beta1.0.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Jan 20 2020 Jakub Čajka - 1.14-0.beta1.0 +- Rebase to go1.14beta1 +- Resolves: BZ#1792475 + +* Mon Jan 13 2020 Jakub Čajka - 1.13.6-1 +- Rebase to go1.13.6 + +* Thu Dec 05 2019 Jakub Čajka - 1.13.5-1 +- Rebase to go1.13.5 + +* Tue Nov 26 2019 Neal Gompa - 1.13.4-2 +- Small fixes to the spec and tighten up the file list + +* Fri Nov 01 2019 Jakub Čajka - 1.13.4-1 +- Rebase to go1.13.4 +- Resolves BZ#1767673 + +* Sat Oct 19 2019 Jakub Čajka - 1.13.3-1 +- Rebase to go1.13.3 +- Fix for CVE-2019-17596 +- Resolves: BZ#1755639, BZ#1763312 + +* Fri Sep 27 2019 Jakub Čajka - 1.13.1-1 +- Rebase to go1.13.1 +- Fix for CVE-2019-16276 +- Resolves: BZ#1755970 + +* Thu Sep 05 2019 Jakub Čajka - 1.13-2 +- Back to go1.13 tls1.3 behavior + +* Wed Sep 04 2019 Jakub Čajka - 1.13-1 +- Rebase to go1.13 + +* Fri Aug 30 2019 Jakub Čajka - 1.13-0.rc2.1 +- Rebase to go1.13rc2 +- Do not enable tls1.3 by default +- Related: BZ#1737471 + +* Wed Aug 28 2019 Jakub Čajka - 1.13-0.rc1.2 +- Actually fix CVE-2019-9514 and CVE-2019-9512 +- Related: BZ#1741816, BZ#1741827 + +* Mon Aug 26 2019 Jakub Čajka - 1.13-0.rc1.1 +- Rebase to 1.13rc1 +- Fix for CVE-2019-14809, CVE-2019-9514 and CVE-2019-9512 +- Resolves: BZ#1741816, BZ#1741827 and BZ#1743131 + +* Thu Aug 01 2019 Jakub Čajka - 1.13-0.beta1.2.2 +- Fix ICE affecting aarch64 +- Resolves: BZ#1735290 + +* Thu Jul 25 2019 Fedora Release Engineering - 1.13-0.beta1.2.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jul 24 2019 Jakub Čajka - 1.13-0.beta1.2 +- De-configure sumdb and go proxy + +* Wed Jul 24 2019 Jakub Čajka - 1.13-0.beta1.1 +- Rebase to 1.13beta1 +- Related: BZ#1732118 + +* Tue Jul 09 2019 Jakub Čajka - 1.12.7-1 +- Rebase to 1.12.7 +- Resolves: BZ#1728056 + +* Wed Jun 12 2019 Jakub Čajka - 1.12.6-1 +- Rebase to 1.12.6 +- Resolves: BZ#1719483 + +* Tue May 07 2019 Jakub Čajka - 1.12.5-1 +- Rebase to 1.12.5 +- Resolves: BZ#1707187 + +* Mon Apr 08 2019 Jakub Čajka - 1.12.2-1 +- Rebase to 1.12.2 +- Resolves: BZ#1688996 + +* Mon Apr 01 2019 Jakub Čajka - 1.12.1-2 +- Fix up change log, respective CVE has been fixed in go1.12rc1 + +* Fri Mar 15 2019 Jakub Čajka - 1.12.1-1 +- Rebase to 1.12.1 +- Fix requirement for %%preun (instead of %%postun) scriptlet thanks to Tim Landscheidt +- Use weak deps for SCM deps + +* Wed Feb 27 2019 Jakub Čajka - 1.12-1 +- Rebase to go1.12 proper +- Resolves: BZ#1680040 + +* Mon Feb 18 2019 Jakub Čajka - 1.12-0.rc1.1 +- Rebase to go1.12rc1 + +* Thu Jan 31 2019 Fedora Release Engineering - 1.12-0.beta2.2.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sun Jan 27 2019 Jakub Čajka - 1.12-0.beta2.2 +- Fix for CVE-2019-6486 +- Resolves: BZ#1668973 + +* Fri Jan 11 2019 Jakub Čajka - 1.12-0.beta2.1 +- Rebase to go1.12beta2 + +* Wed Jan 02 2019 Jakub Čajka - 1.11.4-1 +- Rebase to go1.11.4 +- Fix for CVE-2018-16875, CVE-2018-16874 and CVE-2018-16873 +- Resolves: BZ#1659290, BZ#1659289, BZ#1659288 + +* Mon Nov 05 2018 Jakub Čajka - 1.11.2-1 +- Rebase to go1.11.2 + +* Thu Oct 04 2018 Jakub Čajka - 1.11.1-1 +- Rebase to go1.11.1 + +* Mon Aug 27 2018 Jakub Čajka - 1.11-1 +- Rebase to go1.11 release + +* Thu Aug 23 2018 Jakub Čajka - 1.11-0.rc2.1 +- Rebase to go1.11rc2 +- Reduce size of bin package + +* Tue Aug 14 2018 Jakub Čajka - 1.11-0.rc1.1 +- Rebase to go1.11rc1 + +* Mon Aug 06 2018 Jakub Čajka - 1.11-0.beta3.1 +- Rebase to go1.11beta3 + +* Fri Jul 27 2018 Jakub Čajka - 1.11-0.beta2.2 +- Turn on back DWARF compression by default +- Use less memory on 32bit targets during build +- Resolves: BZ#1607270 +- Related: BZ#1602096 + +* Fri Jul 20 2018 Jakub Čajka - 1.11-0.beta2.1 +- Rebase to 1.11beta2 + +* Wed Jul 18 2018 Jakub Čajka - 1.11-0.beta1.2 +- Turn off DWARF compression by default as it is not supported by rpm/debuginfo +- Related: BZ#1602096 + +* Fri Jul 13 2018 Fedora Release Engineering - 1.11-0.beta1.1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jul 04 2018 Jakub Čajka - 1.11-0.beta1.1 +* Rebase to 1.11beta1 + +* Fri Jun 08 2018 Jakub Čajka - 1.10.3-1 +- Rebase to 1.10.3 + +* Wed May 02 2018 Jakub Čajka - 1.10.2-1 +- Rebase to 1.10.2 + +* Wed Apr 04 2018 Jakub Čajka - 1.10.1-1 +- Rebase to 1.10.1 +- Resolves: BZ#1562270 + +* Sat Mar 03 2018 Jakub Čajka - 1.10-2 +- Fix CVE-2018-7187 +- Resolves: BZ#1546386, BZ#1546388 + +* Wed Feb 21 2018 Jakub Čajka - 1.10-1 +- Rebase to 1.10 + +* Thu Feb 08 2018 Jakub Čajka - 1.10-0.rc2.1 +- Rebase to 1.10rc2 +- Fix CVE-2018-6574 +- Resolves: BZ#1543561, BZ#1543562 + +* Wed Feb 07 2018 Fedora Release Engineering - 1.10-0.rc1.1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Jan 26 2018 Jakub Čajka - 1.10-0.rc1.1 +- Rebase to 1.10rc1 + +* Fri Jan 12 2018 Jakub Čajka - 1.10-0.beta2.1 +- Rebase to 1.10beta2 + +* Mon Jan 08 2018 Jakub Čajka - 1.10-0.beta1.1 +- Rebase to 1.10beta1 +- Drop verbose patch as most of it is now implemented by bootstrap tool and is easily toggled by passing -v flag to make.bash + +* Thu Oct 26 2017 Jakub Čajka - 1.9.2-1 +- Rebase to 1.9.2 +- execute correctly pie tests +- allow to ignore tests via bcond +- reduce size of golang package + +* Fri Oct 06 2017 Jakub Čajka - 1.9.1-1 +- fix CVE-2017-15041 and CVE-2017-15042 + +* Fri Sep 15 2017 Jakub Čajka - 1.9-1 +- bump to the relased version + +* Wed Aug 02 2017 Fedora Release Engineering - 1.9-0.beta2.1.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.9-0.beta2.1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Jul 11 2017 Jakub Čajka - 1.9-0.beta2.1 +- bump to beta2 + +* Thu May 25 2017 Jakub Čajka - 1.8.3-1 +- bump to 1.8.3 +- fix for CVE-2017-8932 +- make possible to use 31bit OID in ASN1 +- Resolves: BZ#1454978, BZ#1455191 + +* Fri Apr 21 2017 Jakub Čajka - 1.8.1-2 +- fix uint64 constant codegen on s390x +- Resolves: BZ#1441078 + +* Tue Apr 11 2017 Jakub Čajka - 1.8.1-1 +- bump to Go 1.8.1 +- Resolves: BZ#1440345 + +* Fri Feb 24 2017 Jakub Čajka - 1.8-2 +- avoid possibly stale packages due to chacha test file not being test file + +* Fri Feb 17 2017 Jakub Čajka - 1.8-1 +- bump to released version +- Resolves: BZ#1423637 +- Related: BZ#1411242 + +* Fri Feb 10 2017 Fedora Release Engineering - 1.8-0.rc3.2.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Jan 27 2017 Jakub Čajka - 1.8-0.rc3.2 +- make possible to override default traceback level at build time +- add sub-package race containing std lib built with -race enabled +- Related: BZ#1411242 + +* Fri Jan 27 2017 Jakub Čajka - 1.8-0.rc3.1 +- rebase to go1.8rc3 +- Resolves: BZ#1411242 + +* Fri Jan 20 2017 Jakub Čajka - 1.7.4-2 +- Resolves: BZ#1404679 +- expose IfInfomsg.X__ifi_pad on s390x + +* Fri Dec 02 2016 Jakub Čajka - 1.7.4-1 +- Bump to 1.7.4 +- Resolves: BZ#1400732 + +* Thu Nov 17 2016 Tom Callaway - 1.7.3-2 +- re-enable the NIST P-224 curve + +* Thu Oct 20 2016 Jakub Čajka - 1.7.3-1 +- Resolves: BZ#1387067 - golang-1.7.3 is available +- added fix for tests failing with latest tzdata + +* Fri Sep 23 2016 Jakub Čajka - 1.7.1-2 +- fix link failure due to relocation overflows on PPC64X + +* Thu Sep 08 2016 Jakub Čajka - 1.7.1-1 +- rebase to 1.7.1 +- Resolves: BZ#1374103 + +* Tue Aug 23 2016 Jakub Čajka - 1.7-1 +- update to released version +- related: BZ#1342090, BZ#1357394 + +* Mon Aug 08 2016 Jakub Čajka - 1.7-0.3.rc5 +- Obsolete golang-vet and golang-cover from golang-googlecode-tools package + vet/cover binaries are provided by golang-bin rpm (thanks to jchaloup) +- clean up exclusive arch after s390x boostrap +- resolves: #1268206 + +* Wed Aug 03 2016 Jakub Čajka - 1.7-0.2.rc5 +- rebase to go1.7rc5 +- Resolves: BZ#1342090 + +* Thu Jul 21 2016 Fedora Release Engineering - 1.7-0.1.rc2 +- https://fedoraproject.org/wiki/Changes/golang1.7 + +* Tue Jul 19 2016 Jakub Čajka - 1.7-0.0.rc2 +- rebase to 1.7rc2 +- added s390x build +- improved shared lib packaging +- Resolves: bz1357602 - CVE-2016-5386 +- Resolves: bz1342090, bz1342090 + +* Tue Apr 26 2016 Jakub Čajka - 1.6.2-1 +- rebase to 1.6.2 +- Resolves: bz1329206 - golang-1.6.2.src is available + +* Wed Apr 13 2016 Jakub Čajka - 1.6.1-1 +- rebase to 1.6.1 +- Resolves: bz1324344 - CVE-2016-3959 +- Resolves: bz1324951 - prelink is gone, /etc/prelink.conf.d/* is no longer used +- Resolves: bz1326366 - wrong epoll_event struct for ppc64le/ppc64 + +* Mon Feb 22 2016 Jakub Čajka - 1.6-1 +- Resolves: bz1304701 - rebase to go1.6 release +- Resolves: bz1304591 - fix possible stack miss-alignment in callCgoMmap + +* Wed Feb 03 2016 Fedora Release Engineering - 1.6-0.3.rc1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jan 29 2016 Jakub Čajka - 1.6-0.2.rc1 +- disabled cgo and external linking on ppc64 + +* Thu Jan 28 2016 Jakub Čajka - 1.6-0.1.rc1 +- Resolves bz1292640, rebase to pre-release 1.6 +- bootstrap for PowerPC +- fix rpmlint errors/warning + +* Thu Jan 14 2016 Jakub Čajka - 1.5.3-1 +- rebase to 1.5.3 +- resolves bz1293451, CVE-2015-8618 +- apply timezone patch, avoid using bundled data +- print out rpm build system info + +* Fri Dec 11 2015 Jakub Čajka - 1.5.2-2 +- bz1290543 Accept x509 certs with negative serial + +* Tue Dec 08 2015 Jakub Čajka - 1.5.2-1 +- bz1288263 rebase to 1.5.2 +- spec file clean up +- added build options +- scrubbed "Project Gutenberg License" + +* Mon Oct 19 2015 Vincent Batts - 1.5.1-1 +- bz1271709 include patch from upstream fix + +* Wed Sep 09 2015 Vincent Batts - 1.5.1-0 +- update to go1.5.1 + +* Fri Sep 04 2015 Vincent Batts - 1.5-8 +- bz1258166 remove srpm macros, for go-srpm-macros + +* Thu Sep 03 2015 Vincent Batts - 1.5-7 +- bz1258166 remove srpm macros, for go-srpm-macros + +* Thu Aug 27 2015 Vincent Batts - 1.5-6 +- starting a shared object subpackage. This will be x86_64 only until upstream supports more arches shared objects. + +* Thu Aug 27 2015 Vincent Batts - 1.5-5 +- bz991759 gdb path fix + +* Wed Aug 26 2015 Vincent Batts - 1.5-4 +- disable shared object until linux/386 is ironned out +- including the test/ directory for tests + +* Tue Aug 25 2015 Vincent Batts - 1.5-3 +- bz1256910 only allow the golang zoneinfo.zip to be used in tests +- bz1166611 add golang.org/x directory +- bz1256525 include stdlib shared object. This will let other libraries and binaries + build with `go build -buildmode=shared -linkshared ...` or similar. + +* Sun Aug 23 2015 Peter Robinson 1.5-2 +- Enable aarch64 +- Minor cleanups + +* Thu Aug 20 2015 Vincent Batts - 1.5-1 +- updating to go1.5 + +* Thu Aug 06 2015 Vincent Batts - 1.5-0.11.rc1 +- fixing the sources reference + +* Thu Aug 06 2015 Vincent Batts - 1.5-0.10.rc1 +- updating to go1.5rc1 +- checks are back in place + +* Tue Aug 04 2015 Vincent Batts - 1.5-0.9.beta3 +- pull in upstream archive/tar fix + +* Thu Jul 30 2015 Vincent Batts - 1.5-0.8.beta3 +- updating to go1.5beta3 + +* Thu Jul 30 2015 Vincent Batts - 1.5-0.7.beta2 +- add the patch .. + +* Thu Jul 30 2015 Vincent Batts - 1.5-0.6.beta2 +- increase ELFRESERVE (bz1248071) + +* Tue Jul 28 2015 Lokesh Mandvekar - 1.5-0.5.beta2 +- correct package version and release tags as per naming guidelines + +* Fri Jul 17 2015 Vincent Batts - 1.4.99-4.1.5beta2 +- adding test output, for visibility + +* Fri Jul 10 2015 Vincent Batts - 1.4.99-3.1.5beta2 +- updating to go1.5beta2 + +* Fri Jul 10 2015 Vincent Batts - 1.4.99-2.1.5beta1 +- add checksum to sources and fixed one patch + +* Fri Jul 10 2015 Vincent Batts - 1.4.99-1.1.5beta1 +- updating to go1.5beta1 + +* Wed Jun 17 2015 Fedora Release Engineering - 1.4.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Mar 18 2015 Vincent Batts - 1.4.2-2 +- obsoleting deprecated packages + +* Wed Feb 18 2015 Vincent Batts - 1.4.2-1 +- updating to go1.4.2 + +* Fri Jan 16 2015 Vincent Batts - 1.4.1-1 +- updating to go1.4.1 + +* Fri Jan 02 2015 Vincent Batts - 1.4-2 +- doc organizing + +* Thu Dec 11 2014 Vincent Batts - 1.4-1 +- update to go1.4 release + +* Wed Dec 03 2014 Vincent Batts - 1.3.99-3.1.4rc2 +- update to go1.4rc2 + +* Mon Nov 17 2014 Vincent Batts - 1.3.99-2.1.4rc1 +- update to go1.4rc1 + +* Thu Oct 30 2014 Vincent Batts - 1.3.99-1.1.4beta1 +- update to go1.4beta1 + +* Thu Oct 30 2014 Vincent Batts - 1.3.3-3 +- macros will need to be in their own rpm + +* Fri Oct 24 2014 Vincent Batts - 1.3.3-2 +- split out rpm macros (bz1156129) +- progress on gccgo accomodation + +* Wed Oct 01 2014 Vincent Batts - 1.3.3-1 +- update to go1.3.3 (bz1146882) + +* Mon Sep 29 2014 Vincent Batts - 1.3.2-1 +- update to go1.3.2 (bz1147324) + +* Thu Sep 11 2014 Vincent Batts - 1.3.1-3 +- patching the tzinfo failure + +* Sat Aug 16 2014 Fedora Release Engineering - 1.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Wed Aug 13 2014 Vincent Batts - 1.3.1-1 +- update to go1.3.1 + +* Wed Aug 13 2014 Vincent Batts - 1.3-11 +- merged a line wrong + +* Wed Aug 13 2014 Vincent Batts - 1.3-10 +- more work to get cgo.a timestamps to line up, due to build-env +- explicitly list all the files and directories for the source and packages trees +- touch all the built archives to be the same + +* Mon Aug 11 2014 Vincent Batts - 1.3-9 +- make golang-src 'noarch' again, since that was not a fix, and takes up more space + +* Mon Aug 11 2014 Vincent Batts - 1.3-8 +- update timestamps of source files during %%install bz1099206 + +* Fri Aug 08 2014 Vincent Batts - 1.3-7 +- update timestamps of source during %%install bz1099206 + +* Wed Aug 06 2014 Vincent Batts - 1.3-6 +- make the source subpackage arch'ed, instead of noarch + +* Mon Jul 21 2014 Vincent Batts - 1.3-5 +- fix the writing of pax headers + +* Tue Jul 15 2014 Vincent Batts - 1.3-4 +- fix the loading of gdb safe-path. bz981356 + +* Tue Jul 08 2014 Vincent Batts - 1.3-3 +- `go install std` requires gcc, to build cgo. bz1105901, bz1101508 + +* Mon Jul 07 2014 Vincent Batts - 1.3-2 +- archive/tar memory allocation improvements + +* Thu Jun 19 2014 Vincent Batts - 1.3-1 +- update to go1.3 + +* Fri Jun 13 2014 Vincent Batts - 1.3rc2-1 +- update to go1.3rc2 + +* Sat Jun 07 2014 Fedora Release Engineering - 1.3rc1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Jun 03 2014 Vincent Batts 1.3rc1-1 +- update to go1.3rc1 +- new arch file shuffling + +* Wed May 21 2014 Vincent Batts 1.3beta2-1 +- update to go1.3beta2 +- no longer provides go-mode for xemacs (emacs only) + +* Wed May 21 2014 Vincent Batts 1.2.2-7 +- bz1099206 ghost files are not what is needed + +* Tue May 20 2014 Vincent Batts 1.2.2-6 +- bz1099206 more fixing. The packages %%post need golang-bin present first + +* Tue May 20 2014 Vincent Batts 1.2.2-5 +- bz1099206 more fixing. Let go fix its own timestamps and freshness + +* Tue May 20 2014 Vincent Batts 1.2.2-4 +- fix the existence and alternatives of `go` and `gofmt` + +* Mon May 19 2014 Vincent Batts 1.2.2-3 +- bz1099206 fix timestamp issue caused by koji builders + +* Fri May 09 2014 Vincent Batts 1.2.2-2 +- more arch file shuffling + +* Fri May 09 2014 Vincent Batts 1.2.2-1 +- update to go1.2.2 + +* Thu May 08 2014 Vincent Batts 1.2.1-8 +- RHEL6 rpm macros can't %%exlude missing files + +* Wed May 07 2014 Vincent Batts 1.2.1-7 +- missed two arch-dependent src files + +* Wed May 07 2014 Vincent Batts 1.2.1-6 +- put generated arch-dependent src in their respective RPMs + +* Fri Apr 11 2014 Vincent Batts 1.2.1-5 +- skip test that is causing a SIGABRT on fc21 bz1086900 + +* Thu Apr 10 2014 Vincent Batts 1.2.1-4 +- fixing file and directory ownership bz1010713 + +* Wed Apr 09 2014 Vincent Batts 1.2.1-3 +- including more to macros (%%go_arches) +- set a standard goroot as /usr/lib/golang, regardless of arch +- include sub-packages for compiler toolchains, for all golang supported architectures + +* Wed Mar 26 2014 Vincent Batts 1.2.1-2 +- provide a system rpm macros. Starting with gopath + +* Tue Mar 04 2014 Adam Miller 1.2.1-1 +- Update to latest upstream + +* Thu Feb 20 2014 Adam Miller 1.2-7 +- Remove _BSD_SOURCE and _SVID_SOURCE, they are deprecated in recent + versions of glibc and aren't needed + +* Wed Feb 19 2014 Adam Miller 1.2-6 +- pull in upstream archive/tar implementation that supports xattr for + docker 0.8.1 + +* Tue Feb 18 2014 Vincent Batts 1.2-5 +- provide 'go', so users can yum install 'go' + +* Fri Jan 24 2014 Vincent Batts 1.2-4 +- skip a flaky test that is sporadically failing on the build server + +* Thu Jan 16 2014 Vincent Batts 1.2-3 +- remove golang-godoc dependency. cyclic dependency on compiling godoc + +* Wed Dec 18 2013 Vincent Batts - 1.2-2 +- removing P224 ECC curve + +* Mon Dec 2 2013 Vincent Batts - 1.2-1 +- Update to upstream 1.2 release +- remove the pax tar patches + +* Tue Nov 26 2013 Vincent Batts - 1.1.2-8 +- fix the rpmspec conditional for rhel and fedora + +* Thu Nov 21 2013 Vincent Batts - 1.1.2-7 +- patch tests for testing on rawhide +- let the same spec work for rhel and fedora + +* Wed Nov 20 2013 Vincent Batts - 1.1.2-6 +- don't symlink /usr/bin out to ../lib..., move the file +- seperate out godoc, to accomodate the go.tools godoc + +* Fri Sep 20 2013 Adam Miller - 1.1.2-5 +- Pull upstream patches for BZ#1010271 +- Add glibc requirement that got dropped because of meta dep fix + +* Fri Aug 30 2013 Adam Miller - 1.1.2-4 +- fix the libc meta dependency (thanks to vbatts [at] redhat.com for the fix) + +* Tue Aug 27 2013 Adam Miller - 1.1.2-3 +- Revert incorrect merged changelog + +* Tue Aug 27 2013 Adam Miller - 1.1.2-2 +- This was reverted, just a placeholder changelog entry for bad merge + +* Tue Aug 20 2013 Adam Miller - 1.1.2-1 +- Update to latest upstream + +* Sat Aug 03 2013 Fedora Release Engineering - 1.1.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Jul 17 2013 Petr Pisar - 1.1.1-6 +- Perl 5.18 rebuild + +* Wed Jul 10 2013 Adam Goode - 1.1.1-5 +- Blacklist testdata files from prelink +- Again try to fix #973842 + +* Fri Jul 5 2013 Adam Goode - 1.1.1-4 +- Move src to libdir for now (#973842) (upstream issue https://code.google.com/p/go/issues/detail?id=5830) +- Eliminate noarch data package to work around RPM bug (#975909) +- Try to add runtime-gdb.py to the gdb safe-path (#981356) + +* Wed Jun 19 2013 Adam Goode - 1.1.1-3 +- Use lua for pretrans (http://fedoraproject.org/wiki/Packaging:Guidelines#The_.25pretrans_scriptlet) + +* Mon Jun 17 2013 Adam Goode - 1.1.1-2 +- Hopefully really fix #973842 +- Fix update from pre-1.1.1 (#974840) + +* Thu Jun 13 2013 Adam Goode - 1.1.1-1 +- Update to 1.1.1 +- Fix basically useless package (#973842) + +* Sat May 25 2013 Dan Horák - 1.1-3 +- set ExclusiveArch + +* Fri May 24 2013 Adam Goode - 1.1-2 +- Fix noarch package discrepancies + +* Fri May 24 2013 Adam Goode - 1.1-1 +- Initial Fedora release. +- Update to 1.1 + +* Thu May 9 2013 Adam Goode - 1.1-0.3.rc3 +- Update to rc3 + +* Thu Apr 11 2013 Adam Goode - 1.1-0.2.beta2 +- Update to beta2 + +* Tue Apr 9 2013 Adam Goode - 1.1-0.1.beta1 +- Initial packaging. diff --git a/golang.spec b/golang.spec index 6442a61..72dafce 100644 --- a/golang.spec +++ b/golang.spec @@ -115,7 +115,7 @@ Name: golang Version: %{go_version} -Release: %{baserelease}%{?dist} +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 @@ -614,904 +614,4 @@ fi %files -n go-toolset %changelog -* Thu Sep 28 2023 Alejandro Sáez - 1.20.6-3 -- Migrated to SPDX license - -* Tue Sep 05 2023 Yaakov Selkowitz - 1.20.6-2 -- Drop unused pcre dependency - -* Tue Aug 01 2023 Alejandro Sáez - 1.20.6-1 -- Update to go 1.20.6 - -* Wed Jun 28 2023 Yaakov Selkowitz - 1.20.5-4 -- Add go-toolset subpackage - -* Thu Jun 22 2023 Yaakov Selkowitz - 1.20.5-3 -- Add runtime requirement for openssl-devel - -* Wed Jun 14 2023 Alejandro Sáez - 1.20.5-2 -- Package bump up do to a mistake I made - -* Wed Jun 14 2023 Alejandro Sáez - 1.20.5-1 -- Update to go1.20.5 - -* Tue Jun 13 2023 Alejandro Sáez - 1.20.4-3 -- Add FIPS support for RHEL targets - -* Tue May 02 2023 Alejandro Sáez - 1.20.4-1 -- Update to go1.20.4 -- Resolves: rhbz#2184454 - -* Sat Apr 15 2023 Maxwell G - 1.20.3-2 -- Fix broken golang-race update path - -* Tue Apr 04 2023 Alejandro Sáez - 1.20.3-1 -- Update to go1.20.3 - -* Fri Mar 10 2023 Mike Rochefort - 1.20.2-1 -- Update to go1.20.2 -- Resolves: rhbz#2176528 - -* Wed Feb 15 2023 Alejandro Sáez - 1.20.1 -- Update to go1.20.1 -- Resolves: rhbz#2169896 - -* Thu Feb 02 2023 Alejandro Sáez - 1.20-1 -- Update to go1.20 -- Resolves: rhbz#2152070 - -* Thu Jan 19 2023 Fedora Release Engineering - 1.20~rc3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Tue Jan 17 2023 Alejandro Sáez - 1.20~rc3-1 -- Update to go1.20rc3 -- Disable race package due go 1.20 new feature - -* Wed Jan 04 2023 Alejandro Sáez - 1.20-0.rc2-1 -- Update to go1.20rc2 - -* Wed Dec 07 2022 Alejandro Sáez - 1.19.4-1 -- Update to go1.19.4 -- Resolves: rhbz#2151595 - -* Tue Nov 8 2022 Amit Shah - 1.19.3-2 -- Fix build without binutils-gold - -* Sun Nov 06 2022 Mike Rochefort - 1.19.3-1 -- Update to go1.19.3 -- Resolves: rhbz#2139548 - -* Tue Oct 04 2022 Alejandro Sáez - 1.19.2-1 -- Update to go1.19.2 - -* Tue Sep 06 2022 Alejandro Sáez - 1.19.1-1 -- Update to go1.19.1 - -* Tue Aug 02 2022 Alejandro Sáez - 1.19-1 -- Update to go1.19.0 -- Remove reference to AUTHORS and CONTRIBUTORS due to https://github.com/golang/go/issues/53961 - -* Thu Jul 21 2022 Fedora Release Engineering - 1.19~rc2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon Jul 18 2022 Mike Rochefort - 1.19~rc2-1 -- Update to go1.19rc2 -- Remove tzdata patch -- Remove go-srpm-macros runtime requirement -- Resolves: rhbz#2095927 - -* Wed Jul 13 2022 Alejandro Sáez - 1.18.4-1 -- Update to 1.18.4 - -* Sun Jun 19 2022 Robert-André Mauchin - 1.18.3-2 -- Rebuilt for CVE-2022-1996, CVE-2022-24675, CVE-2022-28327, CVE-2022-27191, - CVE-2022-29526, CVE-2022-30629 - -* Thu Jun 02 2022 Alejandro Sáez - 1.18.3-1 -- Update to 1.18.3 -- Resolves: rhbz#2092631 - -* Sun May 15 2022 Mike Rochefort - 1.18.2-1 -- Update to 1.18.2 -- Resolves: rhbz#2075141 - -* Tue Apr 12 2022 Alejandro Sáez - 1.18.1-1 -- Update to 1.18.1 - -* Tue Mar 15 2022 Mike Rochefort - 1.18-1 -- Update to 1.18 -- Resolves: rhbz#2064409 - -* Thu Feb 17 2022 Mike Rochefort - 1.18~rc1-1 -- Update to 1.18rc1 -- Resolves: rhbz#2002859 - -* Mon Jan 31 2022 Mike Rochefort - 1.18~beta2-1 -- Update to 1.18beta2 -- Remove testshared-size-limit patch (now upstream) 83fc097 -- Related: rhbz#2002859 - -* Thu Jan 20 2022 Fedora Release Engineering - 1.18~beta1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Tue Dec 14 2021 Mike Rochefort - 1.18beta1-1 -- Update to 1.18beta1 -- Related: rhbz#2002859 - -* Tue Dec 14 2021 Alejandro Sáez - 1.17.5-1 -- Update to 1.17.5 -- Update bundles -- Related: rhbz#2002859 - -* Tue Dec 07 2021 Alejandro Sáez - 1.17.4-1 -- Update to 1.17.4 -- Related: rhbz#2002859 - -* Mon Nov 22 2021 Alejandro Sáez - 1.17.3-1 -- Update to 1.17.3 -- Related: rhbz#2002859 - -* Wed Aug 18 2021 Alejandro Sáez - 1.17-1 -- Update to go1.17 -- Resolves: rhbz#1957935 - -* Mon Aug 09 2021 Alejandro Sáez - 1.17-0.rc2 -- Update to go1.17rc2 -- Update patches -- Remove patch, already in the source https://go-review.googlesource.com/c/go/+/334410/ - -* Thu Jul 29 2021 Jakub Čajka - 1.16.6-3 -- fix crash in VDSO calls on ppc64le with new kernels - -* Thu Jul 22 2021 Fedora Release Engineering - 1.16.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jul 14 2021 Mike Rochefort - 1.16.6-1 -- Update to go1.16.6 -- Security fix for CVE-2021-34558 -- Resolves: BZ#1983597 - -* Mon Jun 21 2021 Mike Rochefort - 1.16.5-1 -- Update to go1.16.5 -- Security fix for CVE-2021-33195 -- Security fix for CVE-2021-33196 -- Security fix for CVE-2021-33197 -- Fix OOM with large exponents in Rat.SetString gh#45910 - -* Thu May 13 2021 Jakub Čajka - 1.16.4-2 -- Fix linker issue on ppc64le breaking kube 1.21 build - -* Mon May 10 2021 Alejandro Sáez - 1.16.4-1 -- Update to go1.16.4 -- Security fix for CVE-2021-31525 -- Resolves: rhbz#1958343 - -* Fri Apr 09 2021 Alejandro Sáez - 1.16.3-1 -- Update to go1.16.3 - -* Tue Mar 23 2021 Alejandro Sáez - 1.16-2 -- Update to go1.16.2 -- Resolves: rhbz#1937435 - -* Thu Feb 18 2021 Jakub Čajka - 1.16-1 -- Update to go1.16 -- Improved bundled provides -- Resolves: BZ#1913835 - -* Sun Jan 31 2021 Neal Gompa - 1.16-0.rc1.1 -- Update to go1.16rc1 -- Related: BZ#1913835 -- Resolves: BZ#1922617 - -* Tue Jan 26 2021 Fedora Release Engineering - 1.16-0.beta1.1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Fri Jan 15 2021 Jakub Čajka - 1.16-0.beta1.1 -- Update to go1.16beta1 -- Related: BZ#1913835 - -* Fri Dec 04 2020 Jakub Čajka - 1.15.6-1 -- Rebase to go1.15.6 -- Resolves: BZ#1904238 - -* Fri Nov 13 2020 Jakub Čajka - 1.15.5-1 -- Rebase to go1.15.5 -- Security fix for CVE-2020-28362, CVE-2020-28367 and CVE-2020-28366 -- Resolves: BZ#1897342, BZ#1897636, BZ#1897644, BZ#1897647 - -* Fri Nov 06 2020 Jakub Čajka - 1.15.4-1 -- Rebase to go1.15.4 -- Resolves: BZ#1895189 - -* Thu Oct 15 2020 Jakub Čajka - 1.15.3-1 -- Rebase to go1.15.3 -- Resolves: BZ#1888443 - -* Thu Sep 10 2020 Jakub Čajka - 1.15.2-1 -- Rebase to go1.15.2 -- Resolves: BZ#1877565 - -* Thu Sep 03 2020 Jakub Čajka - 1.15.1-1 -- Rebase to go1.15.1 -- Security fix for CVE-2020-24553 -- Resolves: BZ#1874858, BZ#1866892 - -* Wed Aug 12 2020 Jakub Čajka - 1.15-1 -- Rebase to go1.15 proper -- Resolves: BZ#1859241, BZ#1866892 - -* Mon Aug 10 2020 Jakub Čajka - 1.15-0.rc2.0 -- Rebase to go1.15rc1 -- Security fix for CVE-2020-16845 -- Resolves: BZ#1867101 -- Related: BZ#1859241 - -* Mon Jul 27 2020 Fedora Release Engineering - 1.15-0.rc1.0.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jul 27 2020 Jakub Čajka - 1.15-0.rc1.0 -- Rebase to go1.15rc1 -- Related: BZ#1859241 - -* Mon Jul 20 2020 Jakub Čajka - 1.15-0.beta1.0 -- Rebase to go1.15beta1 - -* Mon Jul 20 2020 Jakub Čajka - 1.14.6-1 -- Rebase to go1.14.6 -- Security fix for CVE-2020-14040 and CVE-2020-15586 -- Resolves: BZ#1842708, BZ#1856957, BZ#1853653 - -* Tue Jun 30 2020 Alejandro Sáez - 1.14.4-1 -- Rebase to go1.14.4 -- Add patch that fixes: https://golang.org/issue/39991 -- Related: BZ#1842708 - -* Mon May 18 2020 Álex Sáez - 1.14.3-1 -- Rebase to go1.14.3 -- Resolves: BZ#1836015 - -* Mon Apr 20 2020 Jakub Čajka - 1.14.2-1 -- Rebase to go1.14.2 -- Resolves: BZ#1815282 - -* Wed Feb 26 2020 Jakub Čajka - 1.14-1 -- Rebase to go1.14 proper -- Resolves: BZ#1792475 - -* Thu Feb 06 2020 Jakub Čajka - 1.14-0.rc1.0 -- Rebase to go1.14.rc1 -- Related: BZ#1792475 - -* Tue Jan 28 2020 Fedora Release Engineering - 1.14-0.beta1.0.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Mon Jan 20 2020 Jakub Čajka - 1.14-0.beta1.0 -- Rebase to go1.14beta1 -- Resolves: BZ#1792475 - -* Mon Jan 13 2020 Jakub Čajka - 1.13.6-1 -- Rebase to go1.13.6 - -* Thu Dec 05 2019 Jakub Čajka - 1.13.5-1 -- Rebase to go1.13.5 - -* Tue Nov 26 2019 Neal Gompa - 1.13.4-2 -- Small fixes to the spec and tighten up the file list - -* Fri Nov 01 2019 Jakub Čajka - 1.13.4-1 -- Rebase to go1.13.4 -- Resolves BZ#1767673 - -* Sat Oct 19 2019 Jakub Čajka - 1.13.3-1 -- Rebase to go1.13.3 -- Fix for CVE-2019-17596 -- Resolves: BZ#1755639, BZ#1763312 - -* Fri Sep 27 2019 Jakub Čajka - 1.13.1-1 -- Rebase to go1.13.1 -- Fix for CVE-2019-16276 -- Resolves: BZ#1755970 - -* Thu Sep 05 2019 Jakub Čajka - 1.13-2 -- Back to go1.13 tls1.3 behavior - -* Wed Sep 04 2019 Jakub Čajka - 1.13-1 -- Rebase to go1.13 - -* Fri Aug 30 2019 Jakub Čajka - 1.13-0.rc2.1 -- Rebase to go1.13rc2 -- Do not enable tls1.3 by default -- Related: BZ#1737471 - -* Wed Aug 28 2019 Jakub Čajka - 1.13-0.rc1.2 -- Actually fix CVE-2019-9514 and CVE-2019-9512 -- Related: BZ#1741816, BZ#1741827 - -* Mon Aug 26 2019 Jakub Čajka - 1.13-0.rc1.1 -- Rebase to 1.13rc1 -- Fix for CVE-2019-14809, CVE-2019-9514 and CVE-2019-9512 -- Resolves: BZ#1741816, BZ#1741827 and BZ#1743131 - -* Thu Aug 01 2019 Jakub Čajka - 1.13-0.beta1.2.2 -- Fix ICE affecting aarch64 -- Resolves: BZ#1735290 - -* Thu Jul 25 2019 Fedora Release Engineering - 1.13-0.beta1.2.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Wed Jul 24 2019 Jakub Čajka - 1.13-0.beta1.2 -- De-configure sumdb and go proxy - -* Wed Jul 24 2019 Jakub Čajka - 1.13-0.beta1.1 -- Rebase to 1.13beta1 -- Related: BZ#1732118 - -* Tue Jul 09 2019 Jakub Čajka - 1.12.7-1 -- Rebase to 1.12.7 -- Resolves: BZ#1728056 - -* Wed Jun 12 2019 Jakub Čajka - 1.12.6-1 -- Rebase to 1.12.6 -- Resolves: BZ#1719483 - -* Tue May 07 2019 Jakub Čajka - 1.12.5-1 -- Rebase to 1.12.5 -- Resolves: BZ#1707187 - -* Mon Apr 08 2019 Jakub Čajka - 1.12.2-1 -- Rebase to 1.12.2 -- Resolves: BZ#1688996 - -* Mon Apr 01 2019 Jakub Čajka - 1.12.1-2 -- Fix up change log, respective CVE has been fixed in go1.12rc1 - -* Fri Mar 15 2019 Jakub Čajka - 1.12.1-1 -- Rebase to 1.12.1 -- Fix requirement for %%preun (instead of %%postun) scriptlet thanks to Tim Landscheidt -- Use weak deps for SCM deps - -* Wed Feb 27 2019 Jakub Čajka - 1.12-1 -- Rebase to go1.12 proper -- Resolves: BZ#1680040 - -* Mon Feb 18 2019 Jakub Čajka - 1.12-0.rc1.1 -- Rebase to go1.12rc1 - -* Thu Jan 31 2019 Fedora Release Engineering - 1.12-0.beta2.2.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sun Jan 27 2019 Jakub Čajka - 1.12-0.beta2.2 -- Fix for CVE-2019-6486 -- Resolves: BZ#1668973 - -* Fri Jan 11 2019 Jakub Čajka - 1.12-0.beta2.1 -- Rebase to go1.12beta2 - -* Wed Jan 02 2019 Jakub Čajka - 1.11.4-1 -- Rebase to go1.11.4 -- Fix for CVE-2018-16875, CVE-2018-16874 and CVE-2018-16873 -- Resolves: BZ#1659290, BZ#1659289, BZ#1659288 - -* Mon Nov 05 2018 Jakub Čajka - 1.11.2-1 -- Rebase to go1.11.2 - -* Thu Oct 04 2018 Jakub Čajka - 1.11.1-1 -- Rebase to go1.11.1 - -* Mon Aug 27 2018 Jakub Čajka - 1.11-1 -- Rebase to go1.11 release - -* Thu Aug 23 2018 Jakub Čajka - 1.11-0.rc2.1 -- Rebase to go1.11rc2 -- Reduce size of bin package - -* Tue Aug 14 2018 Jakub Čajka - 1.11-0.rc1.1 -- Rebase to go1.11rc1 - -* Mon Aug 06 2018 Jakub Čajka - 1.11-0.beta3.1 -- Rebase to go1.11beta3 - -* Fri Jul 27 2018 Jakub Čajka - 1.11-0.beta2.2 -- Turn on back DWARF compression by default -- Use less memory on 32bit targets during build -- Resolves: BZ#1607270 -- Related: BZ#1602096 - -* Fri Jul 20 2018 Jakub Čajka - 1.11-0.beta2.1 -- Rebase to 1.11beta2 - -* Wed Jul 18 2018 Jakub Čajka - 1.11-0.beta1.2 -- Turn off DWARF compression by default as it is not supported by rpm/debuginfo -- Related: BZ#1602096 - -* Fri Jul 13 2018 Fedora Release Engineering - 1.11-0.beta1.1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Wed Jul 04 2018 Jakub Čajka - 1.11-0.beta1.1 -* Rebase to 1.11beta1 - -* Fri Jun 08 2018 Jakub Čajka - 1.10.3-1 -- Rebase to 1.10.3 - -* Wed May 02 2018 Jakub Čajka - 1.10.2-1 -- Rebase to 1.10.2 - -* Wed Apr 04 2018 Jakub Čajka - 1.10.1-1 -- Rebase to 1.10.1 -- Resolves: BZ#1562270 - -* Sat Mar 03 2018 Jakub Čajka - 1.10-2 -- Fix CVE-2018-7187 -- Resolves: BZ#1546386, BZ#1546388 - -* Wed Feb 21 2018 Jakub Čajka - 1.10-1 -- Rebase to 1.10 - -* Thu Feb 08 2018 Jakub Čajka - 1.10-0.rc2.1 -- Rebase to 1.10rc2 -- Fix CVE-2018-6574 -- Resolves: BZ#1543561, BZ#1543562 - -* Wed Feb 07 2018 Fedora Release Engineering - 1.10-0.rc1.1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Fri Jan 26 2018 Jakub Čajka - 1.10-0.rc1.1 -- Rebase to 1.10rc1 - -* Fri Jan 12 2018 Jakub Čajka - 1.10-0.beta2.1 -- Rebase to 1.10beta2 - -* Mon Jan 08 2018 Jakub Čajka - 1.10-0.beta1.1 -- Rebase to 1.10beta1 -- Drop verbose patch as most of it is now implemented by bootstrap tool and is easily toggled by passing -v flag to make.bash - -* Thu Oct 26 2017 Jakub Čajka - 1.9.2-1 -- Rebase to 1.9.2 -- execute correctly pie tests -- allow to ignore tests via bcond -- reduce size of golang package - -* Fri Oct 06 2017 Jakub Čajka - 1.9.1-1 -- fix CVE-2017-15041 and CVE-2017-15042 - -* Fri Sep 15 2017 Jakub Čajka - 1.9-1 -- bump to the relased version - -* Wed Aug 02 2017 Fedora Release Engineering - 1.9-0.beta2.1.2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 1.9-0.beta2.1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Tue Jul 11 2017 Jakub Čajka - 1.9-0.beta2.1 -- bump to beta2 - -* Thu May 25 2017 Jakub Čajka - 1.8.3-1 -- bump to 1.8.3 -- fix for CVE-2017-8932 -- make possible to use 31bit OID in ASN1 -- Resolves: BZ#1454978, BZ#1455191 - -* Fri Apr 21 2017 Jakub Čajka - 1.8.1-2 -- fix uint64 constant codegen on s390x -- Resolves: BZ#1441078 - -* Tue Apr 11 2017 Jakub Čajka - 1.8.1-1 -- bump to Go 1.8.1 -- Resolves: BZ#1440345 - -* Fri Feb 24 2017 Jakub Čajka - 1.8-2 -- avoid possibly stale packages due to chacha test file not being test file - -* Fri Feb 17 2017 Jakub Čajka - 1.8-1 -- bump to released version -- Resolves: BZ#1423637 -- Related: BZ#1411242 - -* Fri Feb 10 2017 Fedora Release Engineering - 1.8-0.rc3.2.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Fri Jan 27 2017 Jakub Čajka - 1.8-0.rc3.2 -- make possible to override default traceback level at build time -- add sub-package race containing std lib built with -race enabled -- Related: BZ#1411242 - -* Fri Jan 27 2017 Jakub Čajka - 1.8-0.rc3.1 -- rebase to go1.8rc3 -- Resolves: BZ#1411242 - -* Fri Jan 20 2017 Jakub Čajka - 1.7.4-2 -- Resolves: BZ#1404679 -- expose IfInfomsg.X__ifi_pad on s390x - -* Fri Dec 02 2016 Jakub Čajka - 1.7.4-1 -- Bump to 1.7.4 -- Resolves: BZ#1400732 - -* Thu Nov 17 2016 Tom Callaway - 1.7.3-2 -- re-enable the NIST P-224 curve - -* Thu Oct 20 2016 Jakub Čajka - 1.7.3-1 -- Resolves: BZ#1387067 - golang-1.7.3 is available -- added fix for tests failing with latest tzdata - -* Fri Sep 23 2016 Jakub Čajka - 1.7.1-2 -- fix link failure due to relocation overflows on PPC64X - -* Thu Sep 08 2016 Jakub Čajka - 1.7.1-1 -- rebase to 1.7.1 -- Resolves: BZ#1374103 - -* Tue Aug 23 2016 Jakub Čajka - 1.7-1 -- update to released version -- related: BZ#1342090, BZ#1357394 - -* Mon Aug 08 2016 Jakub Čajka - 1.7-0.3.rc5 -- Obsolete golang-vet and golang-cover from golang-googlecode-tools package - vet/cover binaries are provided by golang-bin rpm (thanks to jchaloup) -- clean up exclusive arch after s390x boostrap -- resolves: #1268206 - -* Wed Aug 03 2016 Jakub Čajka - 1.7-0.2.rc5 -- rebase to go1.7rc5 -- Resolves: BZ#1342090 - -* Thu Jul 21 2016 Fedora Release Engineering - 1.7-0.1.rc2 -- https://fedoraproject.org/wiki/Changes/golang1.7 - -* Tue Jul 19 2016 Jakub Čajka - 1.7-0.0.rc2 -- rebase to 1.7rc2 -- added s390x build -- improved shared lib packaging -- Resolves: bz1357602 - CVE-2016-5386 -- Resolves: bz1342090, bz1342090 - -* Tue Apr 26 2016 Jakub Čajka - 1.6.2-1 -- rebase to 1.6.2 -- Resolves: bz1329206 - golang-1.6.2.src is available - -* Wed Apr 13 2016 Jakub Čajka - 1.6.1-1 -- rebase to 1.6.1 -- Resolves: bz1324344 - CVE-2016-3959 -- Resolves: bz1324951 - prelink is gone, /etc/prelink.conf.d/* is no longer used -- Resolves: bz1326366 - wrong epoll_event struct for ppc64le/ppc64 - -* Mon Feb 22 2016 Jakub Čajka - 1.6-1 -- Resolves: bz1304701 - rebase to go1.6 release -- Resolves: bz1304591 - fix possible stack miss-alignment in callCgoMmap - -* Wed Feb 03 2016 Fedora Release Engineering - 1.6-0.3.rc1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Fri Jan 29 2016 Jakub Čajka - 1.6-0.2.rc1 -- disabled cgo and external linking on ppc64 - -* Thu Jan 28 2016 Jakub Čajka - 1.6-0.1.rc1 -- Resolves bz1292640, rebase to pre-release 1.6 -- bootstrap for PowerPC -- fix rpmlint errors/warning - -* Thu Jan 14 2016 Jakub Čajka - 1.5.3-1 -- rebase to 1.5.3 -- resolves bz1293451, CVE-2015-8618 -- apply timezone patch, avoid using bundled data -- print out rpm build system info - -* Fri Dec 11 2015 Jakub Čajka - 1.5.2-2 -- bz1290543 Accept x509 certs with negative serial - -* Tue Dec 08 2015 Jakub Čajka - 1.5.2-1 -- bz1288263 rebase to 1.5.2 -- spec file clean up -- added build options -- scrubbed "Project Gutenberg License" - -* Mon Oct 19 2015 Vincent Batts - 1.5.1-1 -- bz1271709 include patch from upstream fix - -* Wed Sep 09 2015 Vincent Batts - 1.5.1-0 -- update to go1.5.1 - -* Fri Sep 04 2015 Vincent Batts - 1.5-8 -- bz1258166 remove srpm macros, for go-srpm-macros - -* Thu Sep 03 2015 Vincent Batts - 1.5-7 -- bz1258166 remove srpm macros, for go-srpm-macros - -* Thu Aug 27 2015 Vincent Batts - 1.5-6 -- starting a shared object subpackage. This will be x86_64 only until upstream supports more arches shared objects. - -* Thu Aug 27 2015 Vincent Batts - 1.5-5 -- bz991759 gdb path fix - -* Wed Aug 26 2015 Vincent Batts - 1.5-4 -- disable shared object until linux/386 is ironned out -- including the test/ directory for tests - -* Tue Aug 25 2015 Vincent Batts - 1.5-3 -- bz1256910 only allow the golang zoneinfo.zip to be used in tests -- bz1166611 add golang.org/x directory -- bz1256525 include stdlib shared object. This will let other libraries and binaries - build with `go build -buildmode=shared -linkshared ...` or similar. - -* Sun Aug 23 2015 Peter Robinson 1.5-2 -- Enable aarch64 -- Minor cleanups - -* Thu Aug 20 2015 Vincent Batts - 1.5-1 -- updating to go1.5 - -* Thu Aug 06 2015 Vincent Batts - 1.5-0.11.rc1 -- fixing the sources reference - -* Thu Aug 06 2015 Vincent Batts - 1.5-0.10.rc1 -- updating to go1.5rc1 -- checks are back in place - -* Tue Aug 04 2015 Vincent Batts - 1.5-0.9.beta3 -- pull in upstream archive/tar fix - -* Thu Jul 30 2015 Vincent Batts - 1.5-0.8.beta3 -- updating to go1.5beta3 - -* Thu Jul 30 2015 Vincent Batts - 1.5-0.7.beta2 -- add the patch .. - -* Thu Jul 30 2015 Vincent Batts - 1.5-0.6.beta2 -- increase ELFRESERVE (bz1248071) - -* Tue Jul 28 2015 Lokesh Mandvekar - 1.5-0.5.beta2 -- correct package version and release tags as per naming guidelines - -* Fri Jul 17 2015 Vincent Batts - 1.4.99-4.1.5beta2 -- adding test output, for visibility - -* Fri Jul 10 2015 Vincent Batts - 1.4.99-3.1.5beta2 -- updating to go1.5beta2 - -* Fri Jul 10 2015 Vincent Batts - 1.4.99-2.1.5beta1 -- add checksum to sources and fixed one patch - -* Fri Jul 10 2015 Vincent Batts - 1.4.99-1.1.5beta1 -- updating to go1.5beta1 - -* Wed Jun 17 2015 Fedora Release Engineering - 1.4.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Wed Mar 18 2015 Vincent Batts - 1.4.2-2 -- obsoleting deprecated packages - -* Wed Feb 18 2015 Vincent Batts - 1.4.2-1 -- updating to go1.4.2 - -* Fri Jan 16 2015 Vincent Batts - 1.4.1-1 -- updating to go1.4.1 - -* Fri Jan 02 2015 Vincent Batts - 1.4-2 -- doc organizing - -* Thu Dec 11 2014 Vincent Batts - 1.4-1 -- update to go1.4 release - -* Wed Dec 03 2014 Vincent Batts - 1.3.99-3.1.4rc2 -- update to go1.4rc2 - -* Mon Nov 17 2014 Vincent Batts - 1.3.99-2.1.4rc1 -- update to go1.4rc1 - -* Thu Oct 30 2014 Vincent Batts - 1.3.99-1.1.4beta1 -- update to go1.4beta1 - -* Thu Oct 30 2014 Vincent Batts - 1.3.3-3 -- macros will need to be in their own rpm - -* Fri Oct 24 2014 Vincent Batts - 1.3.3-2 -- split out rpm macros (bz1156129) -- progress on gccgo accomodation - -* Wed Oct 01 2014 Vincent Batts - 1.3.3-1 -- update to go1.3.3 (bz1146882) - -* Mon Sep 29 2014 Vincent Batts - 1.3.2-1 -- update to go1.3.2 (bz1147324) - -* Thu Sep 11 2014 Vincent Batts - 1.3.1-3 -- patching the tzinfo failure - -* Sat Aug 16 2014 Fedora Release Engineering - 1.3.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Wed Aug 13 2014 Vincent Batts - 1.3.1-1 -- update to go1.3.1 - -* Wed Aug 13 2014 Vincent Batts - 1.3-11 -- merged a line wrong - -* Wed Aug 13 2014 Vincent Batts - 1.3-10 -- more work to get cgo.a timestamps to line up, due to build-env -- explicitly list all the files and directories for the source and packages trees -- touch all the built archives to be the same - -* Mon Aug 11 2014 Vincent Batts - 1.3-9 -- make golang-src 'noarch' again, since that was not a fix, and takes up more space - -* Mon Aug 11 2014 Vincent Batts - 1.3-8 -- update timestamps of source files during %%install bz1099206 - -* Fri Aug 08 2014 Vincent Batts - 1.3-7 -- update timestamps of source during %%install bz1099206 - -* Wed Aug 06 2014 Vincent Batts - 1.3-6 -- make the source subpackage arch'ed, instead of noarch - -* Mon Jul 21 2014 Vincent Batts - 1.3-5 -- fix the writing of pax headers - -* Tue Jul 15 2014 Vincent Batts - 1.3-4 -- fix the loading of gdb safe-path. bz981356 - -* Tue Jul 08 2014 Vincent Batts - 1.3-3 -- `go install std` requires gcc, to build cgo. bz1105901, bz1101508 - -* Mon Jul 07 2014 Vincent Batts - 1.3-2 -- archive/tar memory allocation improvements - -* Thu Jun 19 2014 Vincent Batts - 1.3-1 -- update to go1.3 - -* Fri Jun 13 2014 Vincent Batts - 1.3rc2-1 -- update to go1.3rc2 - -* Sat Jun 07 2014 Fedora Release Engineering - 1.3rc1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Tue Jun 03 2014 Vincent Batts 1.3rc1-1 -- update to go1.3rc1 -- new arch file shuffling - -* Wed May 21 2014 Vincent Batts 1.3beta2-1 -- update to go1.3beta2 -- no longer provides go-mode for xemacs (emacs only) - -* Wed May 21 2014 Vincent Batts 1.2.2-7 -- bz1099206 ghost files are not what is needed - -* Tue May 20 2014 Vincent Batts 1.2.2-6 -- bz1099206 more fixing. The packages %%post need golang-bin present first - -* Tue May 20 2014 Vincent Batts 1.2.2-5 -- bz1099206 more fixing. Let go fix its own timestamps and freshness - -* Tue May 20 2014 Vincent Batts 1.2.2-4 -- fix the existence and alternatives of `go` and `gofmt` - -* Mon May 19 2014 Vincent Batts 1.2.2-3 -- bz1099206 fix timestamp issue caused by koji builders - -* Fri May 09 2014 Vincent Batts 1.2.2-2 -- more arch file shuffling - -* Fri May 09 2014 Vincent Batts 1.2.2-1 -- update to go1.2.2 - -* Thu May 08 2014 Vincent Batts 1.2.1-8 -- RHEL6 rpm macros can't %%exlude missing files - -* Wed May 07 2014 Vincent Batts 1.2.1-7 -- missed two arch-dependent src files - -* Wed May 07 2014 Vincent Batts 1.2.1-6 -- put generated arch-dependent src in their respective RPMs - -* Fri Apr 11 2014 Vincent Batts 1.2.1-5 -- skip test that is causing a SIGABRT on fc21 bz1086900 - -* Thu Apr 10 2014 Vincent Batts 1.2.1-4 -- fixing file and directory ownership bz1010713 - -* Wed Apr 09 2014 Vincent Batts 1.2.1-3 -- including more to macros (%%go_arches) -- set a standard goroot as /usr/lib/golang, regardless of arch -- include sub-packages for compiler toolchains, for all golang supported architectures - -* Wed Mar 26 2014 Vincent Batts 1.2.1-2 -- provide a system rpm macros. Starting with gopath - -* Tue Mar 04 2014 Adam Miller 1.2.1-1 -- Update to latest upstream - -* Thu Feb 20 2014 Adam Miller 1.2-7 -- Remove _BSD_SOURCE and _SVID_SOURCE, they are deprecated in recent - versions of glibc and aren't needed - -* Wed Feb 19 2014 Adam Miller 1.2-6 -- pull in upstream archive/tar implementation that supports xattr for - docker 0.8.1 - -* Tue Feb 18 2014 Vincent Batts 1.2-5 -- provide 'go', so users can yum install 'go' - -* Fri Jan 24 2014 Vincent Batts 1.2-4 -- skip a flaky test that is sporadically failing on the build server - -* Thu Jan 16 2014 Vincent Batts 1.2-3 -- remove golang-godoc dependency. cyclic dependency on compiling godoc - -* Wed Dec 18 2013 Vincent Batts - 1.2-2 -- removing P224 ECC curve - -* Mon Dec 2 2013 Vincent Batts - 1.2-1 -- Update to upstream 1.2 release -- remove the pax tar patches - -* Tue Nov 26 2013 Vincent Batts - 1.1.2-8 -- fix the rpmspec conditional for rhel and fedora - -* Thu Nov 21 2013 Vincent Batts - 1.1.2-7 -- patch tests for testing on rawhide -- let the same spec work for rhel and fedora - -* Wed Nov 20 2013 Vincent Batts - 1.1.2-6 -- don't symlink /usr/bin out to ../lib..., move the file -- seperate out godoc, to accomodate the go.tools godoc - -* Fri Sep 20 2013 Adam Miller - 1.1.2-5 -- Pull upstream patches for BZ#1010271 -- Add glibc requirement that got dropped because of meta dep fix - -* Fri Aug 30 2013 Adam Miller - 1.1.2-4 -- fix the libc meta dependency (thanks to vbatts [at] redhat.com for the fix) - -* Tue Aug 27 2013 Adam Miller - 1.1.2-3 -- Revert incorrect merged changelog - -* Tue Aug 27 2013 Adam Miller - 1.1.2-2 -- This was reverted, just a placeholder changelog entry for bad merge - -* Tue Aug 20 2013 Adam Miller - 1.1.2-1 -- Update to latest upstream - -* Sat Aug 03 2013 Fedora Release Engineering - 1.1.1-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Wed Jul 17 2013 Petr Pisar - 1.1.1-6 -- Perl 5.18 rebuild - -* Wed Jul 10 2013 Adam Goode - 1.1.1-5 -- Blacklist testdata files from prelink -- Again try to fix #973842 - -* Fri Jul 5 2013 Adam Goode - 1.1.1-4 -- Move src to libdir for now (#973842) (upstream issue https://code.google.com/p/go/issues/detail?id=5830) -- Eliminate noarch data package to work around RPM bug (#975909) -- Try to add runtime-gdb.py to the gdb safe-path (#981356) - -* Wed Jun 19 2013 Adam Goode - 1.1.1-3 -- Use lua for pretrans (http://fedoraproject.org/wiki/Packaging:Guidelines#The_.25pretrans_scriptlet) - -* Mon Jun 17 2013 Adam Goode - 1.1.1-2 -- Hopefully really fix #973842 -- Fix update from pre-1.1.1 (#974840) - -* Thu Jun 13 2013 Adam Goode - 1.1.1-1 -- Update to 1.1.1 -- Fix basically useless package (#973842) - -* Sat May 25 2013 Dan Horák - 1.1-3 -- set ExclusiveArch - -* Fri May 24 2013 Adam Goode - 1.1-2 -- Fix noarch package discrepancies - -* Fri May 24 2013 Adam Goode - 1.1-1 -- Initial Fedora release. -- Update to 1.1 - -* Thu May 9 2013 Adam Goode - 1.1-0.3.rc3 -- Update to rc3 - -* Thu Apr 11 2013 Adam Goode - 1.1-0.2.beta2 -- Update to beta2 - -* Tue Apr 9 2013 Adam Goode - 1.1-0.1.beta1 -- Initial packaging. +%autochangelog From 21dcfead0c0ecdbe1329fe73d56bc0581e425db1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Thu, 9 Nov 2023 12:15:49 +0100 Subject: [PATCH 12/54] Add indications in the tests --- golang.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/golang.spec b/golang.spec index 72dafce..8b8a4df 100644 --- a/golang.spec +++ b/golang.spec @@ -497,7 +497,6 @@ sed -i 's/const defaultGO_LDSO = `.*`/const defaultGO_LDSO = ``/' $RPM_BUILD_ROO %endif %check -echo ">>> check <<<" export GOROOT=$(pwd -P) export PATH="$GOROOT"/bin:"$PATH" cd src @@ -529,22 +528,25 @@ export GO_TEST_RUN="" 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 # check that signature functions have parity between boring and notboring CGO_ENABLED=0 go test $(go list ./... | grep -v tls) -v popd + echo "=== Run tls tests ===" # run all fips specific tls tests pushd crypto/tls go test -v -run "Boring" @@ -553,6 +555,7 @@ export GO_TEST_RUN="" %else ./run.bash --no-rebuild -v -v -v -k || : %endif +echo "=== End testing ===" cd .. %post bin From 887c3dbef0ded8d3921922de2f035361a452778c Mon Sep 17 00:00:00 2001 From: Archana Date: Mon, 25 Mar 2024 22:23:04 +0530 Subject: [PATCH 13/54] - Rebase to Go1.22.1 - Resolves RHEL-29526 --- .gitignore | 2 ++ 0001-Modify-go.env.patch | 22 ++++++++++++---------- golang.spec | 17 +++++++++++++++-- re-enable-cgo.patch | 31 +++++++++++++++++++++++++++++++ sources | 4 ++-- 5 files changed, 62 insertions(+), 14 deletions(-) create mode 100644 re-enable-cgo.patch diff --git a/.gitignore b/.gitignore index 732db0c..b4d89ce 100644 --- a/.gitignore +++ b/.gitignore @@ -140,3 +140,5 @@ /go1.20.6-1-openssl-fips.tar.gz /go1.21.3.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 diff --git a/0001-Modify-go.env.patch b/0001-Modify-go.env.patch index d0b18c7..02fdbd0 100644 --- a/0001-Modify-go.env.patch +++ b/0001-Modify-go.env.patch @@ -1,18 +1,17 @@ -From 52d9cfec8124a9c7382bed5284246d9b18a21eb4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= -Date: Wed, 16 Aug 2023 07:06:38 +0200 -Subject: [PATCH] Modify go.env +From f02acf07aabbe16a7c312915e17f9d17cfc475cf Mon Sep 17 00:00:00 2001 +From: Archana Ravindar +Date: Mon, 25 Mar 2024 22:18:07 +0530 +Subject: [PATCH] set v3 as default ISA for AMD64 in go.env patch file -Change GOPROXY, GOSUMDB, and GOTOOLCHAIN --- - go.env | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) + go.env | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/go.env b/go.env -index 6ff2b921d4..087208cd7c 100644 +index 6ff2b921d4..17d4053cdc 100644 --- a/go.env +++ b/go.env -@@ -4,9 +4,9 @@ +@@ -4,9 +4,12 @@ # Use the Go module mirror and checksum database by default. # See https://proxy.golang.org for details. @@ -25,6 +24,9 @@ index 6ff2b921d4..087208cd7c 100644 # See https://go.dev/doc/toolchain for details. -GOTOOLCHAIN=auto +GOTOOLCHAIN=local ++ ++# Set baseline amd64 ISA to v3 as distribution default ++GOAMD64=v3 -- -2.41.0 +2.44.0 diff --git a/golang.spec b/golang.spec index 8b8a4df..e17b292 100644 --- a/golang.spec +++ b/golang.spec @@ -101,10 +101,10 @@ %global gohostarch s390x %endif -%global go_api 1.21 +%global go_api 1.22 # Use only for prerelease versions #global go_prerelease rc3 -%global go_patch 3 +%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 @@ -186,6 +186,7 @@ Requires: %{name}-src = %{version}-%{release} Patch1: 0001-Modify-go.env.patch Patch4: 0004-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-avail.patch +Patch5: re-enable-cgo.patch # Having documentation separate was broken Obsoletes: %{name}-docs < 1.1-4 @@ -328,6 +329,18 @@ cp %{SOURCE2} ./src/runtime/ # https://github.com/golang-fips/go/blob/main/patches/000-initial-setup.patch#L48 patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/000-initial-setup.patch patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/001-initial-openssl-for-fips.patch + patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/002-strict-fips-runtime-detection.patch + patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/003-init-openssl-v2-backend.patch + patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/004-fixes.patch + patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/005-fixes-2.patch + patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/006-fixes-3.patch + patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/007-fixes-4.patch + patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/008-fixes-5.patch + patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/009-fixes-6.patch + patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/010-fixes-7.patch + patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/011-122-fixes.patch + patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/012-fixes.patch + patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/013-fixes.patch # Configure crypto tests echo "Configure crypto tests" diff --git a/re-enable-cgo.patch b/re-enable-cgo.patch new file mode 100644 index 0000000..e9f684d --- /dev/null +++ b/re-enable-cgo.patch @@ -0,0 +1,31 @@ +From 09ff18f22def1766faa746df87e57d5b68454246 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= +Date: Tue, 5 Mar 2024 10:03:13 +0100 +Subject: [PATCH] Re-enable CGO in cmd/go and cmd/pprof + +--- + src/cmd/dist/build.go | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go +index 32e59b446a..941abdcebd 100644 +--- a/src/cmd/dist/build.go ++++ b/src/cmd/dist/build.go +@@ -1304,13 +1304,6 @@ func timelog(op, name string) { + // to switch between the host and target configurations when cross-compiling. + func toolenv() []string { + var env []string +- if !mustLinkExternal(goos, goarch, false) { +- // Unless the platform requires external linking, +- // we disable cgo to get static binaries for cmd/go and cmd/pprof, +- // so that they work on systems without the same dynamic libraries +- // as the original build system. +- env = append(env, "CGO_ENABLED=0") +- } + if isRelease || os.Getenv("GO_BUILDER_NAME") != "" { + // Add -trimpath for reproducible builds of releases. + // Include builders so that -trimpath is well-tested ahead of releases. +-- +2.43.2 + + diff --git a/sources b/sources index 34c1a84..80977d8 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (go1.21.3.src.tar.gz) = c98d31b9c477c0ac4b6f6933adefb40fdce5cdbb171e5236e3b694fec9e5b04695487af734259eab304dd42e86341240621a781f54b60c719627fd7b5efe4742 -SHA512 (go1.21.3-1-openssl-fips.tar.gz) = 869cd8d20ecd2c81ca4ae184fd1f73c124ee479334a002bda2135cb60ce919b0185f203f9d78f08c9616b32339f588aec6f9bc609d458e29dedcdab13dc985d3 +SHA512 (go1.22.1.src.tar.gz) = 627530c3fa2ea872478e1df8ee20db2ddc3c94581fff4e66bda21ca45a643e9915f97115401f79667cd7e856ccca1b40a842f4c0b509a472c75696e3bdb3a908 +SHA512 (go1.22.1-1-openssl-fips.tar.gz) = f6e7f1f3d2d0906bec56540ae74856cf27422da27e7e8ecc9d183774818e8501192a20e17d0ece43ca59389e9170faf521bc9eb2de19e639ccd81e520ca72a5c From 029e17767880d4ec863312e5108979bac822324b Mon Sep 17 00:00:00 2001 From: Archana Date: Mon, 1 Apr 2024 14:23:41 +0530 Subject: [PATCH 14/54] - Bumped pkg_release to 2 - Rebase to Go1.22.1 - Resolves RHEL-29526 --- golang.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/golang.spec b/golang.spec index e17b292..a7484dc 100644 --- a/golang.spec +++ b/golang.spec @@ -108,7 +108,7 @@ %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 +%global pkg_release 2 # For rpmdev-bumpspec and releng automation. %global baserelease 1 From 09ec712f359c107c53473b1a7e266c3ef6b9486f Mon Sep 17 00:00:00 2001 From: Archana Date: Mon, 8 Apr 2024 16:46:16 +0530 Subject: [PATCH 15/54] - Fix mockbuild error: Had missed running centpkg new-sources - Resolves: RHEL-29526 --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index b4d89ce..1ab3c63 100644 --- a/.gitignore +++ b/.gitignore @@ -142,3 +142,4 @@ /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 diff --git a/sources b/sources index 80977d8..e62cd22 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (go1.22.1.src.tar.gz) = 627530c3fa2ea872478e1df8ee20db2ddc3c94581fff4e66bda21ca45a643e9915f97115401f79667cd7e856ccca1b40a842f4c0b509a472c75696e3bdb3a908 -SHA512 (go1.22.1-1-openssl-fips.tar.gz) = f6e7f1f3d2d0906bec56540ae74856cf27422da27e7e8ecc9d183774818e8501192a20e17d0ece43ca59389e9170faf521bc9eb2de19e639ccd81e520ca72a5c +SHA512 (go1.22.1-2-openssl-fips.tar.gz) = 8a9abca30748f162b3199e35ea1755b0b89cd8d0f2efa680479cfe572a3b75438d7ae5bcea982d29eeefa3964d380fd61d43090902d2c98b31d360e9ecfb2268 From b3c52a9541048a1bf36bbbf29066b6a1819b87d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Wed, 10 Apr 2024 09:39:22 +0200 Subject: [PATCH 16/54] Set the baselines for AMD64 and PPC64LE Resolves: RHEL-32658 Resolves: RHEL-32660 --- modify_go.env.patch | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 modify_go.env.patch diff --git a/modify_go.env.patch b/modify_go.env.patch new file mode 100644 index 0000000..7eb355b --- /dev/null +++ b/modify_go.env.patch @@ -0,0 +1,30 @@ +From d6e201910aa29262851c9274a4cd3645022d3539 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= +Date: Tue, 9 Apr 2024 10:05:46 +0200 +Subject: [PATCH] Modify environment variables defaults + +- Set GOTOOLCHAIN to local +- Set GOAMD64 to v3 +- Set GOPPC64 to power9 +--- + go.env | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/go.env b/go.env +index 6ff2b921d4..aadcda023b 100644 +--- a/go.env ++++ b/go.env +@@ -9,4 +9,7 @@ GOSUMDB=sum.golang.org + + # Automatically download newer toolchains as directed by go.mod files. + # See https://go.dev/doc/toolchain for details. +-GOTOOLCHAIN=auto ++GOTOOLCHAIN=local ++ ++# The AMD64 baseline for RHEL10 is v3. ++GOAMD64=v3 ++# The PPC64LE baseline for RHEL10 is power9 ++GOPPC64=power9 +-- +2.44.0 + From b0a81b3e63e53c0d19b2acb73854232c3a69325f Mon Sep 17 00:00:00 2001 From: Archana Date: Mon, 22 Apr 2024 23:25:11 +0530 Subject: [PATCH 17/54] - Updated Go version to 1.22.2 - Resolves: RHEL-29526 --- .gitignore | 2 ++ golang.spec | 4 ++-- sources | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 1ab3c63..efca52f 100644 --- a/.gitignore +++ b/.gitignore @@ -143,3 +143,5 @@ /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 diff --git a/golang.spec b/golang.spec index a7484dc..569fd9b 100644 --- a/golang.spec +++ b/golang.spec @@ -104,11 +104,11 @@ %global go_api 1.22 # Use only for prerelease versions #global go_prerelease rc3 -%global go_patch 1 +%global go_patch 2 %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 2 +%global pkg_release 1 # For rpmdev-bumpspec and releng automation. %global baserelease 1 diff --git a/sources b/sources index e62cd22..77b335a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (go1.22.1.src.tar.gz) = 627530c3fa2ea872478e1df8ee20db2ddc3c94581fff4e66bda21ca45a643e9915f97115401f79667cd7e856ccca1b40a842f4c0b509a472c75696e3bdb3a908 -SHA512 (go1.22.1-2-openssl-fips.tar.gz) = 8a9abca30748f162b3199e35ea1755b0b89cd8d0f2efa680479cfe572a3b75438d7ae5bcea982d29eeefa3964d380fd61d43090902d2c98b31d360e9ecfb2268 +SHA512 (go1.22.2.src.tar.gz) = f2491d2b5d4ef2dd86ca7820503a2534cd1860822049dc01a6cb40b556a0812cfc4196fa83173765816060253ac949f4165b0fb4b2bed5d45e30d03bb69e434d +SHA512 (go1.22.2-1-openssl-fips.tar.gz) = 01a7924f86be2030207b32bbac5b0b4f5b5e8430349eb1d0a1ade8a48536e4402fdf000f8c07e7bd270df338e5f97553f6933045ad96411aa9b2dfd7f127d280 From 4c5ee73cdcd5aba9bec8052f034c9d70d0e6fccf Mon Sep 17 00:00:00 2001 From: Archana Date: Wed, 8 May 2024 13:15:00 +0530 Subject: [PATCH 18/54] - Modified golang.spec to delete intermediate .orig files that create issues in the build - Resolves: RHEL-34671 --- golang.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/golang.spec b/golang.spec index 569fd9b..45e2c1e 100644 --- a/golang.spec +++ b/golang.spec @@ -111,7 +111,7 @@ %global pkg_release 1 # For rpmdev-bumpspec and releng automation. -%global baserelease 1 +%global baserelease 2 Name: golang Version: %{go_version} @@ -349,6 +349,8 @@ cp %{SOURCE2} ./src/runtime/ ./scripts/configure-crypto-tests.sh popd %endif +# Remove all .orig files if they are generated during patching +find -name "*.orig" -exec rm {} \; %build # -x: print commands as they are executed From 6cd70a81da6602c38e6b11ea909d0e37736905de Mon Sep 17 00:00:00 2001 From: Edjunior Machado Date: Fri, 3 May 2024 16:49:48 +0200 Subject: [PATCH 19/54] gating.yaml: Add gating config for rhel-10 Related: RHEL-29526 --- gating.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gating.yaml b/gating.yaml index ce3cdc1..89ec7b9 100644 --- a/gating.yaml +++ b/gating.yaml @@ -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} From d4d71947addacc50fe4b3e1f6528a6d492dabcbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Tue, 30 Apr 2024 17:11:37 +0200 Subject: [PATCH 20/54] Include go.env in the root Commit b3c52a9 (Set the baselines for AMD64 and PPC64LE, 2024-04-10) When the baselines where added go.env was not included so the change was not really applied. This should fix it. Related: RHEL-32658 Related: RHEL-32660 Related: RHEL-34008 Related: RHEL-34236 --- golang.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/golang.spec b/golang.spec index 45e2c1e..99d6230 100644 --- a/golang.spec +++ b/golang.spec @@ -417,7 +417,7 @@ mkdir -p $RPM_BUILD_ROOT%{goroot} # install everything into libdir (until symlink problems are fixed) # https://code.google.com/p/go/issues/detail?id=5830 -cp -apv api bin doc lib pkg src misc test VERSION \ +cp -apv api bin doc lib pkg src misc test go.env VERSION \ $RPM_BUILD_ROOT%{goroot} # bz1099206 @@ -622,6 +622,7 @@ fi %files bin -f go-pkg.list %{_bindir}/go %{_bindir}/gofmt +%{goroot}/go.env %{goroot}/bin/linux_%{gohostarch}/go %{goroot}/bin/linux_%{gohostarch}/gofmt From aa99fe165495ab7034a5c69b2ec072936f2fe0ac Mon Sep 17 00:00:00 2001 From: Edjunior Machado Date: Fri, 3 May 2024 10:32:34 +0200 Subject: [PATCH 21/54] Add rpminspect.yaml Related: RHEL-29526 --- rpminspect.yaml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 rpminspect.yaml diff --git a/rpminspect.yaml b/rpminspect.yaml new file mode 100644 index 0000000..cd93d0d --- /dev/null +++ b/rpminspect.yaml @@ -0,0 +1,29 @@ +--- +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_*/test2json + - /usr/lib/golang/pkg/tool/linux_*/trace + - /usr/lib/golang/pkg/tool/linux_*/vet + # go testdata + - /usr/lib/golang/src/debug/dwarf/testdata/*.elf + - /usr/lib/golang/src/debug/elf/testdata/* + - /usr/lib/golang/src/runtime/pprof/testdata/* From c9d635107910c24767c3915b6fa98be37cce4e86 Mon Sep 17 00:00:00 2001 From: Archana Date: Mon, 13 May 2024 21:42:32 +0530 Subject: [PATCH 22/54] - Corrected golang.spec to use --no-backup-if-mismatch to avoid creating .orig files - Resolves: RHEL-34671 --- golang.spec | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/golang.spec b/golang.spec index 99d6230..6d910bc 100644 --- a/golang.spec +++ b/golang.spec @@ -111,7 +111,7 @@ %global pkg_release 1 # For rpmdev-bumpspec and releng automation. -%global baserelease 2 +%global baserelease 3 Name: golang Version: %{go_version} @@ -327,20 +327,12 @@ cp %{SOURCE2} ./src/runtime/ 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 - patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/000-initial-setup.patch - patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/001-initial-openssl-for-fips.patch - patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/002-strict-fips-runtime-detection.patch - patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/003-init-openssl-v2-backend.patch - patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/004-fixes.patch - patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/005-fixes-2.patch - patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/006-fixes-3.patch - patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/007-fixes-4.patch - patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/008-fixes-5.patch - patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/009-fixes-6.patch - patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/010-fixes-7.patch - patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/011-122-fixes.patch - patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/012-fixes.patch - patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/013-fixes.patch + # 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" @@ -349,8 +341,6 @@ cp %{SOURCE2} ./src/runtime/ ./scripts/configure-crypto-tests.sh popd %endif -# Remove all .orig files if they are generated during patching -find -name "*.orig" -exec rm {} \; %build # -x: print commands as they are executed From 64ba02b2815f49fd9c114d2f5f267f462cdb8c5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Fri, 10 May 2024 20:27:58 +0200 Subject: [PATCH 23/54] Add RHEL version to the go version command Resolves: RHEL-34018 --- golang.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/golang.spec b/golang.spec index 6d910bc..403e132 100644 --- a/golang.spec +++ b/golang.spec @@ -318,6 +318,7 @@ This is the main package for go-toolset. %autosetup -p1 -n go # Copy fedora.go to ./src/runtime/ cp %{SOURCE2} ./src/runtime/ +sed -i '1s/$/ (%{?rhel:Red Hat} %{version}-%{release})/' VERSION # If FIPS is enabled, install the FIPS source %if %{fips} From fff4ad9ce8cd06f81dba92226be8d58b85c1502c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Fri, 17 May 2024 12:51:34 +0200 Subject: [PATCH 24/54] Renaming patch There was an issue during an update and another version of a patch was introduced by mistake. GOPROXY, GOSUMDB and the baseline ISA for PPC64 were modified by this change. This commit overrides the "bad" patch with the "good" one. And also deletes an old unused patch. Related: RHEL-34085 Related: RHEL-32658 --- 0001-Modify-go.env.patch | 30 ++++++------ ...-go-disable-Google-s-proxy-and-sumdb.patch | 48 ------------------- modify_go.env.patch | 30 ------------ 3 files changed, 14 insertions(+), 94 deletions(-) delete mode 100644 0003-cmd-go-disable-Google-s-proxy-and-sumdb.patch delete mode 100644 modify_go.env.patch diff --git a/0001-Modify-go.env.patch b/0001-Modify-go.env.patch index 02fdbd0..7eb355b 100644 --- a/0001-Modify-go.env.patch +++ b/0001-Modify-go.env.patch @@ -1,32 +1,30 @@ -From f02acf07aabbe16a7c312915e17f9d17cfc475cf Mon Sep 17 00:00:00 2001 -From: Archana Ravindar -Date: Mon, 25 Mar 2024 22:18:07 +0530 -Subject: [PATCH] set v3 as default ISA for AMD64 in go.env patch file +From d6e201910aa29262851c9274a4cd3645022d3539 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= +Date: Tue, 9 Apr 2024 10:05:46 +0200 +Subject: [PATCH] Modify environment variables defaults +- Set GOTOOLCHAIN to local +- Set GOAMD64 to v3 +- Set GOPPC64 to power9 --- - go.env | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) + go.env | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/go.env b/go.env -index 6ff2b921d4..17d4053cdc 100644 +index 6ff2b921d4..aadcda023b 100644 --- a/go.env +++ b/go.env -@@ -4,9 +4,12 @@ - - # 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 +@@ -9,4 +9,7 @@ GOSUMDB=sum.golang.org # Automatically download newer toolchains as directed by go.mod files. # See https://go.dev/doc/toolchain for details. -GOTOOLCHAIN=auto +GOTOOLCHAIN=local + -+# Set baseline amd64 ISA to v3 as distribution default ++# The AMD64 baseline for RHEL10 is v3. +GOAMD64=v3 ++# The PPC64LE baseline for RHEL10 is power9 ++GOPPC64=power9 -- 2.44.0 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/modify_go.env.patch b/modify_go.env.patch deleted file mode 100644 index 7eb355b..0000000 --- a/modify_go.env.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d6e201910aa29262851c9274a4cd3645022d3539 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= -Date: Tue, 9 Apr 2024 10:05:46 +0200 -Subject: [PATCH] Modify environment variables defaults - -- Set GOTOOLCHAIN to local -- Set GOAMD64 to v3 -- Set GOPPC64 to power9 ---- - go.env | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/go.env b/go.env -index 6ff2b921d4..aadcda023b 100644 ---- a/go.env -+++ b/go.env -@@ -9,4 +9,7 @@ GOSUMDB=sum.golang.org - - # Automatically download newer toolchains as directed by go.mod files. - # See https://go.dev/doc/toolchain for details. --GOTOOLCHAIN=auto -+GOTOOLCHAIN=local -+ -+# The AMD64 baseline for RHEL10 is v3. -+GOAMD64=v3 -+# The PPC64LE baseline for RHEL10 is power9 -+GOPPC64=power9 --- -2.44.0 - From 1b54720e99d7cbeef6fd0f697d21a8339dafbb74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Wed, 22 May 2024 14:10:16 +0200 Subject: [PATCH 25/54] Update to Go 1.22.3 Remove re-enable-cgo patch, it's already included in upstream Resolves: RHEL-35629 Resolves: RHEL-35882 Resolves: RHEL-35074 --- .gitignore | 2 ++ golang.spec | 3 +-- re-enable-cgo.patch | 31 ------------------------------- sources | 4 ++-- 4 files changed, 5 insertions(+), 35 deletions(-) delete mode 100644 re-enable-cgo.patch diff --git a/.gitignore b/.gitignore index efca52f..ce91538 100644 --- a/.gitignore +++ b/.gitignore @@ -145,3 +145,5 @@ /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 diff --git a/golang.spec b/golang.spec index 403e132..59216de 100644 --- a/golang.spec +++ b/golang.spec @@ -104,7 +104,7 @@ %global go_api 1.22 # Use only for prerelease versions #global go_prerelease rc3 -%global go_patch 2 +%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 @@ -186,7 +186,6 @@ Requires: %{name}-src = %{version}-%{release} Patch1: 0001-Modify-go.env.patch Patch4: 0004-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-avail.patch -Patch5: re-enable-cgo.patch # Having documentation separate was broken Obsoletes: %{name}-docs < 1.1-4 diff --git a/re-enable-cgo.patch b/re-enable-cgo.patch deleted file mode 100644 index e9f684d..0000000 --- a/re-enable-cgo.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 09ff18f22def1766faa746df87e57d5b68454246 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= -Date: Tue, 5 Mar 2024 10:03:13 +0100 -Subject: [PATCH] Re-enable CGO in cmd/go and cmd/pprof - ---- - src/cmd/dist/build.go | 7 ------- - 1 file changed, 7 deletions(-) - -diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go -index 32e59b446a..941abdcebd 100644 ---- a/src/cmd/dist/build.go -+++ b/src/cmd/dist/build.go -@@ -1304,13 +1304,6 @@ func timelog(op, name string) { - // to switch between the host and target configurations when cross-compiling. - func toolenv() []string { - var env []string -- if !mustLinkExternal(goos, goarch, false) { -- // Unless the platform requires external linking, -- // we disable cgo to get static binaries for cmd/go and cmd/pprof, -- // so that they work on systems without the same dynamic libraries -- // as the original build system. -- env = append(env, "CGO_ENABLED=0") -- } - if isRelease || os.Getenv("GO_BUILDER_NAME") != "" { - // Add -trimpath for reproducible builds of releases. - // Include builders so that -trimpath is well-tested ahead of releases. --- -2.43.2 - - diff --git a/sources b/sources index 77b335a..dd06397 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (go1.22.2.src.tar.gz) = f2491d2b5d4ef2dd86ca7820503a2534cd1860822049dc01a6cb40b556a0812cfc4196fa83173765816060253ac949f4165b0fb4b2bed5d45e30d03bb69e434d -SHA512 (go1.22.2-1-openssl-fips.tar.gz) = 01a7924f86be2030207b32bbac5b0b4f5b5e8430349eb1d0a1ade8a48536e4402fdf000f8c07e7bd270df338e5f97553f6933045ad96411aa9b2dfd7f127d280 +SHA512 (go1.22.3.src.tar.gz) = e6756866d3cf195f1afd3d852015f32dfb2de3648e30a78e9238a863eae192e9e7ccbcfd19fd97b1d552f35d51d62bf2104d81e35b8854a40400b0d61cf93672 +SHA512 (go1.22.3-1-openssl-fips.tar.gz) = a666fffd3459598b0ac7b93e5dd9d3925877fc5cc6a140bf6e97831013204b13224149f888e2bd3ef0e2629d46ac838aacd40a8668606c50342556b506a9a5d6 From 3de7cf0394039ab52100d82583533aea21bb0883 Mon Sep 17 00:00:00 2001 From: Derek Parker Date: Thu, 23 May 2024 17:14:35 -0400 Subject: [PATCH 26/54] Restore HashSign / HashVerify API Resolves: RHEL-35882 --- .gitignore | 1 + golang.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ce91538..2b48700 100644 --- a/.gitignore +++ b/.gitignore @@ -147,3 +147,4 @@ /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 diff --git a/golang.spec b/golang.spec index 59216de..4a1a60d 100644 --- a/golang.spec +++ b/golang.spec @@ -108,7 +108,7 @@ %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 +%global pkg_release 2 # For rpmdev-bumpspec and releng automation. %global baserelease 3 diff --git a/sources b/sources index dd06397..1fa4186 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ +SHA512 (go1.22.3-2-openssl-fips.tar.gz) = 93d83bd71b8498964dab1dafe8ac34b0033a71bdd99ebb51ca1a515e272bdbb9282a4ff1a212496ff306b7db8bb31dcc892cb1938d625739b5a6d065fb3b54db SHA512 (go1.22.3.src.tar.gz) = e6756866d3cf195f1afd3d852015f32dfb2de3648e30a78e9238a863eae192e9e7ccbcfd19fd97b1d552f35d51d62bf2104d81e35b8854a40400b0d61cf93672 -SHA512 (go1.22.3-1-openssl-fips.tar.gz) = a666fffd3459598b0ac7b93e5dd9d3925877fc5cc6a140bf6e97831013204b13224149f888e2bd3ef0e2629d46ac838aacd40a8668606c50342556b506a9a5d6 From 0a2871b104c2bcb0b2885e9787d7a1aae19dc259 Mon Sep 17 00:00:00 2001 From: Derek Parker Date: Thu, 30 May 2024 19:59:52 -0400 Subject: [PATCH 27/54] Update openssl backend Resolves: RHEL-36100 --- .gitignore | 1 + golang.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2b48700..3f69f1e 100644 --- a/.gitignore +++ b/.gitignore @@ -148,3 +148,4 @@ /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 diff --git a/golang.spec b/golang.spec index 4a1a60d..d01fa17 100644 --- a/golang.spec +++ b/golang.spec @@ -108,7 +108,7 @@ %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 2 +%global pkg_release 3 # For rpmdev-bumpspec and releng automation. %global baserelease 3 diff --git a/sources b/sources index 1fa4186..64e8af0 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (go1.22.3-2-openssl-fips.tar.gz) = 93d83bd71b8498964dab1dafe8ac34b0033a71bdd99ebb51ca1a515e272bdbb9282a4ff1a212496ff306b7db8bb31dcc892cb1938d625739b5a6d065fb3b54db +SHA512 (go1.22.3-3-openssl-fips.tar.gz) = e3bf9316e08116f0efef8034c845a62f893271ee821589e61fb8087e9ccfb15e82febd26c6a56c2c22483fac106ca36c63b9f8f0cae7cdcbd109730f5509ab04 SHA512 (go1.22.3.src.tar.gz) = e6756866d3cf195f1afd3d852015f32dfb2de3648e30a78e9238a863eae192e9e7ccbcfd19fd97b1d552f35d51d62bf2104d81e35b8854a40400b0d61cf93672 From 94916d7b59d40d25378f303a9ac6f798df6c15cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Wed, 5 Jun 2024 13:55:51 +0200 Subject: [PATCH 28/54] Update RHEL10 go.env to use power9 ISA on PPC64LE The previous patch was not right. Resolves: RHEL-32658 --- 0001-Modify-go.env.patch | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/0001-Modify-go.env.patch b/0001-Modify-go.env.patch index 7eb355b..d50ce0e 100644 --- a/0001-Modify-go.env.patch +++ b/0001-Modify-go.env.patch @@ -1,20 +1,20 @@ -From d6e201910aa29262851c9274a4cd3645022d3539 Mon Sep 17 00:00:00 2001 +From fbcfe983cdeb723420d67364022fc91ac8c6be3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= -Date: Tue, 9 Apr 2024 10:05:46 +0200 +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 | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) + go.env | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/go.env b/go.env -index 6ff2b921d4..aadcda023b 100644 +index 6ff2b921d4..0bff84446c 100644 --- a/go.env +++ b/go.env -@@ -9,4 +9,7 @@ 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. @@ -25,6 +25,7 @@ index 6ff2b921d4..aadcda023b 100644 +GOAMD64=v3 +# The PPC64LE baseline for RHEL10 is power9 +GOPPC64=power9 ++ -- -2.44.0 +2.45.1 From 4e661dba18322af0b39257cb061890aaf5ebf43a Mon Sep 17 00:00:00 2001 From: Archana Date: Thu, 6 Jun 2024 18:08:39 +0530 Subject: [PATCH 29/54] - Rebase to Go1.22.4 - Resolves: RHEL-40155 --- .gitignore | 2 ++ golang.spec | 6 +++--- sources | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 3f69f1e..27b1281 100644 --- a/.gitignore +++ b/.gitignore @@ -149,3 +149,5 @@ /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 diff --git a/golang.spec b/golang.spec index d01fa17..b30a564 100644 --- a/golang.spec +++ b/golang.spec @@ -104,14 +104,14 @@ %global go_api 1.22 # Use only for prerelease versions #global go_prerelease rc3 -%global go_patch 3 +%global go_patch 4 %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 3 +%global pkg_release 1 # For rpmdev-bumpspec and releng automation. -%global baserelease 3 +%global baserelease 1 Name: golang Version: %{go_version} diff --git a/sources b/sources index 64e8af0..fc07a70 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (go1.22.3-3-openssl-fips.tar.gz) = e3bf9316e08116f0efef8034c845a62f893271ee821589e61fb8087e9ccfb15e82febd26c6a56c2c22483fac106ca36c63b9f8f0cae7cdcbd109730f5509ab04 -SHA512 (go1.22.3.src.tar.gz) = e6756866d3cf195f1afd3d852015f32dfb2de3648e30a78e9238a863eae192e9e7ccbcfd19fd97b1d552f35d51d62bf2104d81e35b8854a40400b0d61cf93672 +SHA512 (go1.22.4.src.tar.gz) = 4855ba7e277b2eb79eb52e3ad2a52f18b3a4cd3adc20b7a17d29fabae74141265bf31399307b8d3f35110031d11ad7f583016aa903f3e36eeb6d1f64cfc8a5ad +SHA512 (go1.22.4-1-openssl-fips.tar.gz) = c383eb261594dd141394ba57612b288309c24bab1c3a968fa5b99f110e1c913973efd163a5093b4658932f3747faa97830005b1b5b3b9be370fe62a81e1e8f37 From 7b3d933eb2a2726bf59f665b046a3b61ae742f48 Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Mon, 24 Jun 2024 08:44:50 -0700 Subject: [PATCH 30/54] Bump release for June 2024 mass rebuild From dbc9518e2b4d03b1d3d5bb59c58a8b6ff2eea806 Mon Sep 17 00:00:00 2001 From: Archana Date: Thu, 11 Jul 2024 16:41:05 +0530 Subject: [PATCH 31/54] - Rebase to Go1.22.5 to address CVE-2024-24791 - Resolves: RHEL-46971 --- .gitignore | 2 ++ golang.spec | 2 +- sources | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 27b1281..ccdf16a 100644 --- a/.gitignore +++ b/.gitignore @@ -151,3 +151,5 @@ /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 diff --git a/golang.spec b/golang.spec index b30a564..373a48f 100644 --- a/golang.spec +++ b/golang.spec @@ -104,7 +104,7 @@ %global go_api 1.22 # Use only for prerelease versions #global go_prerelease rc3 -%global go_patch 4 +%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} # Go FIPS package release diff --git a/sources b/sources index fc07a70..3e07fae 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (go1.22.4.src.tar.gz) = 4855ba7e277b2eb79eb52e3ad2a52f18b3a4cd3adc20b7a17d29fabae74141265bf31399307b8d3f35110031d11ad7f583016aa903f3e36eeb6d1f64cfc8a5ad -SHA512 (go1.22.4-1-openssl-fips.tar.gz) = c383eb261594dd141394ba57612b288309c24bab1c3a968fa5b99f110e1c913973efd163a5093b4658932f3747faa97830005b1b5b3b9be370fe62a81e1e8f37 +SHA512 (go1.22.5.src.tar.gz) = 798c2bd5d59be1fb5d7af98893fa7bb68322117facfdee546a37175ec5e8be634f2bed2d8d0e7d4d0555b354c8e9d72b3829c39670d3be2d2328376a00a48576 +SHA512 (go1.22.5-1-openssl-fips.tar.gz) = 230fa331c2470a7a42c916cd1bec79fa423e913d7722235b4386b0aaf678e9baefc71d5c201a6d2c63d5936d06f2756b945ba54513109b046d569daeecc1cef3 From 9ad1a464adf91e697387ae3bc497103379cea135 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Wed, 19 Jun 2024 10:20:27 +0200 Subject: [PATCH 32/54] Default to ld.bfd on ARM64 Until now, Go defaulted to ld.gold, but now, the binutils package is deprecating gold in favor of ld.bfd. Resolves: RHEL-49036 --- ...d-on-ARM-ARM64-only-if-gold-is-avail.patch | 35 -------------- 0006-Default-to-ld.bfd-on-ARM64.patch | 46 +++++++++++++++++++ golang.spec | 2 +- 3 files changed, 47 insertions(+), 36 deletions(-) delete mode 100644 0004-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-avail.patch create mode 100644 0006-Default-to-ld.bfd-on-ARM64.patch 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 deleted file mode 100644 index 5341d6d..0000000 --- a/0004-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-avail.patch +++ /dev/null @@ -1,35 +0,0 @@ -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 - ---- - src/cmd/link/internal/ld/lib.go | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go -index 91e2d5149c..99c305530b 100644 ---- a/src/cmd/link/internal/ld/lib.go -+++ b/src/cmd/link/internal/ld/lib.go -@@ -1605,15 +1605,13 @@ func (ctxt *Link) hostlink() { - // https://go.dev/issue/22040 - altLinker = "gold" - -- // If gold is not installed, gcc will silently switch -- // back to ld.bfd. So we parse the version information -- // and provide a useful error if gold is missing. -+ // In both cases, switch to gold if gold is available. - name, args := flagExtld[0], flagExtld[1:] - args = append(args, "-fuse-ld=gold", "-Wl,--version") - cmd := exec.Command(name, args...) - if out, err := cmd.CombinedOutput(); err == nil { -- if !bytes.Contains(out, []byte("GNU gold")) { -- log.Fatalf("ARM64 external linker must be gold (issue #15696, 22040), but is not: %s", out) -+ if bytes.Contains(out, []byte("GNU gold")) { -+ altLinker = "gold" - } - } - } --- -2.40.1 - diff --git a/0006-Default-to-ld.bfd-on-ARM64.patch b/0006-Default-to-ld.bfd-on-ARM64.patch new file mode 100644 index 0000000..369b4e6 --- /dev/null +++ b/0006-Default-to-ld.bfd-on-ARM64.patch @@ -0,0 +1,46 @@ +From 46ec67413008607e2150e3395668e54e538c5b6b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= +Date: Wed, 19 Jun 2024 10:18:58 +0200 +Subject: [PATCH] Default to ld.bfd on ARM64 + +--- + src/cmd/link/internal/ld/lib.go | 20 +++++++------------- + 1 file changed, 7 insertions(+), 13 deletions(-) + +diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go +index eab74dc328..b401f58727 100644 +--- a/src/cmd/link/internal/ld/lib.go ++++ b/src/cmd/link/internal/ld/lib.go +@@ -1620,22 +1620,16 @@ func (ctxt *Link) hostlink() { + } + + if ctxt.Arch.InFamily(sys.ARM64) && buildcfg.GOOS == "linux" { +- // On ARM64, the GNU linker will fail with +- // -znocopyreloc if it thinks a COPY relocation is +- // required. Switch to gold. +- // https://sourceware.org/bugzilla/show_bug.cgi?id=19962 +- // https://go.dev/issue/22040 +- altLinker = "gold" +- +- // If gold is not installed, gcc will silently switch +- // back to ld.bfd. So we parse the version information +- // and provide a useful error if gold is missing. ++ // Use ld.bfd as the default linker ++ altLinker = "bfd" ++ ++ // Provide a useful error if ld.bfd is missing + name, args := flagExtld[0], flagExtld[1:] +- args = append(args, "-fuse-ld=gold", "-Wl,--version") ++ args = append(args, "-fuse-ld=bfd", "-Wl,--version") + cmd := exec.Command(name, args...) + if out, err := cmd.CombinedOutput(); err == nil { +- if !bytes.Contains(out, []byte("GNU gold")) { +- log.Fatalf("ARM64 external linker must be gold (issue #15696, 22040), but is not: %s", out) ++ if !bytes.Contains(out, []byte("GNU ld")) { ++ log.Fatalf("ARM64 external linker must be ld.bfd, but is not: %s", out) + } + } + } +-- +2.45.1 + diff --git a/golang.spec b/golang.spec index 373a48f..b564e12 100644 --- a/golang.spec +++ b/golang.spec @@ -185,7 +185,7 @@ Requires: %{name}-bin = %{version}-%{release} Requires: %{name}-src = %{version}-%{release} Patch1: 0001-Modify-go.env.patch -Patch4: 0004-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-avail.patch +Patch6: 0006-Default-to-ld.bfd-on-ARM64.patch # Having documentation separate was broken Obsoletes: %{name}-docs < 1.1-4 From 4c1b87cc27e4f1bde2afff92ca2072c989db1e85 Mon Sep 17 00:00:00 2001 From: Archana Date: Thu, 29 Aug 2024 21:20:37 +0530 Subject: [PATCH 33/54] - Include fix that loads Openssl only in FIPS mode - Resolves: RHEL-52486 --- .gitignore | 1 + golang.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ccdf16a..2d990a1 100644 --- a/.gitignore +++ b/.gitignore @@ -153,3 +153,4 @@ /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 diff --git a/golang.spec b/golang.spec index b564e12..6b291d8 100644 --- a/golang.spec +++ b/golang.spec @@ -108,7 +108,7 @@ %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 +%global pkg_release 2 # For rpmdev-bumpspec and releng automation. %global baserelease 1 diff --git a/sources b/sources index 3e07fae..4a486b3 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (go1.22.5.src.tar.gz) = 798c2bd5d59be1fb5d7af98893fa7bb68322117facfdee546a37175ec5e8be634f2bed2d8d0e7d4d0555b354c8e9d72b3829c39670d3be2d2328376a00a48576 -SHA512 (go1.22.5-1-openssl-fips.tar.gz) = 230fa331c2470a7a42c916cd1bec79fa423e913d7722235b4386b0aaf678e9baefc71d5c201a6d2c63d5936d06f2756b945ba54513109b046d569daeecc1cef3 +SHA512 (go1.22.5-2-openssl-fips.tar.gz) = eec9e997c88ef92269120ab96d538e05bf60f1c1329923db04d4fb4ff1bfa8c35d325cd75ac7363d3c5aea626b4ea15d94afe3a54be9944377fee902b574fb26 From 9d532e69fa0e958477a46091e98d5dea4946b348 Mon Sep 17 00:00:00 2001 From: Derek Parker Date: Tue, 24 Sep 2024 17:12:29 -0400 Subject: [PATCH 34/54] Rebase to 1.23.1 Resolves: RHEL-34260 --- .gitignore | 2 ++ golang.spec | 14 +++++++------- sources | 4 ++-- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 2d990a1..c8d2665 100644 --- a/.gitignore +++ b/.gitignore @@ -154,3 +154,5 @@ /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 diff --git a/golang.spec b/golang.spec index 6b291d8..e236727 100644 --- a/golang.spec +++ b/golang.spec @@ -101,18 +101,18 @@ %global gohostarch s390x %endif -%global go_api 1.22 +%global go_api 1.23 # Use only for prerelease versions #global go_prerelease rc3 -%global go_patch 5 +%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 2 +%global pkg_release 1 # For rpmdev-bumpspec and releng automation. -%global baserelease 1 - +%global baserelease 3 + Name: golang Version: %{go_version} Release: %autorelease @@ -428,7 +428,7 @@ rm -f $src_list $pkg_list $docs_list $misc_list $tests_list $shared_list $race_l touch $src_list $pkg_list $docs_list $misc_list $tests_list $shared_list $race_list ################## -# Register files # +# Register files # ################## pushd $RPM_BUILD_ROOT%{goroot} find src/ -type d -a \( ! -name testdata -a ! -ipath '*/testdata/*' \) -printf '%%%dir %{goroot}/%p\n' >> $src_list @@ -455,7 +455,7 @@ pushd $RPM_BUILD_ROOT%{goroot} echo "%%{goroot}/$file" >> $shared_list echo "%%{golibdir}/$(basename $file)" >> $shared_list done - + find pkg/*_dynlink/ -type d -printf '%%%dir %{goroot}/%p\n' >> $shared_list find pkg/*_dynlink/ ! -type d -printf '%{goroot}/%p\n' >> $shared_list %endif diff --git a/sources b/sources index 4a486b3..c4f104a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (go1.22.5.src.tar.gz) = 798c2bd5d59be1fb5d7af98893fa7bb68322117facfdee546a37175ec5e8be634f2bed2d8d0e7d4d0555b354c8e9d72b3829c39670d3be2d2328376a00a48576 -SHA512 (go1.22.5-2-openssl-fips.tar.gz) = eec9e997c88ef92269120ab96d538e05bf60f1c1329923db04d4fb4ff1bfa8c35d325cd75ac7363d3c5aea626b4ea15d94afe3a54be9944377fee902b574fb26 +SHA512 (go1.23.1-1-openssl-fips.tar.gz) = 4609703ec0bc4cbc8a0116d70e641e670dbbcf16c260145c5506722e32125ff65e4c4ae1ef839c19622fee70f3fa4bdf509760f66d87bd1ed4ddd5bb2272fa86 +SHA512 (go1.23.1.src.tar.gz) = c1db053bab03c33b4ec4cbef6c8dfae279542cde433fdb787b564ccf797bb9ac6d191aae3152a860a9539956502f31003f746e924287040849afce5ccaaf0988 From 2f186c5400b971cf6c2252868ef62f14014965c3 Mon Sep 17 00:00:00 2001 From: Derek Parker Date: Wed, 25 Sep 2024 14:07:38 -0400 Subject: [PATCH 35/54] Update baserelease Related: RHEL-34260 --- golang.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/golang.spec b/golang.spec index e236727..80d5868 100644 --- a/golang.spec +++ b/golang.spec @@ -111,7 +111,7 @@ %global pkg_release 1 # For rpmdev-bumpspec and releng automation. -%global baserelease 3 +%global baserelease 1 Name: golang Version: %{go_version} From 44fd4cad7e8c5941cdc252a9e8769e65f460b813 Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Tue, 29 Oct 2024 08:27:59 -0700 Subject: [PATCH 36/54] Bump release for October 2024 mass rebuild: Resolves: RHEL-64018 From 722ee741c0144c66fe00861773d0176df21249d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Fri, 29 Nov 2024 14:17:10 +0100 Subject: [PATCH 37/54] Remove bundled boringcrypto blob Resolves: RHEL-54337 --- golang.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/golang.spec b/golang.spec index 80d5868..86ba682 100644 --- a/golang.spec +++ b/golang.spec @@ -318,6 +318,8 @@ This is the main package for go-toolset. # Copy fedora.go to ./src/runtime/ cp %{SOURCE2} ./src/runtime/ sed -i '1s/$/ (%{?rhel:Red Hat} %{version}-%{release})/' VERSION +# 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} From 48a15bc7cd3612c321f2bd2b1556e0997bfd4c34 Mon Sep 17 00:00:00 2001 From: Derek Parker Date: Wed, 11 Dec 2024 15:21:14 -0500 Subject: [PATCH 38/54] Include delve on ppc64le Resolves: RHEL-58723 --- golang.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/golang.spec b/golang.spec index 86ba682..0ced442 100644 --- a/golang.spec +++ b/golang.spec @@ -306,7 +306,7 @@ Summary: Golang shared object libraries %package -n go-toolset Summary: Package that installs go-toolset Requires: %{name} = %{version}-%{release} -%ifarch x86_64 aarch64 +%ifarch x86_64 aarch64 ppc64le Requires: delve %endif From 8b495d34ee56a86e696f093243cb71763f4b87f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Fri, 7 Mar 2025 18:27:46 +0100 Subject: [PATCH 39/54] Update to Go 1.23.6 Resolves: RHEL-72809 --- .gitignore | 2 ++ golang.spec | 2 +- sources | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index c8d2665..6da793a 100644 --- a/.gitignore +++ b/.gitignore @@ -156,3 +156,5 @@ /go1.22.5-2-openssl-fips.tar.gz /go1.23.1-1-openssl-fips.tar.gz /go1.23.1.src.tar.gz +/go1.23.6.src.tar.gz +/go1.23.6-1-openssl-fips.tar.gz diff --git a/golang.spec b/golang.spec index 0ced442..02fef12 100644 --- a/golang.spec +++ b/golang.spec @@ -104,7 +104,7 @@ %global go_api 1.23 # Use only for prerelease versions #global go_prerelease rc3 -%global go_patch 1 +%global go_patch 6 %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 diff --git a/sources b/sources index c4f104a..0172c85 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (go1.23.1-1-openssl-fips.tar.gz) = 4609703ec0bc4cbc8a0116d70e641e670dbbcf16c260145c5506722e32125ff65e4c4ae1ef839c19622fee70f3fa4bdf509760f66d87bd1ed4ddd5bb2272fa86 -SHA512 (go1.23.1.src.tar.gz) = c1db053bab03c33b4ec4cbef6c8dfae279542cde433fdb787b564ccf797bb9ac6d191aae3152a860a9539956502f31003f746e924287040849afce5ccaaf0988 +SHA512 (go1.23.6.src.tar.gz) = c504476d42cdbcd1b6afe53c0974e82c19eb0efac974bc06d41c1641440676891cfe6416455a0cfc81fe82902a9b82ea0a1d95089c676667d05487e45f5e04e3 +SHA512 (go1.23.6-1-openssl-fips.tar.gz) = 9dfbc3d050fe8738d4affa31e26d0b8fbdcd0b112e9f03307f32f2ad6f49b7556dd7090f942e3ac7ef00b5714ee7be017df93c9105c2b92422e99e8d88ff7e98 From 31c25147e529facab4bdbf37eaad6fc16e98431e Mon Sep 17 00:00:00 2001 From: Songsong Zhang Date: Wed, 2 Apr 2025 18:59:42 +0200 Subject: [PATCH 40/54] Enable riscv64 build Resolves: RHEL-85861 Signed-off-by: Songsong Zhang --- golang.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/golang.spec b/golang.spec index 02fef12..a8b92da 100644 --- a/golang.spec +++ b/golang.spec @@ -46,14 +46,14 @@ %endif # Build golang using external/internal(close to cgo disabled) linking. -%ifarch %{ix86} x86_64 ppc64le %{arm} aarch64 s390x +%ifarch %{ix86} x86_64 ppc64le %{arm} aarch64 s390x riscv64 %global external_linker 1 %else %global external_linker 0 %endif # Build golang with cgo enabled/disabled(later equals more or less to internal linking). -%ifarch %{ix86} x86_64 ppc64le %{arm} aarch64 s390x +%ifarch %{ix86} x86_64 ppc64le %{arm} aarch64 s390x riscv64 %global cgo_enabled 1 %else %global cgo_enabled 0 @@ -100,6 +100,9 @@ %ifarch s390x %global gohostarch s390x %endif +%ifarch riscv64 +%global gohostarch riscv64 +%endif %global go_api 1.23 # Use only for prerelease versions From 3384374ae96df45cd57a8479d7e112538511cad3 Mon Sep 17 00:00:00 2001 From: David Benoit Date: Mon, 19 May 2025 09:50:56 -0400 Subject: [PATCH 41/54] Update to Go 1.24.3 Resolves: RHEL-87633 Resolves: RHEL-85255 Resolves: RHEL-33420 --- .gitignore | 3 +++ fedora.go | 5 ++++ golang.spec | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++--- sources | 5 ++-- 4 files changed, 82 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 6da793a..3fa7ab2 100644 --- a/.gitignore +++ b/.gitignore @@ -158,3 +158,6 @@ /go1.23.1.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 diff --git a/fedora.go b/fedora.go index 81b28ba..60e460d 100644 --- a/fedora.go +++ b/fedora.go @@ -1,5 +1,10 @@ +//go:build rpm_crashtraceback // +build rpm_crashtraceback + +// Copyright 2017 The Fedora Project Contributors. All rights reserved. +// Use of this source code is governed by the MIT license. + package runtime func init() { diff --git a/golang.spec b/golang.spec index a8b92da..a07cebd 100644 --- a/golang.spec +++ b/golang.spec @@ -104,10 +104,10 @@ %global gohostarch riscv64 %endif -%global go_api 1.23 +%global go_api 1.24 # Use only for prerelease versions #global go_prerelease rc3 -%global go_patch 6 +%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 @@ -116,6 +116,9 @@ # 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} Release: %autorelease @@ -134,6 +137,7 @@ Source0: https://go.dev/dl/go%{go_source}.src.tar.gz 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 # The compiler is written in Go. Needs go(1.4+) compiler for build. %if !%{golang_bootstrap} @@ -166,6 +170,9 @@ BuildRequires: perl-interpreter, procps-ng %if 0%{?rhel} BuildRequires: perl %endif +# For building llvm address sanitizer for Go race detector +BuildRequires: libstdc++-devel +BuildRequires: clang Provides: go = %{version}-%{release} @@ -186,6 +193,7 @@ Provides: bundled(golang(golang.org/x/tools)) = 0.11.1.0.20230712164437.1ca21856 Requires: %{name}-bin = %{version}-%{release} Requires: %{name}-src = %{version}-%{release} +Requires: %{name}-race = %{version}-%{release} Patch1: 0001-Modify-go.env.patch Patch6: 0006-Default-to-ld.bfd-on-ARM64.patch @@ -316,11 +324,21 @@ Requires: delve %description -n go-toolset This is the main package for go-toolset. +%package race +Summary: Race detetector library object files. +Requires: %{name} = %{version}-%{release} + +%description race +Binary library objects for Go's race detector. + + %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 @@ -357,6 +375,39 @@ 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) + +%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=v1 ./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 + # bootstrap compiler GOROOT %if !%{golang_bootstrap} export GOROOT_BOOTSTRAP=/ @@ -401,6 +452,8 @@ popd GOROOT=$(pwd) PATH=$(pwd)/bin:$PATH go install -buildmode=shared -v -x std %endif +GOROOT=$(pwd) PATH=$(pwd)/bin:$PATH go install -race std + %install rm -rf $RPM_BUILD_ROOT # remove GC build cache @@ -552,9 +605,9 @@ echo "=== Start testing ===" 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 + 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 + 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 @@ -607,6 +660,12 @@ fi %{_sysconfdir}/prelink.conf.d %files src -f go-src.list +%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 %files docs -f go-docs.list @@ -627,5 +686,13 @@ fi %files -n go-toolset +%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 + %changelog %autochangelog diff --git a/sources b/sources index 0172c85..cbe68ab 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ -SHA512 (go1.23.6.src.tar.gz) = c504476d42cdbcd1b6afe53c0974e82c19eb0efac974bc06d41c1641440676891cfe6416455a0cfc81fe82902a9b82ea0a1d95089c676667d05487e45f5e04e3 -SHA512 (go1.23.6-1-openssl-fips.tar.gz) = 9dfbc3d050fe8738d4affa31e26d0b8fbdcd0b112e9f03307f32f2ad6f49b7556dd7090f942e3ac7ef00b5714ee7be017df93c9105c2b92422e99e8d88ff7e98 +SHA512 (go1.24.3.src.tar.gz) = 05d19372fb923eeea19395b4de569d2ecfec7fadf2d8236d47cd667982de51c569e9816372cb79e32166553f9bcbe68f7bc2a6ded5655809b1caf5bd941011e7 +SHA512 (go1.24.3-1-openssl-fips.tar.gz) = dd4ffe1cb7bf4ab553504ff63af2313d84445a197b259283debe2cc19a0ab205ece6d3ca06ad1c830cb4b3ac1b87fffee28d6030c47bbc383507e3b264cf5281 +SHA512 (compiler-rt-18.1.8.src.tar.xz) = fb8795bd51c9b005c2ad1975591e9e2715740d6407ccad41379f136ef2e8d24ded8b97b01165a3ae4bd377119a6a1049ca05d3220404fc12bee86114ff2bff0d From 5fc3d1e8dd4aa7b47c0657399762b0d8b98db4a4 Mon Sep 17 00:00:00 2001 From: David Benoit Date: Thu, 29 May 2025 08:02:36 -0400 Subject: [PATCH 42/54] Update to Go 1.24.3 (fips-2) Resolves: RHEL-87633 --- .gitignore | 1 + golang.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 3fa7ab2..056bb03 100644 --- a/.gitignore +++ b/.gitignore @@ -161,3 +161,4 @@ /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 diff --git a/golang.spec b/golang.spec index a07cebd..91d59ee 100644 --- a/golang.spec +++ b/golang.spec @@ -111,7 +111,7 @@ %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 +%global pkg_release 2 # For rpmdev-bumpspec and releng automation. %global baserelease 1 diff --git a/sources b/sources index cbe68ab..16f98a8 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ SHA512 (go1.24.3.src.tar.gz) = 05d19372fb923eeea19395b4de569d2ecfec7fadf2d8236d47cd667982de51c569e9816372cb79e32166553f9bcbe68f7bc2a6ded5655809b1caf5bd941011e7 -SHA512 (go1.24.3-1-openssl-fips.tar.gz) = dd4ffe1cb7bf4ab553504ff63af2313d84445a197b259283debe2cc19a0ab205ece6d3ca06ad1c830cb4b3ac1b87fffee28d6030c47bbc383507e3b264cf5281 +SHA512 (go1.24.3-2-openssl-fips.tar.gz) = b560f12d82081e8745431a8f7b5bc41566456500a042aad0a07a024a319c05398061f4819049f2cb9ab33ac63bb009b030a52b4f63aaefb815c9bf1a9044434c SHA512 (compiler-rt-18.1.8.src.tar.xz) = fb8795bd51c9b005c2ad1975591e9e2715740d6407ccad41379f136ef2e8d24ded8b97b01165a3ae4bd377119a6a1049ca05d3220404fc12bee86114ff2bff0d From 013a5af5d9b7628ab6b6c8fdedc4b30e284f92ca Mon Sep 17 00:00:00 2001 From: David Benoit Date: Mon, 2 Jun 2025 22:50:57 -0400 Subject: [PATCH 43/54] Update to Go 1.24.3 (fips-3) Resolves: RHEL-87633 --- .gitignore | 1 + golang.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 056bb03..85c54f3 100644 --- a/.gitignore +++ b/.gitignore @@ -162,3 +162,4 @@ /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 diff --git a/golang.spec b/golang.spec index 91d59ee..c00cdc5 100644 --- a/golang.spec +++ b/golang.spec @@ -111,7 +111,7 @@ %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 2 +%global pkg_release 3 # For rpmdev-bumpspec and releng automation. %global baserelease 1 diff --git a/sources b/sources index 16f98a8..9522925 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ SHA512 (go1.24.3.src.tar.gz) = 05d19372fb923eeea19395b4de569d2ecfec7fadf2d8236d47cd667982de51c569e9816372cb79e32166553f9bcbe68f7bc2a6ded5655809b1caf5bd941011e7 -SHA512 (go1.24.3-2-openssl-fips.tar.gz) = b560f12d82081e8745431a8f7b5bc41566456500a042aad0a07a024a319c05398061f4819049f2cb9ab33ac63bb009b030a52b4f63aaefb815c9bf1a9044434c +SHA512 (go1.24.3-3-openssl-fips.tar.gz) = 237fc948a2ceb5ea1a0969fbf363768703179eaf0a0c327e032024ca54bca4ab82ac5494043ef86d44179280b79aa29a50c624b6905ca788679e8bb7e5a705a0 SHA512 (compiler-rt-18.1.8.src.tar.xz) = fb8795bd51c9b005c2ad1975591e9e2715740d6407ccad41379f136ef2e8d24ded8b97b01165a3ae4bd377119a6a1049ca05d3220404fc12bee86114ff2bff0d From 219dd9ed5e7a5e486e3d78b161ae7f3702f8da7d Mon Sep 17 00:00:00 2001 From: David Benoit Date: Fri, 13 Jun 2025 09:35:50 -0400 Subject: [PATCH 44/54] Update to Go 1.24.4 (fips-1) Resolves: RHEL-95997 --- .gitignore | 2 ++ golang.spec | 6 +++--- sources | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 85c54f3..e8df4a5 100644 --- a/.gitignore +++ b/.gitignore @@ -163,3 +163,5 @@ /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 diff --git a/golang.spec b/golang.spec index c00cdc5..aeb8f86 100644 --- a/golang.spec +++ b/golang.spec @@ -107,11 +107,11 @@ %global go_api 1.24 # Use only for prerelease versions #global go_prerelease rc3 -%global go_patch 3 +%global go_patch 4 %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 3 +%global pkg_release 1 # For rpmdev-bumpspec and releng automation. %global baserelease 1 @@ -120,7 +120,7 @@ %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 diff --git a/sources b/sources index 9522925..25fad5a 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (go1.24.3.src.tar.gz) = 05d19372fb923eeea19395b4de569d2ecfec7fadf2d8236d47cd667982de51c569e9816372cb79e32166553f9bcbe68f7bc2a6ded5655809b1caf5bd941011e7 -SHA512 (go1.24.3-3-openssl-fips.tar.gz) = 237fc948a2ceb5ea1a0969fbf363768703179eaf0a0c327e032024ca54bca4ab82ac5494043ef86d44179280b79aa29a50c624b6905ca788679e8bb7e5a705a0 +SHA512 (go1.24.4.src.tar.gz) = b785583fc53d62094b2de793a0e3281a26d2de17897a35b378fc2d13cb912ca473c37a7bae54a50660141809d5d0a70a97663d406cf30d7f0221ecbb5ffddec6 +SHA512 (go1.24.4-1-openssl-fips.tar.gz) = d62905d51090a99b20d294e5e23cf2c8d807e620309602364ad30379e65d13ef69ef82666be891f1743c46608a8aa1ab95121db92f38ae5a7b933d242fa7c582 SHA512 (compiler-rt-18.1.8.src.tar.xz) = fb8795bd51c9b005c2ad1975591e9e2715740d6407ccad41379f136ef2e8d24ded8b97b01165a3ae4bd377119a6a1049ca05d3220404fc12bee86114ff2bff0d From 7644c91fd35610a8cb7d3e3059f9baf4a0b901a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Wed, 25 Jun 2025 14:40:36 +0200 Subject: [PATCH 45/54] Add LD_FLAGS for stripping binaries Resolves: RHEL-61237 --- golang.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/golang.spec b/golang.spec index aeb8f86..a050b1f 100644 --- a/golang.spec +++ b/golang.spec @@ -430,7 +430,7 @@ export CC_FOR_TARGET="gcc" export GOOS=linux export GOARCH=%{gohostarch} -DEFAULT_GO_LD_FLAGS="" +DEFAULT_GO_LD_FLAGS="-s -w" %if !%{external_linker} export GO_LDFLAGS="-linkmode internal $DEFAULT_GO_LD_FLAGS" %else From f670590afa2bff19be5df1501061bcef3397eebe Mon Sep 17 00:00:00 2001 From: David Benoit Date: Mon, 21 Jul 2025 09:43:16 -0400 Subject: [PATCH 46/54] Re enable debuginfo in toolchain binaries Instead of omitting debuginfo, waive the rpminspect result. Later we will strip the debuginfo into a separate package. Resolves: RHEL-101452 --- golang.spec | 2 +- rpminspect.yaml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/golang.spec b/golang.spec index a050b1f..aeb8f86 100644 --- a/golang.spec +++ b/golang.spec @@ -430,7 +430,7 @@ export CC_FOR_TARGET="gcc" export GOOS=linux export GOARCH=%{gohostarch} -DEFAULT_GO_LD_FLAGS="-s -w" +DEFAULT_GO_LD_FLAGS="" %if !%{external_linker} export GO_LDFLAGS="-linkmode internal $DEFAULT_GO_LD_FLAGS" %else diff --git a/rpminspect.yaml b/rpminspect.yaml index cd93d0d..bbe0d5a 100644 --- a/rpminspect.yaml +++ b/rpminspect.yaml @@ -20,6 +20,7 @@ debuginfo: - /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 From 03fbcc2bbbe14611b8febc3dd097fb78157c8f53 Mon Sep 17 00:00:00 2001 From: David Benoit Date: Wed, 13 Aug 2025 07:43:40 -0400 Subject: [PATCH 47/54] Update to Go 1.24.6 Resolves: RHEL-106943 --- .gitignore | 2 ++ golang.spec | 2 +- sources | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index e8df4a5..c493e91 100644 --- a/.gitignore +++ b/.gitignore @@ -165,3 +165,5 @@ /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 diff --git a/golang.spec b/golang.spec index aeb8f86..2b37706 100644 --- a/golang.spec +++ b/golang.spec @@ -107,7 +107,7 @@ %global go_api 1.24 # Use only for prerelease versions #global go_prerelease rc3 -%global go_patch 4 +%global go_patch 6 %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 diff --git a/sources b/sources index 25fad5a..4a81b56 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (go1.24.4.src.tar.gz) = b785583fc53d62094b2de793a0e3281a26d2de17897a35b378fc2d13cb912ca473c37a7bae54a50660141809d5d0a70a97663d406cf30d7f0221ecbb5ffddec6 -SHA512 (go1.24.4-1-openssl-fips.tar.gz) = d62905d51090a99b20d294e5e23cf2c8d807e620309602364ad30379e65d13ef69ef82666be891f1743c46608a8aa1ab95121db92f38ae5a7b933d242fa7c582 +SHA512 (go1.24.6.src.tar.gz) = 65f535c722f4a0f6111c9ed829677621e456a5bc969ccb99009da1ade096b2b1a648a44ccfa913543677c220baeaf1afe634ba8ba165d9474ac9433ac249c914 +SHA512 (go1.24.6-1-openssl-fips.tar.gz) = a166edc8f159dee3e2771c76fc98cb66c333166645705cf4b917016cc3650952e06c67cf7021ba3e82138909b2802ac922a530be5b568a1470fdfaa9f187343c SHA512 (compiler-rt-18.1.8.src.tar.xz) = fb8795bd51c9b005c2ad1975591e9e2715740d6407ccad41379f136ef2e8d24ded8b97b01165a3ae4bd377119a6a1049ca05d3220404fc12bee86114ff2bff0d From 3066666ea79943d780a955ee83b7036bbfa8857d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Wed, 20 Aug 2025 08:48:32 +0200 Subject: [PATCH 48/54] Update to Go 1.25.0 Set GOAMD64 to v3 and GOPPC64 to power9 to align with new architecture baselines Resolves: RHEL-109556 --- .gitignore | 2 ++ golang.spec | 38 ++++++++++++++++++++++++-------------- sources | 4 ++-- 3 files changed, 28 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index c493e91..cfc0ce5 100644 --- a/.gitignore +++ b/.gitignore @@ -167,3 +167,5 @@ /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 diff --git a/golang.spec b/golang.spec index 2b37706..215e178 100644 --- a/golang.spec +++ b/golang.spec @@ -104,10 +104,10 @@ %global gohostarch riscv64 %endif -%global go_api 1.24 +%global go_api 1.25 # Use only for prerelease versions #global go_prerelease rc3 -%global go_patch 6 +%global go_patch 0 %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 @@ -178,17 +178,21 @@ 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.20221118152302.e6195bd50e26 -Provides: bundled(golang(github.com/ianlancetaylor/demangle)) = 0.0.0.20220319035150.800ac71e25c2 -Provides: bundled(golang(golang.org/x/arch)) = 0.4.0 -Provides: bundled(golang(golang.org/x/crypto)) = 0.11.1.0.20230711161743.2e82bdd1719d -Provides: bundled(golang(golang.org/x/mod)) = 0.12.0 -Provides: bundled(golang(golang.org/x/net)) = 0.12.1.0.20230712162946.57553cbff163 -Provides: bundled(golang(golang.org/x/sync)) = 0.3.0 -Provides: bundled(golang(golang.org/x/sys)) = 0.10.0 -Provides: bundled(golang(golang.org/x/term)) = 0.10.0 -Provides: bundled(golang(golang.org/x/text)) = 0.11.0 -Provides: bundled(golang(golang.org/x/tools)) = 0.11.1.0.20230712164437.1ca21856af7b +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.34.0 +Provides: bundled(golang(rsc.io/markdown)) = 0.0.0.20240306144322.0bf8f97ee8ef %endif Requires: %{name}-bin = %{version}-%{release} @@ -397,7 +401,7 @@ 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=v1 ./buildgo.sh + 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 @@ -420,6 +424,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 @@ -429,6 +435,8 @@ 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} @@ -574,6 +582,8 @@ 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 diff --git a/sources b/sources index 4a81b56..c4b4206 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (go1.24.6.src.tar.gz) = 65f535c722f4a0f6111c9ed829677621e456a5bc969ccb99009da1ade096b2b1a648a44ccfa913543677c220baeaf1afe634ba8ba165d9474ac9433ac249c914 -SHA512 (go1.24.6-1-openssl-fips.tar.gz) = a166edc8f159dee3e2771c76fc98cb66c333166645705cf4b917016cc3650952e06c67cf7021ba3e82138909b2802ac922a530be5b568a1470fdfaa9f187343c +SHA512 (go1.25.0.src.tar.gz) = 45030cd02ab0ed4feb74e12ad9dde544bf2255c4d1a48655fca5b643bbe690c75ea3dfac74a0e3e3c707c5af5e9171ae383a7a322e70fe824f9a47b6ffd42201 +SHA512 (go1.25.0-1-openssl-fips.tar.gz) = 060e0d318a96585c61209cb0509d11df62ba47b0f681e3a7fc9448c5ba3f18a4dc672706bd5cf52ee8b433d7e07aaf3cf2f09ed02b69f0e49e5baaffc0cf2213 SHA512 (compiler-rt-18.1.8.src.tar.xz) = fb8795bd51c9b005c2ad1975591e9e2715740d6407ccad41379f136ef2e8d24ded8b97b01165a3ae4bd377119a6a1049ca05d3220404fc12bee86114ff2bff0d From 4f9820fb7d7ea6d1c233f0c9f0e0601bf5e38516 Mon Sep 17 00:00:00 2001 From: Edjunior Machado Date: Wed, 12 Mar 2025 11:10:40 +0000 Subject: [PATCH 49/54] rpminspect.yaml: Add preprofile binary as it contains debugging symbols Related: RHEL-61237 --- rpminspect.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rpminspect.yaml b/rpminspect.yaml index bbe0d5a..1fbe325 100644 --- a/rpminspect.yaml +++ b/rpminspect.yaml @@ -24,6 +24,8 @@ debuginfo: - /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/elf/testdata/* From b47ae1736117f438a6d7c96646396cf8403dcbd6 Mon Sep 17 00:00:00 2001 From: Edjunior Machado Date: Thu, 22 May 2025 14:31:02 +0200 Subject: [PATCH 50/54] Update CI support --- plans/ci.fmf | 5 --- plans/tier0.fmf | 12 +++++ tests/Sanity/basic-smoke/Makefile | 64 --------------------------- tests/Sanity/basic-smoke/PURPOSE | 3 -- tests/Sanity/basic-smoke/main.fmf | 13 ------ tests/Sanity/basic-smoke/runtest.sh | 68 ----------------------------- 6 files changed, 12 insertions(+), 153 deletions(-) delete mode 100644 plans/ci.fmf create mode 100644 plans/tier0.fmf delete mode 100644 tests/Sanity/basic-smoke/Makefile delete mode 100644 tests/Sanity/basic-smoke/PURPOSE delete mode 100644 tests/Sanity/basic-smoke/main.fmf delete mode 100755 tests/Sanity/basic-smoke/runtest.sh diff --git a/plans/ci.fmf b/plans/ci.fmf deleted file mode 100644 index 3fd3ab7..0000000 --- a/plans/ci.fmf +++ /dev/null @@ -1,5 +0,0 @@ -summary: CI Gating Plan -discover: - how: fmf -execute: - how: tmt diff --git a/plans/tier0.fmf b/plans/tier0.fmf new file mode 100644 index 0000000..4b27223 --- /dev/null +++ b/plans/tier0.fmf @@ -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" diff --git a/tests/Sanity/basic-smoke/Makefile b/tests/Sanity/basic-smoke/Makefile deleted file mode 100644 index 801fdb1..0000000 --- a/tests/Sanity/basic-smoke/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/golang/Sanity/basic-smoke -# Description: basic smoke test for go -# Author: Edjunior Machado -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2019 Red Hat, Inc. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/golang/Sanity/basic-smoke -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Edjunior Machado " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: basic smoke test for go" >> $(METADATA) - @echo "Type: Sanity" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: golang" >> $(METADATA) - @echo "Requires: golang" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Releases: -RHEL4 -RHEL6 -RHELClient5 -RHELServer5" >> $(METADATA) - @echo "Architectures: s390x x86_64 ppc64le aarch64" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Sanity/basic-smoke/PURPOSE b/tests/Sanity/basic-smoke/PURPOSE deleted file mode 100644 index 263fb91..0000000 --- a/tests/Sanity/basic-smoke/PURPOSE +++ /dev/null @@ -1,3 +0,0 @@ -PURPOSE of /tools/golang/Sanity/basic-smoke -Description: basic smoke test for go -Author: Edjunior Machado diff --git a/tests/Sanity/basic-smoke/main.fmf b/tests/Sanity/basic-smoke/main.fmf deleted file mode 100644 index 3c6d036..0000000 --- a/tests/Sanity/basic-smoke/main.fmf +++ /dev/null @@ -1,13 +0,0 @@ -summary: basic smoke test for go -description: '' -contact: -- Edjunior Machado -component: -- golang -test: ./runtest.sh -framework: beakerlib -recommend: -- golang -duration: 5m -extra-summary: /tools/golang/Sanity/basic-smoke -extra-task: /tools/golang/Sanity/basic-smoke diff --git a/tests/Sanity/basic-smoke/runtest.sh b/tests/Sanity/basic-smoke/runtest.sh deleted file mode 100755 index e14b324..0000000 --- a/tests/Sanity/basic-smoke/runtest.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/golang/Sanity/basic-smoke -# Description: basic smoke test for go -# Author: Edjunior Machado -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2019 Red Hat, Inc. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="$(rpm -qf $(which go))" - -# Conserve the non-zero return value through the pipe -set -o pipefail - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - cat << EOF > $TmpDir/hello.go -package main -import "fmt" -func main() { - fmt.Println("hello world") -} -EOF - rlAssertExists "$TmpDir/hello.go" - - rlRun "go run $TmpDir/hello.go |& tee $TmpDir/go-run-hello.out" 0 "Testing 'go run'" - rlAssertNotDiffer <(echo 'hello world') go-run-hello.out - - rlRun "go build -o $TmpDir/hello $TmpDir/hello.go" 0 "Testing 'go build'" - rlAssertExists "hello" - - rlRun "$TmpDir/hello |& tee $TmpDir/hello.out" 0 "Running binary" - rlAssertNotDiffer <(echo 'hello world') hello.out - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd From 890360e76118189095ebf628ec8812d8fc4a27bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Wed, 10 Sep 2025 17:55:55 +0200 Subject: [PATCH 51/54] Revert DWARF5 defaults Add elf5 to rpminspect.yaml Related: RHEL-109556 --- golang.spec | 2 ++ revert_dwarf5.patch | 42 ++++++++++++++++++++++++++++++++++++++++++ rpminspect.yaml | 1 + 3 files changed, 45 insertions(+) create mode 100644 revert_dwarf5.patch diff --git a/golang.spec b/golang.spec index 215e178..85a0d94 100644 --- a/golang.spec +++ b/golang.spec @@ -201,6 +201,8 @@ Requires: %{name}-race = %{version}-%{release} Patch1: 0001-Modify-go.env.patch Patch6: 0006-Default-to-ld.bfd-on-ARM64.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 diff --git a/revert_dwarf5.patch b/revert_dwarf5.patch new file mode 100644 index 0000000..80a58bb --- /dev/null +++ b/revert_dwarf5.patch @@ -0,0 +1,42 @@ +From e90ae9076a108b83c645814f75a574c14a5a4b98 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= +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 + diff --git a/rpminspect.yaml b/rpminspect.yaml index 1fbe325..a2f17af 100644 --- a/rpminspect.yaml +++ b/rpminspect.yaml @@ -28,5 +28,6 @@ debuginfo: - /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/* From c545c230364a6aceaf14f62f6982719b53f7fdb4 Mon Sep 17 00:00:00 2001 From: Louis Abel Date: Mon, 30 Jun 2025 09:08:51 -0700 Subject: [PATCH 52/54] Disable race for risv64 Resolves: RHEL-97549 --- golang.spec | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/golang.spec b/golang.spec index 85a0d94..8cb7839 100644 --- a/golang.spec +++ b/golang.spec @@ -7,6 +7,14 @@ %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 # @@ -197,7 +205,9 @@ Provides: bundled(golang(rsc.io/markdown)) = 0.0.0.20240306144322.0bf8f97ee8ef Requires: %{name}-bin = %{version}-%{release} Requires: %{name}-src = %{version}-%{release} +%if %{race} Requires: %{name}-race = %{version}-%{release} +%endif Patch1: 0001-Modify-go.env.patch Patch6: 0006-Default-to-ld.bfd-on-ARM64.patch @@ -330,12 +340,14 @@ Requires: delve %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 Binary library objects for Go's race detector. +%endif %prep @@ -396,6 +408,7 @@ tsan_go_dir="../llvm/compiler-rt-%{llvm_compiler_rt_version}.src/lib/tsan/go" # 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 @@ -413,6 +426,7 @@ pushd "${tsan_go_dir}" popd cp "${tsan_go_dir}"/race_linux_%{gohostarch}.syso ./src/runtime/race/race_linux_%{gohostarch}.syso %endif +%endif # bootstrap compiler GOROOT %if !%{golang_bootstrap} @@ -462,7 +476,9 @@ popd 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 +%endif %install rm -rf $RPM_BUILD_ROOT @@ -672,12 +688,14 @@ fi %{_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 @@ -698,6 +716,7 @@ fi %files -n go-toolset +%if %{race} %files race %ifarch x86_64 %{goroot}/src/runtime/race/internal/amd64v1/race_linux.syso @@ -705,6 +724,7 @@ fi %else %{goroot}/src/runtime/race/race_linux_%{gohostarch}.syso %endif +%endif %changelog %autochangelog From 1485df0826cd260c24770df0f121699d2bad6b3f Mon Sep 17 00:00:00 2001 From: Archana Date: Tue, 30 Sep 2025 14:57:39 +0530 Subject: [PATCH 53/54] -Update to Go1.25.1 -Resolves: RHEL-116849 --- .gitignore | 2 ++ golang.spec | 2 +- sources | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index cfc0ce5..24f77b2 100644 --- a/.gitignore +++ b/.gitignore @@ -169,3 +169,5 @@ /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 diff --git a/golang.spec b/golang.spec index 8cb7839..5782b29 100644 --- a/golang.spec +++ b/golang.spec @@ -115,7 +115,7 @@ %global go_api 1.25 # Use only for prerelease versions #global go_prerelease rc3 -%global go_patch 0 +%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 diff --git a/sources b/sources index c4b4206..a51e5d7 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (go1.25.0.src.tar.gz) = 45030cd02ab0ed4feb74e12ad9dde544bf2255c4d1a48655fca5b643bbe690c75ea3dfac74a0e3e3c707c5af5e9171ae383a7a322e70fe824f9a47b6ffd42201 -SHA512 (go1.25.0-1-openssl-fips.tar.gz) = 060e0d318a96585c61209cb0509d11df62ba47b0f681e3a7fc9448c5ba3f18a4dc672706bd5cf52ee8b433d7e07aaf3cf2f09ed02b69f0e49e5baaffc0cf2213 +SHA512 (go1.25.1.src.tar.gz) = e77ae799a0dcd4ded40a196c3645da5b7e808e417831d2c5441387b0fd0ed5f946b678305294c52fda0a258889225c24c6073bb0973c3531ba4aa107b6afe849 +SHA512 (go1.25.1-1-openssl-fips.tar.gz) = 49a91ca8395fe4141fbfe883b8e24732d739da7df813b8f00d4948a9e51af89dfa96a651100dce127ca94fc96016311c5a5f29eae9c34a4c172e62dc7a8bf671 SHA512 (compiler-rt-18.1.8.src.tar.xz) = fb8795bd51c9b005c2ad1975591e9e2715740d6407ccad41379f136ef2e8d24ded8b97b01165a3ae4bd377119a6a1049ca05d3220404fc12bee86114ff2bff0d From b75244f94c398d41f5a05584c5a8440c1d900b3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= Date: Wed, 29 Oct 2025 17:37:55 +0100 Subject: [PATCH 54/54] Update to Go 1.25.3 Resolves: RHEL-121219 --- .gitignore | 2 ++ golang.spec | 2 +- sources | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 24f77b2..c2ad651 100644 --- a/.gitignore +++ b/.gitignore @@ -171,3 +171,5 @@ /go1.25.0-1-openssl-fips.tar.gz /go1.25.1-1-openssl-fips.tar.gz /go1.25.1.src.tar.gz +/go1.25.3.src.tar.gz +/go1.25.3-1-openssl-fips.tar.gz diff --git a/golang.spec b/golang.spec index 5782b29..cd841f4 100644 --- a/golang.spec +++ b/golang.spec @@ -115,7 +115,7 @@ %global go_api 1.25 # Use only for prerelease versions #global go_prerelease rc3 -%global go_patch 1 +%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 diff --git a/sources b/sources index a51e5d7..7e43aca 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (go1.25.1.src.tar.gz) = e77ae799a0dcd4ded40a196c3645da5b7e808e417831d2c5441387b0fd0ed5f946b678305294c52fda0a258889225c24c6073bb0973c3531ba4aa107b6afe849 -SHA512 (go1.25.1-1-openssl-fips.tar.gz) = 49a91ca8395fe4141fbfe883b8e24732d739da7df813b8f00d4948a9e51af89dfa96a651100dce127ca94fc96016311c5a5f29eae9c34a4c172e62dc7a8bf671 +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