Compare commits

...

No commits in common. "c8-stream-rhel8" and "stream-go-toolset-rhel-next-rhel-8.10.0" have entirely different histories.

18 changed files with 231 additions and 6 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

107
.gitignore vendored
View File

@ -1,3 +1,104 @@
SOURCES/compiler-rt-18.1.8.src.tar.xz
SOURCES/go1.25.3-1-openssl-fips.tar.gz
SOURCES/go1.25.3.tar.gz
/go1.8.3.src.tar.gz
/go1.8.4.src.tar.gz
/go1.8.5.src.tar.gz
/go1.10.src.tar.gz
/go1.10.2.src.tar.gz
/dev.boringcrypto.go1.10.tar.gz
/go1.9.7.linux-amd64.tar.gz
/go1.9.7.linux-386.tar.gz
/go1.9.7.linux-ppc64le.tar.gz
/go1.9.7.linux-s390x.tar.gz
/go1.9.7.linux-arm64.tar.gz
/go1.10.3-openssl-1-1-fips.tar.gz
/go1.11-openssl-1.1-fips.tar.gz
/go1.11.5-openssl-1.1.tar.gz
/go-go1.11.5-openssl-1.1.tar.gz
/go1.12.1-openssl-fips.tar.gz
/go1.12.1-3-openssl-fips.tar.gz
/go1.12.1-4-openssl-fips.tar.gz
/go1.12.1-8-openssl-fips.tar.gz
/go1.12.1-9-openssl-fips.tar.gz
/go1.12.5-1-openssl-fips.tar.gz
/go1.12.6-1-openssl-fips.tar.gz
/go-go-1.12.6-2-openssl-fips.tar.gz
/go-go-1.12.6-3-openssl-fips.tar.gz
/go-go-1.12.8-2-openssl-fips.tar.gz
/go-go-1.13.4-1-openssl-fips.tar.gz
/go-go-1.14.2-1-openssl-fips.tar.gz
/go-go-1.14.4-1-openssl-fips.tar.gz
/go-go-1.14.6-1-openssl-fips.tar.gz
/go-go-1.14.7-1-openssl-fips.tar.gz
/go-go-1.14.7-2-openssl-fips.tar.gz
/go-go-1.15.0-2-openssl-fips.tar.gz
/go-go-1.15.2-1-openssl-fips.tar.gz
/go-go-1.15.3-1-openssl-fips.tar.gz
/go-go-1.15.5-1-openssl-fips.tar.gz
/go-go-1.15.7-1-openssl-fips.tar.gz
/go-go-1.16.1-1-openssl-fips.tar.gz
/go-go-1.16.1-2-openssl-fips.tar.gz
/go-go-1.16.4-1-openssl-fips.tar.gz
/go-go-1.16.5-1-openssl-fips.tar.gz
/go-go-1.16.6-1-openssl-fips.tar.gz
/go-go-1.16.6-3-openssl-fips.tar.gz
/go-go-1.16.7-1-openssl-fips.tar.gz
/go-go-1.17.2-1-openssl-fips.tar.gz
/go-go-1.17.3-1-openssl-fips.tar.gz
/go-go-1.17.4-1-openssl-fips.tar.gz
/go-go-1.17.5-1-openssl-fips.tar.gz
/go-go-1.17.7-1-openssl-fips.tar.gz
/go1.19.1.tar.gz
/go1.19.2.tar.gz
/go1.19.4-1-openssl-fips.tar.gz
/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
/go1.20.4.tar.gz
/go1.20.4-3-openssl-fips.tar.gz
/go1.20.6.tar.gz
/go1.20.6-1-openssl-fips.tar.gz
/go1.20.8.tar.gz
/go1.20.8-1-openssl-fips.tar.gz
/go1.21.3-1-openssl-fips.tar.gz
/go1.21.3.tar.gz
/go1.21.4.tar.gz
/go1.21.4-1-openssl-fips.tar.gz
/go1.21.7.tar.gz
/go1.21.7-1-openssl-fips.tar.gz
/go1.22.1.tar.gz
/go1.22.1-1-openssl-fips.tar.gz
/go1.22.1-2-openssl-fips.tar.gz
/go1.22.2.tar.gz
/go1.22.2-1-openssl-fips.tar.gz
/go1.22.3.src.tar.gz
/go1.22.3-1-openssl-fips.tar.gz
/go1.22.3.tar.gz
/go1.22.3-2-openssl-fips.tar.gz
/go1.22.3-3-openssl-fips.tar.gz
/go1.22.4.tar.gz
/go1.22.4-1-openssl-fips.tar.gz
/go1.22.5.tar.gz
/go1.22.5-1-openssl-fips.tar.gz
/51bfeff0e4b0757ff773da6882f4d538996c9b04.tar.gz
/compiler-rt-18.1.8.src.tar.xz
/go1.23.2.tar.gz
/go1.23.2-2-openssl-fips.tar.gz
/go1.23.4.tar.gz
/go1.23.4-1-openssl-fips.tar.gz
/go1.24.3.tar.gz
/go1.24.3-1-openssl-fips.tar.gz
/go1.24.3-2-openssl-fips.tar.gz
/go1.24.3-3-openssl-fips.tar.gz
/go1.24.4.src.tar.gz
/go1.24.4-1-openssl-fips.tar.gz
/go1.24.4.tar.gz
/go1.24.6.tar.gz
/go1.24.6-1-openssl-fips.tar.gz
/go1.25.0.tar.gz
/go1.25.0-1-openssl-fips.tar.gz
/go1.25.1.tar.gz
/go1.25.1-1-openssl-fips.tar.gz
/go1.25.3.src.tar.gz
/go1.25.3-1-openssl-fips.tar.gz
/go1.25.3.tar.gz

