build/roms: report status when building images
export CBMK_VERSION_TYPE=x x can be: stable, unstable in target.cfg files, specify: status=x x can be: stable, unstable, broken, untested if unset, cbmk defaults to "unknown" if CBMK_VERSION_TYPE is set, no confirmation is asked if the given target matches what's set (but what's set in that environmental variable can only be stable or unstable) if CBMK_RELEASE="y", no confirmation is asked, unless the target is something other than stable/unstable "unstable" means it works, but has a few non-breaking bugs, e.g. broken s3 on dell e6400 whereas, if raminit regularly fails or it is so absolutely unreliable as to be unusable, then the board should be declared "broken" untested means: it has not been tested With this change, it should now be easier to track whether a given board is tested, in preparation for releases. When working on trees/boards, status can be set for targets. Also: in the board directory, you can add a "warn.txt" file which will display a message. For example, if a board has a particular quirk to watch out for, write that there. The message will be printed during the build process, to stdout. If status is anything *other* than stable, or it is unstable but CBMK_VERSION_TYPE is not set to "unstable", and not building a release, a confirmation is passed. If the board is not specified as stable or unstable, during a release build, the build is skipped and the ROM is not provided in that release; this is in *addition* to release="n" or release="y" that can be set in target.cfg, which will skip the release build for that target if "n" Signed-off-by: Leah Rowe <info@minifree.org>audit2-merge1
parent
b8db9ed698
commit
b56f79578a
|
@ -4,3 +4,4 @@ payload_grub="n"
|
|||
payload_grub_withseabios="n"
|
||||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
status="untested"
|
||||
|
|
|
@ -3,3 +3,4 @@ xarch="i386-elf"
|
|||
payload_seabios="y"
|
||||
payload_seabios_withgrub="y"
|
||||
payload_memtest="y"
|
||||
status="untested"
|
||||
|
|
|
@ -4,3 +4,4 @@ payload_grub="n"
|
|||
payload_grub_withseabios="n"
|
||||
payload_seabios="y"
|
||||
payload_memtest="n"
|
||||
status="untested"
|
||||
|
|
|
@ -4,3 +4,4 @@ payload_grub="n"
|
|||
payload_grub_withseabios="n"
|
||||
payload_seabios="y"
|
||||
payload_memtest="n"
|
||||
status="untested"
|
||||
|
|
|
@ -7,3 +7,4 @@ payload_memtest="y"
|
|||
payload_seabios_withgrub="y"
|
||||
payload_seabios_grubonly="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="unstable" # broken s3
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
broken s3 resume/suspend, no battery indicator/status
|
|
@ -3,3 +3,4 @@ xarch="i386-elf"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_timeout=10
|
||||
status="untested"
|
||||
|
|
|
@ -3,3 +3,4 @@ xarch="i386-elf"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_timeout=10
|
||||
status="untested"
|
||||
|
|
|
@ -4,3 +4,4 @@ payload_seabios="y"
|
|||
payload_memtest="y"
|
||||
grub_scan_disk="ata"
|
||||
grub_timeout=10
|
||||
status="untested"
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
tree="default"
|
||||
xarch="aarch64-elf arm-eabi"
|
||||
payload_uboot="y"
|
||||
status="untested"
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
tree="default"
|
||||
xarch="aarch64-elf arm-eabi"
|
||||
payload_uboot="y"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
xlang="c"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
xlang="c"
|
||||
status="untested"
|
||||
|
|
|
@ -6,3 +6,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
xlang="c"
|
||||
status="untested"
|
||||
|
|
|
@ -6,3 +6,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
xlang="c"
|
||||
status="untested"
|
||||
|
|
|
@ -4,3 +4,4 @@ payload_seabios="y"
|
|||
payload_memtest="y"
|
||||
xlang="c"
|
||||
grub_timeout=10
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_seabios_withgrub="y"
|
|||
payload_memtest="y"
|
||||
xlang="c"
|
||||
grub_timeout=10
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_seabios_withgrub="y"
|
|||
payload_memtest="y"
|
||||
xlang="c"
|
||||
grub_timeout=10
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_seabios_withgrub="y"
|
|||
payload_memtest="y"
|
||||
xlang="c"
|
||||
grub_timeout=10
|
||||
status="untested"
|
||||
|
|
|
@ -6,3 +6,4 @@ payload_seabios_withgrub="y"
|
|||
payload_memtest="y"
|
||||
xlang="c"
|
||||
grub_timeout=10
|
||||
status="untested"
|
||||
|
|
|
@ -6,3 +6,4 @@ payload_seabios_withgrub="y"
|
|||
payload_memtest="y"
|
||||
xlang="c"
|
||||
grub_timeout=10
|
||||
status="untested"
|
||||
|
|
|
@ -4,3 +4,4 @@ payload_grub="y"
|
|||
payload_grub_withseabios="y"
|
||||
payload_seabios="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -4,3 +4,4 @@ payload_grub="y"
|
|||
payload_grub_withseabios="y"
|
||||
payload_seabios="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
tree="default"
|
||||
xarch="aarch64-elf arm-eabi"
|
||||
payload_uboot="y"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="both"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
grub_scan_disk="ahci"
|
||||
grub_background="background1024x768.png"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
grub_scan_disk="ahci"
|
||||
grub_background="background1024x768.png"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
grub_scan_disk="ahci"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
grub_scan_disk="ahci"
|
||||
grub_background="background1024x768.png"
|
||||
status="untested"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub_withseabios="y"
|
|||
payload_seabios="y"
|
||||
grub_scan_disk="ahci"
|
||||
grub_background="background1024x768.png"
|
||||
status="untested"
|
||||
|
|
|
@ -5,7 +5,7 @@ export LC_COLLATE=C
|
|||
export LC_ALL=C
|
||||
|
||||
version=""; versiondate=""; projectname=""; _nogit=""
|
||||
err="err_"; tmpdir=""
|
||||
err="err_"; tmpdir=""; release_type=""
|
||||
|
||||
# if "y": a coreboot target won't be built if target.cfg says release="n"
|
||||
# (this is used to exclude certain build targets from releases)
|
||||
|
@ -15,6 +15,17 @@ set | grep CBMK_RELEASE 1>/dev/null 2>/dev/null || cbmk_release="n" || :
|
|||
[ "$cbmk_release" = "n" ] || [ "$cbmk_release" = "y" ] || cbmk_release="n"
|
||||
export CBMK_RELEASE="$cbmk_release"
|
||||
|
||||
# valid values:
|
||||
# empty / not set
|
||||
# value: stable
|
||||
# value: unstable
|
||||
# e.g. export CBMK_VERSION_TYPE=stable
|
||||
set | grep CBMK_VERSION_TYPE 1>/dev/null 2>/dev/null && \
|
||||
release_type="$CBMK_VERSION_TYPE"
|
||||
[ -z "$release_type" ] || [ "$release_type" = "stable" ] || \
|
||||
[ "$release_type" = "unstable" ] || release_type=""
|
||||
export CBMK_VERSION_TYPE="$release_type"
|
||||
|
||||
tmpdir_was_set="y"
|
||||
set | grep TMPDIR 1>/dev/null 2>/dev/null || tmpdir_was_set="n"
|
||||
if [ "${tmpdir_was_set}" = "y" ]; then
|
||||
|
|
|
@ -21,9 +21,10 @@ cfgsdir="config/coreboot"
|
|||
pv="payload_grub payload_grub_withseabios payload_seabios payload_memtest t"
|
||||
pv="${pv} payload_seabios_withgrub payload_seabios_grubonly payload_uboot memtest_bin"
|
||||
v="romdir cbrom initmode displaymode cbcfg targetdir tree keymaps release"
|
||||
v="${v} grub_timeout ubdir board grub_scan_disk uboot_config"
|
||||
v="${v} grub_timeout ubdir board grub_scan_disk uboot_config status"
|
||||
eval "$(setvars "n" ${pv})"
|
||||
eval "$(setvars "" ${v} boards _displaymode _payload _keyboard all targets)"
|
||||
eval "$(setvars "" ${v} boards _displaymode _payload _keyboard all targets \
|
||||
skipped)"
|
||||
|
||||
main()
|
||||
{
|
||||
|
@ -55,20 +56,31 @@ main()
|
|||
eval "$(setvars "n" ${pv}) $(setvars "" ${v})"
|
||||
grub_background="background1280x800.png"
|
||||
board="${x}"
|
||||
|
||||
configure_target
|
||||
[ "$board" = "$tree" ] && \
|
||||
continue
|
||||
|
||||
handle_status
|
||||
|
||||
# exclude certain targets from the release
|
||||
if [ "$release" = "n" ] && [ "$cbmk_release" = "y" ]; then
|
||||
printf "Skipping target: %s\n" "$x"
|
||||
continue
|
||||
fi
|
||||
skip_board && \
|
||||
printf "Skip target %s(%s)\n" "$board" "$status" && \
|
||||
skipped="* $board($status)\n$skipped" && continue
|
||||
|
||||
build_payloads
|
||||
build_target_mainboard
|
||||
|
||||
[ -d "bin/${board}" ] || continue
|
||||
targets="* bin/${board}\n${targets}"
|
||||
done
|
||||
|
||||
if [ -n "$skipped" ]; then
|
||||
printf "\nThese targets were skipped:\n"
|
||||
eval "printf \"${skipped}\""
|
||||
printf "^^ These targets were skipped.\n\n"
|
||||
fi
|
||||
|
||||
[ -z "${targets}" ] && $err "No ROM images were compiled"
|
||||
printf "\nROM images available in these directories:\n"
|
||||
eval "printf \"${targets}\""
|
||||
|
@ -125,6 +137,48 @@ configure_target()
|
|||
eval "payload_${_payload}=y"
|
||||
}
|
||||
|
||||
handle_status()
|
||||
{
|
||||
[ "$status" = "stable" ] || [ "$status" = "unstable" ] || \
|
||||
[ "$status" = "broken" ] || [ "$status" = "untested" ] || \
|
||||
status="unknown"
|
||||
|
||||
printf "Handling target: %s (status=%s)\n" "$board" "$status"
|
||||
|
||||
[ "$status" = "broken" ] && release="n"
|
||||
[ "$status" = "unknown" ] && release="n"
|
||||
[ "$status" = "untested" ] && release="n"
|
||||
|
||||
[ "$status" != "stable" ] && [ "$status" != "$release_type" ] && \
|
||||
printf "WARNING: %s not marked stable (status=%s):\n\n" \
|
||||
"$board" "$status"; return 0
|
||||
}
|
||||
|
||||
skip_board()
|
||||
{
|
||||
[ "$release" = "n" ] && [ "$cbmk_release" = "y" ] && \
|
||||
return 0
|
||||
[ -n "$release_type" ] && [ "$status" = "$release_type" ] && \
|
||||
return 1
|
||||
|
||||
if [ "$cbmk_release" != "y" ] && [ "$status" != "stable" ] && \
|
||||
[ "$status" != "$release_type" ]; then
|
||||
if [ -f "$targetdir/warn.txt" ]; then
|
||||
printf "Regarding board '%s' (status '%s'):\n" \
|
||||
"$board" "$status"
|
||||
cat -u "$targetdir/warn.txt" || \
|
||||
$err "!cat $targetdir/warn.txt"
|
||||
fi
|
||||
while true; do
|
||||
printf "Board %s has status '%s'. Skip? [y/n]" \
|
||||
"$board" "$status"
|
||||
read -r skip
|
||||
[ "$skip" = "y" ] && return 0
|
||||
[ "$skip" = "n" ] && return 1; continue
|
||||
done
|
||||
fi; return 1
|
||||
}
|
||||
|
||||
build_payloads()
|
||||
{
|
||||
romdir="bin/${board}"
|
||||
|
|
Loading…
Reference in New Issue