[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