[meta-virtualization] [PATCH 1/4] kubernetes: explicitly build for $TARGET_ARCH
Bruce Ashfield
bruce.ashfield at gmail.com
Mon Jul 23 12:51:11 PDT 2018
I had to add a QA skip for PN-misc, since in my config it was throwing
a GNU_HASH error.
This is now pushed, thanks for the cleanups.
Cheers,
Bruce
On Mon, Jul 23, 2018 at 10:48 AM, Koen Kooi <koen at dominion.thruhere.net> wrote:
> 'make all' uses 'uname' to select the build target, leading to compile failures like this:
>
> | arm-angstrom-linux-gnueabi-gcc: error: unrecognized command line option '-m64'
>
> After providing the proper arch to the makefile it will try to use a hardcoded compiler:
>
> | # runtime/cgo
> | exec: "arm-linux-gnueabihf-gcc": executable file not found in $PATH
>
> Fix that up by removing all hardcoded 'CC' entries in golang.sh
>
> Signed-off-by: Koen Kooi <koen.kooi at linaro.org>
> ---
> ...ack-lib-golang.sh-use-CC-from-environment.patch | 40 ++++++++++++++++++++++
> recipes-containers/kubernetes/kubernetes_git.bb | 6 ++--
> 2 files changed, 44 insertions(+), 2 deletions(-)
> create mode 100644 recipes-containers/kubernetes/kubernetes/0001-hack-lib-golang.sh-use-CC-from-environment.patch
>
> diff --git a/recipes-containers/kubernetes/kubernetes/0001-hack-lib-golang.sh-use-CC-from-environment.patch b/recipes-containers/kubernetes/kubernetes/0001-hack-lib-golang.sh-use-CC-from-environment.patch
> new file mode 100644
> index 0000000..62d0521
> --- /dev/null
> +++ b/recipes-containers/kubernetes/kubernetes/0001-hack-lib-golang.sh-use-CC-from-environment.patch
> @@ -0,0 +1,40 @@
> +From 9cbb2d523d481053d405ebac830c2074b00d3417 Mon Sep 17 00:00:00 2001
> +From: Koen Kooi <koen.kooi at linaro.org>
> +Date: Mon, 23 Jul 2018 15:28:02 +0200
> +Subject: [PATCH] hack/lib/golang.sh: use CC from environment
> +
> +Toolchain tupples differs, especially when using vendor provides ones.
> +
> +Upstream-status: Inappropriate [embedded specific]
> +Signed-off-by: Koen Kooi <koen.kooi at linaro.org>
> +---
> + hack/lib/golang.sh | 4 ----
> + 1 file changed, 4 deletions(-)
> +
> +diff --git a/hack/lib/golang.sh b/hack/lib/golang.sh
> +index c5d4634..563e2b4b 100755
> +--- a/src/import/hack/lib/golang.sh
> ++++ b/src/import/hack/lib/golang.sh
> +@@ -278,19 +278,15 @@ kube::golang::set_platform_envs() {
> + case "${platform}" in
> + "linux/arm")
> + export CGO_ENABLED=1
> +- export CC=arm-linux-gnueabihf-gcc
> + ;;
> + "linux/arm64")
> + export CGO_ENABLED=1
> +- export CC=aarch64-linux-gnu-gcc
> + ;;
> + "linux/ppc64le")
> + export CGO_ENABLED=1
> +- export CC=powerpc64le-linux-gnu-gcc
> + ;;
> + "linux/s390x")
> + export CGO_ENABLED=1
> +- export CC=s390x-linux-gnu-gcc
> + ;;
> + esac
> + fi
> +--
> +2.9.5
> +
> diff --git a/recipes-containers/kubernetes/kubernetes_git.bb b/recipes-containers/kubernetes/kubernetes_git.bb
> index 10558ef..33cb933 100644
> --- a/recipes-containers/kubernetes/kubernetes_git.bb
> +++ b/recipes-containers/kubernetes/kubernetes_git.bb
> @@ -7,6 +7,7 @@ maintenance, and scaling of applications. \
>
> SRCREV_kubernetes = "210c9cd7e1782e9fe46938fe0368556f2166a528"
> SRC_URI = "git://github.com/kubernetes/kubernetes.git;branch=release-1.11;name=kubernetes \
> + file://0001-hack-lib-golang.sh-use-CC-from-environment.patch \
> "
>
> DEPENDS += "rsync-native \
> @@ -46,6 +47,7 @@ inherit goarch
>
> do_compile() {
> export GOARCH="${TARGET_GOARCH}"
> + export GOOS="${TARGET_GOOS}"
> export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
> export GOPATH="${S}/src/import:${S}/src/import/vendor"
>
> @@ -72,7 +74,7 @@ do_compile() {
>
> cd ${S}/src/import
> # to limit what is built, use 'WHAT', i.e. make WHAT=cmd/kubelet
> - make all
> + make cross KUBE_BUILD_PLATFORMS=${GOOS}/${GOARCH}
> }
>
> do_install() {
> @@ -82,7 +84,7 @@ do_install() {
>
> install -d ${D}${sysconfdir}/kubernetes/manifests/
>
> - install -m 755 -D ${S}/src/import/_output/bin/kube* ${D}/${bindir}
> + install -m 755 -D ${S}/src/import/_output/local/bin/${TARGET_GOOS}/${TARGET_GOARCH}/* ${D}/${bindir}
>
> install -m 0644 ${S}/src/import/build/debs/kubelet.service ${D}${systemd_unitdir}/system/
> install -m 0644 ${S}/src/import/build/debs/10-kubeadm.conf ${D}${systemd_unitdir}/system/kubelet.service.d/
> --
> 2.9.5
>
--
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"
More information about the meta-virtualization
mailing list