From a07366c9f90a623081adfb426920cd8cf6d81f61 Mon Sep 17 00:00:00 2001 From: Stefan Tauner Date: Sun, 19 Aug 2018 17:48:53 +0200 Subject: payloads/external/Memtest86Plus: allow for selecting a specific revision Because the Kconfig configuration files for primary payloads are already sourced via a wildcard pattern this change requires to use another file name pattern. Change-Id: I83b89f5e14618e8a487ebb044fcdd3c175662591 Signed-off-by: Stefan Tauner Reviewed-on: https://review.coreboot.org/28217 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Martin Roth --- payloads/external/Memtest86Plus/Kconfig.secondary | 42 +++++++++++++++++++++++ payloads/external/Memtest86Plus/Makefile | 9 +++++ 2 files changed, 51 insertions(+) create mode 100644 payloads/external/Memtest86Plus/Kconfig.secondary (limited to 'payloads/external/Memtest86Plus') diff --git a/payloads/external/Memtest86Plus/Kconfig.secondary b/payloads/external/Memtest86Plus/Kconfig.secondary new file mode 100644 index 0000000000..7c4da9e509 --- /dev/null +++ b/payloads/external/Memtest86Plus/Kconfig.secondary @@ -0,0 +1,42 @@ +if MEMTEST_SECONDARY_PAYLOAD + +choice + prompt "Memtest86+ version" + default MEMTEST_STABLE + depends on MEMTEST_SECONDARY_PAYLOAD + +config MEMTEST_STABLE + bool "Stable" + help + Stable Memtest86+ version. + + For reproducible builds, this option must be selected. +config MEMTEST_MASTER + bool "Master" + help + Newest Memtest86+ version. + + This option will fetch the newest version of the Memtest86+ code, + updating as new changes are committed. This makes the build + non-reproducible, as it can fetch different code each time. +config MEMTEST_REVISION + bool "git revision" + help + Select this option if you have a specific commit or branch + that you want to use as the revision from which to + build Memtest86+. This makes the build + non-reproducible, as it can fetch different code each time. + + You will be able to specify the name of a branch or a commit id + later. + +endchoice + +config MEMTEST_REVISION_ID + string "Insert a commit's SHA-1 or a branch name" + depends on MEMTEST_REVISION + default "origin/master" + help + The commit's SHA-1 or branch name of the revision to use. + +endif diff --git a/payloads/external/Memtest86Plus/Makefile b/payloads/external/Memtest86Plus/Makefile index 2136495469..4b3132ddf5 100644 --- a/payloads/external/Memtest86Plus/Makefile +++ b/payloads/external/Memtest86Plus/Makefile @@ -17,6 +17,7 @@ TAG-$(CONFIG_MEMTEST_MASTER)=origin/master NAME-$(CONFIG_MEMTEST_MASTER)=Master TAG-$(CONFIG_MEMTEST_STABLE)=3754fd440f4009b62244e0f95c56bbb12c2fffcb NAME-$(CONFIG_MEMTEST_STABLE)=Stable +TAG-$(CONFIG_MEMTEST_REVISION)=$(CONFIG_MEMTEST_REVISION_ID) project_name=Memtest86+ project_dir=$(CURDIR)/memtest86plus @@ -29,6 +30,14 @@ $(project_dir): git clone $(project_git_repo) $(project_dir) fetch: $(project_dir) +ifeq ($(TAG-y),) + echo "Error: The specified tag is invalid" +ifeq ($(CONFIG_MEMTEST_REVISION),y) + echo "Error: There is no revision specified for $(project_name)" + false +endif + false +endif -cd $(project_dir); git show $(TAG-y) >/dev/null 2>&1 ; \ if [ $$? -ne 0 ] || [ "$(TAG-y)" = "origin/master" ]; then \ echo " Fetching new commits from the $(project_name) git repo"; \ -- cgit v1.2.3