install_toolchain: add dev-lang/go to package.provided on board sysroots.
All Go ebuilds (dev-go/*) depend on dev-lang/go. For cross compiling,
the dependency is satisfied by cross-${CTARGET}/go crossdev packages.
emerge-${BOARD} should not try to install dev-lang/go on the board.
BUG=chromium:372937
TEST=`setup_board --board=panther` correctly adds dev-lang/go to
/build/panther/etc/portage/profile/package.provided
Change-Id: I554b0d190dd11ca4164413406259a483f1953d1c
Reviewed-on: https://chromium-review.googlesource.com/291067
Commit-Ready: Rahul Chaudhry <rahulchaudhry@chromium.org>
Tested-by: Rahul Chaudhry <rahulchaudhry@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/install_toolchain b/install_toolchain
index 51cc571..38b68a3 100755
--- a/install_toolchain
+++ b/install_toolchain
@@ -57,6 +57,8 @@
cpv=$(portageq match / sys-libs/glibc || true)
elif [[ "$pkg" = gcc ]] ; then
cpv=$(portageq match / sys-devel/gcc || true)
+ elif [[ "$pkg" = go ]] ; then
+ cpv=$(portageq match / dev-lang/go || true)
else
die "Unknown pkg ${pkg}"
fi
@@ -86,12 +88,18 @@
install_toolchain_in_provided() {
local gcc_ver="$1"
local glibc_ver="$2"
+ local go_ver="$3"
# Tell portage that toolchain packages are already installed in the sysroot.
sudo mkdir -p "$BOARD_PROFILE"
sudo_clobber "$BOARD_PROFILE/package.provided" << EOF
sys-devel/gcc-$gcc_ver
sys-libs/glibc-$glibc_ver
EOF
+ if [[ -n ${go_ver} ]]; then
+ sudo_append "$BOARD_PROFILE/package.provided" << EOF
+dev-lang/go-${go_ver}
+EOF
+ fi
}
# Install all of the stuff that depends on the toolchain versions
@@ -100,6 +108,7 @@
local cmds
local gcc_ver=$(cross_get_version gcc)
local libc_ver=$(cross_get_version glibc)
+ local go_ver=$(cross_get_version go)
if [[ -z ${gcc_ver} || -z ${libc_ver} ]]; then
die "Cannot find toolchain to install into board root"
fi
@@ -130,7 +139,7 @@
fi
if [[ ${FLAGS_configure} -eq ${FLAGS_TRUE} ]]; then
- install_toolchain_in_provided "$gcc_ver" "$libc_ver"
+ install_toolchain_in_provided "$gcc_ver" "$libc_ver" "$go_ver"
set_variable "${SYSROOT_CACHE}" "LIBC_VERSION" "${libc_ver}"
fi