Files
poky/meta/recipes-devtools/go/go-binary-native_1.20.1.bb
Peter Marko 3a861f2204 go: use go as CVE product for all golang recipe veriants
All golang vulnerabilities are reported under product 'go'.

By default there is no vulnerability reported for images with
golang components because none of used golang packages
have correct CVE product set:
* go-binary-native
* go-runtime
* go-cross-*

(From OE-Core rev: 09f3a27a809bbec9b08c4e4a2b846b68f386c35c)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 17:10:00 +00:00

51 lines
1.4 KiB
BlitzBasic

# This recipe is for bootstrapping our go-cross from a prebuilt binary of Go from golang.org.
SUMMARY = "Go programming language compiler (upstream binary for bootstrap)"
HOMEPAGE = " http://golang.org/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
PROVIDES = "go-native"
# Checksums available at https://go.dev/dl/
SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
SRC_URI[go_linux_amd64.sha256sum] = "000a5b1fca4f75895f78befeb2eecf10bfff3c428597f3f1e69133b63b911b02"
SRC_URI[go_linux_arm64.sha256sum] = "5e5e2926733595e6f3c5b5ad1089afac11c1490351855e87849d0e7702b1ec2e"
SRC_URI[go_linux_ppc64le.sha256sum] = "85cfd4b89b48c94030783b6e9e619e35557862358b846064636361421d0b0c52"
UPSTREAM_CHECK_URI = "https://golang.org/dl/"
UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
CVE_PRODUCT = "go"
S = "${WORKDIR}/go"
inherit goarch native
do_compile() {
:
}
make_wrapper() {
rm -f ${D}${bindir}/$1
cat <<END >${D}${bindir}/$1
#!/bin/bash
here=\`dirname \$0\`
export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}"
\$here/../lib/go/bin/$1 "\$@"
END
chmod +x ${D}${bindir}/$1
}
do_install() {
find ${S} -depth -type d -name testdata -exec rm -rf {} +
install -d ${D}${bindir} ${D}${libdir}/go
cp --preserve=mode,timestamps -R ${S}/ ${D}${libdir}/
for f in ${S}/bin/*
do
make_wrapper `basename $f`
done
}