From b35c1f45a91774f77a767d4aa1c21dea6f29f74c Mon Sep 17 00:00:00 2001 From: Patrik Tesarik Date: Fri, 10 Jun 2022 23:23:21 +0200 Subject: [PATCH] external/LinuxBoot: Deprecate GOPATH in u-root This is a breaking change for now when using latest u-root main, which is the default behavior in LinuxBoot. u-root switched to golang modules and therefore `go get` is not the standard behavior anymore. The workaround for this is to pull the repository and build directly in the directory for now. Another apporach would be to use `go install $pkg@latest` to install the binary at that particular version into the golang binary path. Currently missing is a control structure to enable the build process for legacy versions Change-Id: Ifa03504da6fa321ffc6d2506b27ebd2e3ed9961b Reviewed-on: https://review.coreboot.org/c/coreboot/+/65090 Reviewed-by: Arthur Heymans Tested-by: build bot (Jenkins) Reviewed-by: Christian Walter --- payloads/external/LinuxBoot/targets/u-root.mk | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/payloads/external/LinuxBoot/targets/u-root.mk b/payloads/external/LinuxBoot/targets/u-root.mk index af2f95af6b..7e5444141d 100644 --- a/payloads/external/LinuxBoot/targets/u-root.mk +++ b/payloads/external/LinuxBoot/targets/u-root.mk @@ -40,11 +40,11 @@ endif get: version if [ -d "$(go_path_dir)/src/$(uroot_package)" ]; then \ git -C $(go_path_dir)/src/$(uroot_package) checkout --quiet main; \ - GOPATH=$(go_path_dir) go get -d -u -v $(uroot_package) || \ - echo -e "\n<>\n"; \ + git -C $(go_path_dir)/src/$(uroot_package) pull || \ + echo -e "\n<>\n"; \ else \ - GOPATH=$(go_path_dir) go get -d -u -v $(uroot_package) || \ - (echo -e "\n<>\n" && \ + git clone https://${uroot_package} ${go_path_dir}/src/${uroot_package} || \ + (echo -e "\n<>\n" && \ exit 1); \ fi @@ -52,10 +52,12 @@ checkout: get git -C $(go_path_dir)/src/$(uroot_package) checkout --quiet $(CONFIG_LINUXBOOT_UROOT_VERSION) build: checkout - GOPATH=$(go_path_dir) go build -o $(uroot_bin) $(uroot_package) + cd ${go_path_dir}/src/${uroot_package}; \ + go build -o ${uroot_bin} . u-root: build - GOARCH=$(ARCH-y) GOPATH=$(go_path_dir) $(uroot_bin) \ + GOARCH=$(ARCH-y) $(uroot_bin) \ + -uroot-source ${go_path_dir}/src/${uroot_package} \ $(uroot_args) -o $(project_dir)/initramfs_u-root.cpio $(uroot_cmds) .PHONY: all u-root build checkout get version