View File

@ -1,3 +0,0 @@
6ecbfa5516b60adb4e4e60f991b0d8ddf5aab12a SOURCES/compiler-rt-18.1.8.src.tar.xz
eb585257c57d2644a89c43d5fa277f78df3ab8c9 SOURCES/go1.25.3-1-openssl-fips.tar.gz
22eae00c75c7739a710b07eb4d2a4e96c89c479e SOURCES/go1.25.3.tar.gz

5
Makefile Normal file
View File

@ -0,0 +1,5 @@
mockbuild:
centpkg mockbuild
spectool:
spectool -g golang.spec

65
README.md Normal file
View File

@ -0,0 +1,65 @@
# Golang
## Introduction
This package holds the spec file and related patches for the Golang package.
The golang package is part of the larger go-toolset meta package.
## Sources
This particular branch provides Go 1.16.x. The sources for this branch can be
found at https://pagure.io/go/tree/go1.16-openssl-fips. The reason the source is
coming from a pagure fork as opposed to an upstream tarball is due to certain
patches we have written and currently maintain in order to claim FIPS compliance
by calling into OpenSSL. Shipping a forked version of the toolchain is not the
ideal scenario, and there is work in progress with upstream to enable us to
instead ship a pure upstream toolchain and include a crypto module in go-toolset
which will satisfy our FIPS requirements.
The current fork is based on an upstream branch[[0]] which uses
boringcrypto[[1]] instead of OpenSSL.
If you need to make changes to the source for a rebase or bug fix, check out the
pagure repo and switch to the branch listed above. Once you have made your
changes you can test them locally with `./all.bash`. You may want to export
`GOLANG_FIPS=1` before running that if you want to verify the FIPS codepaths are
correct. Please note however that the test suite does not fully expect FIPS
compliance, and will attempt to test non FIPS compliant code paths. The easiest
way to test your changes correctly is to create a tarball locally and execute a
mockbuild using this packge, which knows how to correctly run the testsuite in
both FIPS and non-FIPS modes.
NOTE: The way pagure previously handled uploaded releases has changed, and
releases must be tagged in the appropriate branch, from which pagure will
generate source tarballs.
## Testing & building changes
The first test you should run is a local mockbuild. This can be done with the
rhpkg command:
```
rhpkg mockbuild
```
Once everything builds and passes locally you'll likely want to perform a
scratch build. This will ensure that the changes you made build and run
correctly on all architectures that this package supports. The best way to do
this is to run a scratch build from your local sources without first having to
push them. This ensures your changes are correct before commiting them to the
repo. This can also be done via the following rhpkg command:
```
rhpkg scratch-build --srpm
```
Once your scratch build has passed you can execute a real build:
```
rhpkg build
```
---
[0] https://github.com/golang/go/tree/dev.boringcrypto
[1] https://opensource.google.com/projects/boringssl

