[meta-virtualization] [PATCH] go-cross: don't use host /var/tmp for temporary build artifacts

Mark Asselstine mark.asselstine at windriver.com
Fri May 13 12:07:46 PDT 2016

The default behavior for go-cross build is to use the path specified
in TMPDIR for some temporary build artifacts and if no TMPDIR is set
in the environment to fallback to use /var/tmp. This causes a build
failure on hosts that do not have a /var/tmp or that have restrictive
permissions on /var/tmp. The failure is seen as:

  go tool dist: mkdtemp(/var/tmp/go-cbuild-yhmNbi): No such file or directory

By setting TMPDIR and ensuring we create this
directory we can avoid the associated issue with using the default.

Signed-off-by: Mark Asselstine <mark.asselstine at windriver.com>
 recipes-devtools/go-cross/go-cross.inc | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/recipes-devtools/go-cross/go-cross.inc b/recipes-devtools/go-cross/go-cross.inc
index eea1b2c..cd75b40 100644
--- a/recipes-devtools/go-cross/go-cross.inc
+++ b/recipes-devtools/go-cross/go-cross.inc
@@ -17,9 +17,13 @@ CC = "${@d.getVar('BUILD_CC', True).strip()}"
 do_configure[noexec] = "1"
 do_compile() {
-    export GOBIN="${B}/bin"
+    export GOBIN="${B}/bin"    
     rm -rf ${GOBIN} ${B}/pkg
     mkdir ${GOBIN}
+    export TMPDIR=${WORKDIR}/build-tmp
+    mkdir ${WORKDIR}/build-tmp
     cd src
     ./make.bash --host-only

More information about the meta-virtualization mailing list