From 28e0cb4b23755ef33e568f70e5d83da4db605aba Mon Sep 17 00:00:00 2001 From: Marcello Sylvester Bauer Date: Sat, 3 Nov 2018 12:52:45 +0100 Subject: [PATCH] Linuxboot: check go version Check if the installed Golang version is >= 1.9. Change-Id: I9fd74fa8dc5e906e8b54ff5afaf69609fe957960 Signed-off-by: Marcello Sylvester Bauer Reviewed-on: https://review.coreboot.org/29445 Reviewed-by: Philipp Deppenwiese Tested-by: build bot (Jenkins) --- payloads/external/LinuxBoot/targets/u-root.mk | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/payloads/external/LinuxBoot/targets/u-root.mk b/payloads/external/LinuxBoot/targets/u-root.mk index 001f7c4522..27f184e41a 100644 --- a/payloads/external/LinuxBoot/targets/u-root.mk +++ b/payloads/external/LinuxBoot/targets/u-root.mk @@ -14,7 +14,10 @@ uroot_git_repo=https://github.com/u-root/u-root.git uroot_dir=$(project_dir)/go/src/github.com/u-root/u-root -go_check=$(shell command -v go 1>/dev/null 2>&1 && echo go) +go_version=$(shell go version | sed -nr 's/.*go([0-9]+\.[0-9]+.?[0-9]?).*/\1/p' ) +go_version_major=$(shell echo $(go_version) | sed -nr 's/^([0-9]+)\.([0-9]+)\.?([0-9]*)$$/\1/p') +go_version_minor=$(shell echo $(go_version) | sed -nr 's/^([0-9]+)\.([0-9]+)\.?([0-9]*)$$/\2/p') + project_dir=$(shell pwd)/linuxboot project_name=u-root go_path_dir=$(shell pwd)/linuxboot/go @@ -22,9 +25,16 @@ go_path_dir=$(shell pwd)/linuxboot/go all: build check: -ifneq ($(go_check),go) +ifeq ("$(go_version)","") printf "\n<= 1.9 for u-root mode>>\n\n" exit 1 +endif +ifeq ($(shell if [ $(go_version_major) -eq 1 ]; then echo y; fi),y) +ifeq ($(shell if [ $(go_version_minor) -lt 9 ]; then echo y; fi),y) + printf "\n Golang version $(go_version) currently installed.\n\ + <= 1.9 for u-root mode>>\n\n" + exit 1 +endif endif mkdir -p $(project_dir)/go/src/github.com/u-root