8
gating.yaml Normal file
View File

@ -0,0 +1,8 @@
--- !Policy
product_versions:
- rhel-9
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}

12
plans/tier0.fmf Normal file
View File

@ -0,0 +1,12 @@
summary: tier0 tests
discover:
- name: rhel
how: fmf
url: https://gitlab.cee.redhat.com/toolchain-qe/tests/golang.git
filter: "tier:0"
execute:
how: tmt
provision:
hardware:
memory: ">= 4 GB"

33
rpminspect.yaml Normal file
View File

@ -0,0 +1,33 @@
---
debuginfo:
ignore:
# go binaries gained/contain debugging symbols: expected (rhbz#2175281 rhbz#2175677)
- /usr/lib/golang/bin/gofmt
- /usr/lib/golang/bin/go
- /usr/lib/golang/pkg/tool/linux_*/addr2line
- /usr/lib/golang/pkg/tool/linux_*/asm
- /usr/lib/golang/pkg/tool/linux_*/buildid
- /usr/lib/golang/pkg/tool/linux_*/cgo
- /usr/lib/golang/pkg/tool/linux_*/compile
- /usr/lib/golang/pkg/tool/linux_*/covdata
- /usr/lib/golang/pkg/tool/linux_*/cover
- /usr/lib/golang/pkg/tool/linux_*/dist
- /usr/lib/golang/pkg/tool/linux_*/distpack
- /usr/lib/golang/pkg/tool/linux_*/doc
- /usr/lib/golang/pkg/tool/linux_*/fix
- /usr/lib/golang/pkg/tool/linux_*/link
- /usr/lib/golang/pkg/tool/linux_*/nm
- /usr/lib/golang/pkg/tool/linux_*/objdump
- /usr/lib/golang/pkg/tool/linux_*/pack
- /usr/lib/golang/pkg/tool/linux_*/pprof
- /usr/lib/golang/pkg/tool/linux_*/preprofile
- /usr/lib/golang/pkg/tool/linux_*/test2json
- /usr/lib/golang/pkg/tool/linux_*/trace
- /usr/lib/golang/pkg/tool/linux_*/vet
# rpminspect: preprofile in golang package contains debugging symbols (RHEL-61237)
- /usr/lib/golang/pkg/tool/linux_*/preprofile
# go testdata
- /usr/lib/golang/src/debug/dwarf/testdata/*.elf
- /usr/lib/golang/src/debug/dwarf/testdata/*.elf5
- /usr/lib/golang/src/debug/elf/testdata/*
- /usr/lib/golang/src/runtime/pprof/testdata/*

3
sources Normal file
View File

@ -0,0 +1,3 @@
SHA512 (go1.25.3.tar.gz) = 403b6cacf59aa6dd344c5dc76caae2a15d08b712d863c93205e16d137690825047bf37521d2265d5f5ff23be8791a6269061aa795e963a8bdd8bd839f29fb038
SHA512 (go1.25.3-1-openssl-fips.tar.gz) = 4eb308049af031123a8d9745ced4d3d296362b8a5a65cef9542841ce880b0c1e682476f70291192d7ddf7a006bb65f5672019d2508216a448eaeca026402b45c
SHA512 (compiler-rt-18.1.8.src.tar.xz) = fb8795bd51c9b005c2ad1975591e9e2715740d6407ccad41379f136ef2e8d24ded8b97b01165a3ae4bd377119a6a1049ca05d3220404fc12bee86114ff2bff0d