merged

Bruce

On Thu, Oct 15, 2020 at 5:01 AM Robert Yang <liezhi.yang@windriver.com> wrote:
The src/import/build/root/Makefile.generated_files are called several times
during the build, so the following target which installs go2make will also run
several times:

$(META_DIR)/$(GO_PKGDEPS_FILE): FORCE

It runs automatically when the Makefile is called because of:
sinclude $(META_DIR)/$(GO_PKGDEPS_FILE)

So there is a race issue of go2make when parallel build:
hack/run-in-gopath.sh: line 34: build/tmp-glibc/work/corei7-64-wrs-linux/kubernetes/1.18.8-r0/git/src/import/_output/local/go/bin/go2make: No suc h file or directory

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 ...ed_files-Fix-race-issue-for-installi.patch | 48 +++++++++++++++++++
 .../kubernetes/kubernetes_git.bb              |  1 +
 2 files changed, 49 insertions(+)
 create mode 100644 recipes-containers/kubernetes/kubernetes/0001-Makefile.generated_files-Fix-race-issue-for-installi.patch

diff --git a/recipes-containers/kubernetes/kubernetes/0001-Makefile.generated_files-Fix-race-issue-for-installi.patch b/recipes-containers/kubernetes/kubernetes/0001-Makefile.generated_files-Fix-race-issue-for-installi.patch
new file mode 100644
index 0000000..97273e4
--- /dev/null
+++ b/recipes-containers/kubernetes/kubernetes/0001-Makefile.generated_files-Fix-race-issue-for-installi.patch
@@ -0,0 +1,48 @@
+From 441df8a24a2c80e320f140b5d9bc352c7ce8a64a Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Thu, 15 Oct 2020 07:27:35 +0000
+Subject: [PATCH] src/import/build/root/Makefile.generated_files: Fix race issue for installing
+ go2make
+
+The src/import/build/root/Makefile.generated_files are called several times during the build, so the
+following target which installs go2make will also run several times:
+
+$(META_DIR)/$(GO_PKGDEPS_FILE): FORCE
+
+It runs automatically when the Makefile is called because of:
+sinclude $(META_DIR)/$(GO_PKGDEPS_FILE)
+
+So there is a race issue of go2make when parallel build:
+hack/run-in-gopath.sh: line 34: build/tmp-glibc/work/corei7-64-wrs-linux/kubernetes/1.18.8-r0/git/src/import/_output/local/go/bin/go2make: No such file or directory
+
+It is because the first process is using go2make, but then the second process
+removes it and reinstall it.
+
+Check whether go2make has been installed or not before install it can fix the
+problem.
+
+Upstream-Status: Pending
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ src/import/build/root/Makefile.generated_files | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/import/build/root/Makefile.generated_files b/src/import/build/root/Makefile.generated_files
+index c8cbf27..e3f1593 100644
+--- a/src/import/build/root/Makefile.generated_files
++++ b/src/import/build/root/Makefile.generated_files
+@@ -63,7 +63,9 @@ $(META_DIR)/$(GO_PKGDEPS_FILE): FORCE
+       if [[ "$(DBG_CODEGEN)" == 1 ]]; then          \
+           echo "DBG: calculating Go dependencies";  \
+       fi
+-      hack/run-in-gopath.sh go install ./hack/make-rules/helpers/go2make
++      if [ ! -e _output/local/go/bin/go2make ]; then \
++              hack/run-in-gopath.sh go install ./hack/make-rules/helpers/go2make; \
++      fi
+       hack/run-in-gopath.sh go2make                     \
+           k8s.io/kubernetes/...                         \
+           --prune  k8s.io/kubernetes/staging            \
+--
+2.26.2
+
diff --git a/recipes-containers/kubernetes/kubernetes_git.bb b/recipes-containers/kubernetes/kubernetes_git.bb
index 76c8202..1053d97 100644
--- a/recipes-containers/kubernetes/kubernetes_git.bb
+++ b/recipes-containers/kubernetes/kubernetes_git.bb
@@ -15,6 +15,7 @@ SRC_URI = "git://github.com/kubernetes/kubernetes.git;branch=release-1.19;name=k
            file://0001-cross-don-t-build-tests-by-default.patch \
            file://0001-generate-bindata-unset-GOBIN.patch \
            file://0001-build-golang.sh-convert-remaining-go-calls-to-use.patch \
+           file://0001-Makefile.generated_files-Fix-race-issue-for-installi.patch \
           "

 DEPENDS += "rsync-native \
--
2.17.1



--
- Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end
- "Use the force Harry" - Gandalf, Star Trek II