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 <stefan.tauner@gmx.at> Reviewed-on: https://review.coreboot.org/28217 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
parent
44cff7a897
commit
a07366c9f9
|
@ -129,27 +129,6 @@ config MEMTEST_SECONDARY_PAYLOAD
|
|||
Memtest86+ can be loaded as a secondary payload under SeaBIOS, GRUB,
|
||||
or any other payload that can load additional payloads.
|
||||
|
||||
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.
|
||||
endchoice
|
||||
|
||||
config NVRAMCUI_SECONDARY_PAYLOAD
|
||||
bool "Load nvramcui as a secondary payload"
|
||||
default n
|
||||
|
@ -166,5 +145,7 @@ config TINT_SECONDARY_PAYLOAD
|
|||
tint can be loaded as a secondary payload under SeaBIOS, GRUB,
|
||||
or any other payload that can load additional payloads.
|
||||
|
||||
source "payloads/external/*/Kconfig.secondary"
|
||||
|
||||
endmenu # "Secondary Payloads"
|
||||
endmenu
|
||||
|
|
|
@ -218,6 +218,8 @@ payloads/external/Memtest86Plus/memtest86plus/memtest: $(DOTCONFIG)
|
|||
LD="$(LD_x86_32)" \
|
||||
OBJCOPY="$(OBJCOPY_x86_32)" \
|
||||
AS="$(AS_x86_32)" \
|
||||
CONFIG_MEMTEST_REVISION=$(CONFIG_MEMTEST_REVISION) \
|
||||
CONFIG_MEMTEST_REVISION_ID=$(CONFIG_MEMTEST_REVISION_ID) \
|
||||
CONFIG_MEMTEST_MASTER=$(CONFIG_MEMTEST_MASTER) \
|
||||
CONFIG_MEMTEST_STABLE=$(CONFIG_MEMTEST_STABLE) \
|
||||
$(MEMTEST_SERIAL_OPTIONS) \
|
||||
|
|
|
@ -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
|
|
@ -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"; \
|
||||
|
|
Loading…
Reference in New Issue