From 54eae609a1e4647f70e241e03ba4a475ed0caad8 Mon Sep 17 00:00:00 2001 From: Geoff Levand Date: Wed, 26 Aug 2015 15:23:42 -0700 Subject: [PATCH 1/2] eclass/coreos-go: Fill out go_get_arch Add more arches to the go_get_arch() routine. Signed-off-by: Geoff Levand --- .../src/third_party/coreos-overlay/eclass/coreos-go.eclass | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go.eclass b/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go.eclass index 3aab6ce0c8..b4dd001dc1 100644 --- a/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go.eclass +++ b/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go.eclass @@ -18,7 +18,12 @@ DEPEND="dev-lang/go" # @FUNCTION: go_get_arch # @USAGE: export GOARCH=$(go_get_arch) go_get_arch() { - echo ${ARCH} + # By chance most portage arch names match Go + local portage_arch=$(tc-arch ${CHOST}) + case "${portage_arch}" in + x86) echo 386;; + *) echo "${portage_arch}";; + esac } # @FUNCTION: go_build From 47e0061e656de2f468d118c21a9149c4a1d1dbe9 Mon Sep 17 00:00:00 2001 From: Geoff Levand Date: Wed, 26 Aug 2015 15:31:24 -0700 Subject: [PATCH 2/2] eclass/coreos-go: Improve debug messages. To aid in debugging build problems add an ebegin/eend to the go_build routine, print out the entire go envronment, and print out the name of each go package as it is built. Signed-off-by: Geoff Levand --- .../coreos-overlay/eclass/coreos-go.eclass | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go.eclass b/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go.eclass index b4dd001dc1..869fa99006 100644 --- a/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go.eclass +++ b/sdk_container/src/third_party/coreos-overlay/eclass/coreos-go.eclass @@ -35,10 +35,18 @@ go_build() { local package_name="$1" local binary_name="${package_name##*/}" - go build -x -p "$(makeopts_jobs)" \ + ebegin "go build ${package_name}" + debug-print $(go env) + + go build -v \ + -p "$(makeopts_jobs)" \ -ldflags "${GO_LDFLAGS} -extldflags '${LDFLAGS}'" \ - -o "${GOBIN}/${binary_name}" "${package_name}" \ - || die "${ECLASS}: go build failed" + -o "${GOBIN}/${binary_name}" \ + "${package_name}" + + local e=${?} + local msg="${FUNCNAME}: ${package_name} failed (${e})." + eend ${e} "${msg}" || die "${msg}" } coreos-go_src_prepare() { @@ -47,10 +55,6 @@ coreos-go_src_prepare() { export GOARCH=$(go_get_arch) export GOPATH="${WORKDIR}/gopath" export GOBIN="${GOPATH}/bin" - - debug-print "${FUNCNAME}: GOARCH=${GOARCH}" - debug-print "${FUNCNAME}: GOPATH=${GOPATH}" - debug-print "${FUNCNAME}: GOBIN=${GOBIN}" mkdir -p "${GOBIN}" || die "${ECLASS}: bad path: ${GOBIN}"