From 2fb96c66774749a54faa104d7b59a9c938c81cfc Mon Sep 17 00:00:00 2001 From: David Benoit Date: Thu, 13 Apr 2023 12:41:36 -0400 Subject: [PATCH] Rebase to Go 1.20.3 Remove race archives Update static test patches Resolves: rhbz#2185259 --- .gitignore | 2 ++ disable_static_tests_part2.patch | 37 +++++---------------------- fix-memory-leak-evp-sign-verify.patch | 10 ++++---- golang.spec | 26 ++++++++----------- sources | 4 +-- 5 files changed, 26 insertions(+), 53 deletions(-) diff --git a/.gitignore b/.gitignore index a13e508..daa5ecc 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,5 @@ /go1.19.4.tar.gz /go1.19.6.tar.gz /go1.19.6-1-openssl-fips.tar.gz +/go1.20.3.tar.gz +/go1.20.3-1-openssl-fips.tar.gz diff --git a/disable_static_tests_part2.patch b/disable_static_tests_part2.patch index 6ad4e62..aa2d91c 100644 --- a/disable_static_tests_part2.patch +++ b/disable_static_tests_part2.patch @@ -1,36 +1,13 @@ diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go -index da5b179..6a772df 100644 +index 9f26606..2408505 100644 --- a/src/cmd/dist/test.go +++ b/src/cmd/dist/test.go -@@ -1247,18 +1247,20 @@ func (t *tester) cgoTest(dt *distTest) error { - fmt.Println("No support for static linking found (lacks libc.a?), skip cgo static linking test.") +@@ -1259,7 +1259,7 @@ func (t *tester) registerCgoTests() { } else { - if goos != "android" { -- t.addCmd(dt, "misc/cgo/testtls", t.goTest(), "-ldflags", `-linkmode=external -extldflags "-static -pthread"`, ".") -+ t.addCmd(dt, "misc/cgo/testtls", t.goTest(), "-ldflags", `-linkmode=external -extldflags "-static -pthread"`, "-tags=no_openssl") - } - t.addCmd(dt, "misc/cgo/nocgo", t.goTest(), ".") - t.addCmd(dt, "misc/cgo/nocgo", t.goTest(), "-ldflags", `-linkmode=external`, ".") - if goos != "android" { -- t.addCmd(dt, "misc/cgo/nocgo", t.goTest(), "-ldflags", `-linkmode=external -extldflags "-static -pthread"`, ".") -+ t.addCmd(dt, "misc/cgo/nocgo", t.goTest(), "-ldflags", `-linkmode=external -extldflags "-static -pthread"`, "-tags=no_openssl") -+ /* - t.addCmd(dt, "misc/cgo/test", t.goTest(), "-tags=static", "-ldflags", `-linkmode=external -extldflags "-static -pthread"`, ".") - // -static in CGO_LDFLAGS triggers a different code path - // than -static in -extldflags, so test both. - // See issue #16651. - cmd := t.addCmd(dt, "misc/cgo/test", t.goTest(), "-tags=static", ".") - setEnv(cmd, "CGO_LDFLAGS", "-static -pthread") -+ */ - } - } - -@@ -1268,7 +1270,7 @@ func (t *tester) cgoTest(dt *distTest) error { - t.addCmd(dt, "misc/cgo/test", t.goTest(), "-buildmode=pie", "-ldflags=-linkmode=internal", "-tags=internal,internal_pie", ".") - } - t.addCmd(dt, "misc/cgo/testtls", t.goTest(), "-buildmode=pie", ".") -- t.addCmd(dt, "misc/cgo/nocgo", t.goTest(), "-buildmode=pie", ".") -+ t.addCmd(dt, "misc/cgo/nocgo", t.goTest(), "-buildmode=pie", "-tags=no_openssl") + panic("unknown linkmode with static build: " + linkmode) } +- gt.tags = append(gt.tags, "static") ++ gt.tags = append(gt.tags, "static", "no_openssl") } - } + + t.registerTest("cgo:"+name, "../misc/cgo/test", gt, opts...) diff --git a/fix-memory-leak-evp-sign-verify.patch b/fix-memory-leak-evp-sign-verify.patch index ef231bf..f2eae14 100644 --- a/fix-memory-leak-evp-sign-verify.patch +++ b/fix-memory-leak-evp-sign-verify.patch @@ -1,8 +1,8 @@ diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_evp.c b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_evp.c -index 2124978..1f853b4 100644 +index 76bac5b..24a9615 100644 --- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_evp.c +++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_evp.c -@@ -44,7 +44,11 @@ int _goboringcrypto_EVP_sign_raw(EVP_MD *md, EVP_PKEY_CTX *ctx, const uint8_t *m +@@ -43,7 +43,11 @@ int _goboringcrypto_EVP_sign_raw(EVP_MD *md, EVP_PKEY_CTX *ctx, const uint8_t *m GO_RSA *rsa_key) { int ret = 0; GO_EVP_PKEY *pk = _goboringcrypto_EVP_PKEY_new(); @@ -15,7 +15,7 @@ index 2124978..1f853b4 100644 if (!ctx && !(ctx = _goboringcrypto_EVP_PKEY_CTX_new(pk, NULL))) goto err; -@@ -64,6 +68,8 @@ int _goboringcrypto_EVP_sign_raw(EVP_MD *md, EVP_PKEY_CTX *ctx, const uint8_t *m +@@ -63,6 +67,8 @@ int _goboringcrypto_EVP_sign_raw(EVP_MD *md, EVP_PKEY_CTX *ctx, const uint8_t *m err: if (ctx) _goboringcrypto_EVP_PKEY_CTX_free(ctx); @@ -24,7 +24,7 @@ index 2124978..1f853b4 100644 return ret; } -@@ -104,7 +110,11 @@ int _goboringcrypto_EVP_verify_raw(const uint8_t *msg, size_t msgLen, +@@ -103,7 +109,11 @@ int _goboringcrypto_EVP_verify_raw(const uint8_t *msg, size_t msgLen, int ret = 0; EVP_PKEY_CTX *ctx; GO_EVP_PKEY *pk = _goboringcrypto_EVP_PKEY_new(); @@ -37,7 +37,7 @@ index 2124978..1f853b4 100644 if (!(ctx = _goboringcrypto_EVP_PKEY_CTX_new(pk, NULL))) goto err; -@@ -124,6 +134,8 @@ int _goboringcrypto_EVP_verify_raw(const uint8_t *msg, size_t msgLen, +@@ -123,6 +133,8 @@ int _goboringcrypto_EVP_verify_raw(const uint8_t *msg, size_t msgLen, err: if (ctx) _goboringcrypto_EVP_PKEY_CTX_free(ctx); diff --git a/golang.spec b/golang.spec index de60f6c..941f7b4 100644 --- a/golang.spec +++ b/golang.spec @@ -95,8 +95,8 @@ %global gohostarch s390x %endif -%global go_api 1.19 -%global go_version 1.19.6 +%global go_api 1.20 +%global go_version 1.20.3 %global version %{go_version} %global pkg_release 1 @@ -345,12 +345,11 @@ cwd=$(pwd) src_list=$cwd/go-src.list pkg_list=$cwd/go-pkg.list shared_list=$cwd/go-shared.list -race_list=$cwd/go-race.list misc_list=$cwd/go-misc.list 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 +rm -f $src_list $pkg_list $docs_list $misc_list $tests_list $shared_list +touch $src_list $pkg_list $docs_list $misc_list $tests_list $shared_list pushd $RPM_BUILD_ROOT%{goroot} find src/ -type d -a \( ! -name testdata -a ! -ipath '*/testdata/*' \) -printf '%%%dir %{goroot}/%p\n' >> $src_list find src/ ! -type d -a \( ! -ipath '*/testdata/*' -a ! -name '*_test*.go' \) -printf '%{goroot}/%p\n' >> $src_list @@ -381,13 +380,6 @@ pushd $RPM_BUILD_ROOT%{goroot} find pkg/*_dynlink/ ! -type d -printf '%{goroot}/%p\n' >> $shared_list %endif -%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 @@ -528,11 +520,13 @@ cd .. %files -f go-shared.list shared %endif -%if %{race} -%files -f go-race.list race -%endif - %changelog +* Tue Apr 11 2023 David Benoit - 1.20.3-1 +- Rebase to Go 1.20.3 +- Remove race archives +- Update static test patches +- Resolves: rhbz#2185259 + * Wed Mar 01 2023 David Benoit - 1.19.6-1 - Rebase to Go 1.19.6 - Resolves: rhbz#2174429 diff --git a/sources b/sources index b945b19..e6c0476 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (go1.19.6.tar.gz) = f8d5585f5ee9b6730eeb0251b482dd7b3858a0223fe841293546989667eb5018844c7fa20c4a533408fbc8276405886517588a17f618c40e95488ca9ecafba35 -SHA512 (go1.19.6-1-openssl-fips.tar.gz) = c60758adaaeba468d5e9cfa50c72b5155c85491c954d1cb75e03c7e3701a41577ccb92fe37681f04da60d57bfad4bcd7a19b233ce6cca944fe6ca076b4e81d90 +SHA512 (go1.20.3.tar.gz) = 2d7cd1561f6f65d189e050ad321e5e619ad4956aa3d3e8b14165c596f8596b32c5afde0d43e51c0fae9f589b460ca5f52aade1125942e799d4db37089e88ddd1 +SHA512 (go1.20.3-1-openssl-fips.tar.gz) = db7a79ddee78bf32a2a334dd31af355f5acf0b32ea26d0a8b6649d04e48911a2b2c479b38a0e6343ca9de56a7aafe1ea7f2b53e39b5f8248ea8ed822ce7a2a5e