From e1fd36cd6d0c6c70e498980678a71ba042063571 Mon Sep 17 00:00:00 2001 From: Matt Madison Date: Thu, 14 Sep 2017 16:22:30 -0300 Subject: go.bbclass: set TMPDIR during compilation The go build tool creates working directories under $TMPDIR for all of its processing. Create a directory under ${WORKDIR} for this and point TMPDIR at it during compilation, so that systems that have a relatively small /tmp filesystems can still compile larger Go packages. (From OE-Core rev: 5de3de12c70f01753491c46b5622b0d273c3257b) Signed-off-by: Matt Madison Signed-off-by: Otavio Salvador Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes/go.bbclass | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta/classes/go.bbclass b/meta/classes/go.bbclass index 863b578e5c..e167c949ec 100644 --- a/meta/classes/go.bbclass +++ b/meta/classes/go.bbclass @@ -61,6 +61,8 @@ GO_INSTALL_FILTEROUT ?= "${GO_IMPORT}/vendor/" B = "${WORKDIR}/build" export GOPATH = "${B}" +GO_TMPDIR ?= "${WORKDIR}/go-tmp" +GO_TMPDIR[vardepvalue] = "" python go_do_unpack() { src_uri = (d.getVar('SRC_URI') or "").split() @@ -97,14 +99,17 @@ go_do_configure() { } go_do_compile() { + export TMPDIR="${GO_TMPDIR}" ${GO} env if [ -n "${GO_INSTALL}" ]; then ${GO} install ${GO_LINKSHARED} ${GOBUILDFLAGS} `go_list_packages` fi } +do_compile[dirs] =+ "${GO_TMPDIR}" do_compile[cleandirs] = "${B}/bin ${B}/pkg" do_compile_ptest() { + export TMPDIR="${GO_TMPDIR}" rm -f ${B}/.go_compiled_tests.list go_list_package_tests | while read pkg; do cd ${B}/src/$pkg @@ -113,6 +118,7 @@ do_compile_ptest() { sed -e's,/\./,/,'>> ${B}/.go_compiled_tests.list done } +do_compile_ptest_base[dirs] =+ "${GO_TMPDIR}" go_do_install() { install -d ${D}${libdir}/go/src/${GO_IMPORT} -- cgit v1.2.3-54-g00ecf