lbmk: allow easier sync with cbmk

an equivalent change has been made in cbmk.

certain lbmk-specific variable names have been made
generic, with certain functions and other variables
moved around.

i maintain sync between libreboot and canoeboot, where
both projects can have the same behaviours, and most of
the merge conflicts have to do with variable names
containing "LBMK", "lbmk", "cbmk" or "CBMK", or
indeed "canoeboot" and "libreboot"

LBMK/lbmk/CBMK/cbmk variables between canoeboot and
libreboot now contain the string XBMK/xbmk

it should now be *much* easier to merge build system
changes between lbmk and cbmk.

Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2024-05-16 03:56:52 +01:00
parent 885fcebd81
commit 839ef680cd
4 changed files with 37 additions and 37 deletions
+9 -9
View File
@@ -8,7 +8,7 @@
set -u -e set -u -e
if [ "./${0##*/}" != "${0}" ] || [ ! -f "build" ] || [ -L "build" ]; then if [ "./${0##*/}" != "${0}" ] || [ ! -f "build" ] || [ -L "build" ]; then
printf "You must run this in the lbmk work directory.\n" 1>&2 printf "You must run this in the proper work directory.\n" 1>&2
exit 1 exit 1
fi fi
@@ -27,7 +27,7 @@ main()
x_ id -u 1>/dev/null 2>/dev/null x_ id -u 1>/dev/null 2>/dev/null
[ $# -lt 1 ] && $err "Check $projectname documentation for help." [ $# -lt 1 ] && $err "Check $projectname documentation for help."
[ "$1" = "dependencies" ] && x_ install_packages $@ && lbmk_exit 0 [ "$1" = "dependencies" ] && x_ install_packages $@ && xbmk_exit 0
which git 1>/dev/null 2>/dev/null || \ which git 1>/dev/null 2>/dev/null || \
git_err "git not installed. please install git-scm." git_err "git not installed. please install git-scm."
@@ -39,7 +39,7 @@ main()
for cmd in initcmd git_init excmd; do for cmd in initcmd git_init excmd; do
eval "${cmd} \$@" eval "${cmd} \$@"
done done
lbmk_exit 0 xbmk_exit 0
} }
initcmd() initcmd()
@@ -56,7 +56,7 @@ initcmd()
return 0 ;; return 0 ;;
esac esac
set -u -e # some commands disable them. turn them on! set -u -e # some commands disable them. turn them on!
lbmk_exit 0 xbmk_exit 0
} }
install_packages() install_packages()
@@ -78,7 +78,7 @@ install_packages()
} }
# release archives contain .gitignore, but not .git. # release archives contain .gitignore, but not .git.
# lbmk can be run from lbmk.git, or an archive. # xbmk can be run from xbmk.git, or an archive.
git_init() git_init()
{ {
[ -L ".git" ] && $err "Reference .git is a symlink" [ -L ".git" ] && $err "Reference .git is a symlink"
@@ -88,7 +88,7 @@ git_init()
git init || $err "${PWD}: cannot initialise Git repository" git init || $err "${PWD}: cannot initialise Git repository"
git add -A . || $err "${PWD}: cannot add files to Git repository" git add -A . || $err "${PWD}: cannot add files to Git repository"
git commit -m "${projectname} ${version}" --date "${cdate}" \ git commit -m "${projectname} ${version}" --date "${cdate}" \
--author="lbmk <lbmk@libreboot.org>" || \ --author="xbmk <xbmk@example.com>" || \
$err "$PWD: can't commit ${projectname}/${version}, date $cdate" $err "$PWD: can't commit ${projectname}/${version}, date $cdate"
git tag -a "${version}" -m "${projectname} ${version}" || \ git tag -a "${version}" -m "${projectname} ${version}" || \
$err "${PWD}: cannot git-tag ${projectname}/${version}" $err "${PWD}: cannot git-tag ${projectname}/${version}"
@@ -102,7 +102,7 @@ excmd()
mkrelease() mkrelease()
{ {
export LBMK_RELEASE="y" export XBMK_RELEASE="y"
vdir="release" vdir="release"
while getopts d:m: option; do while getopts d:m: option; do
@@ -174,9 +174,9 @@ fetch_trees()
rm -Rf tmp .git src/u-boot/*/test/lib/strlcat.c || $err "$_xm !rm" rm -Rf tmp .git src/u-boot/*/test/lib/strlcat.c || $err "$_xm !rm"
} }
lbmk_exit() xbmk_exit()
{ {
tmp_cleanup || err_ "lbmk_exit: can't rm tmpdir upon exit $1: $tmpdir" tmp_cleanup || err_ "xbmk_exit: can't rm tmpdir upon exit $1: $tmpdir"
exit $1 exit $1
} }
+10 -18
View File
@@ -7,8 +7,6 @@ export LC_COLLATE=C
export LC_ALL=C export LC_ALL=C
tmpdir_was_set="y" tmpdir_was_set="y"
vendir="vendorfiles"
appdir="${vendir}/app"
cbdir="src/coreboot/default" cbdir="src/coreboot/default"
cbcfgsdir="config/coreboot" cbcfgsdir="config/coreboot"
ifdtool="cbutils/default/ifdtool" ifdtool="cbutils/default/ifdtool"
@@ -35,40 +33,34 @@ setvars()
done done
printf "%s\n" "${_setvars% }" printf "%s\n" "${_setvars% }"
} }
eval "$(setvars "" CONFIG_BOARD_DELL_E6400 CONFIG_HAVE_MRC CONFIG_HAVE_ME_BIN \ eval "$(setvars "" versiondate tmpdir _nogit version board boarddir \
CONFIG_ME_BIN_PATH CONFIG_KBC1126_FIRMWARE CONFIG_KBC1126_FW1 versiondate \ xbmk_release threads projectname relname)"
CONFIG_KBC1126_FW1_OFFSET CONFIG_KBC1126_FW2 CONFIG_KBC1126_FW2_OFFSET \
CONFIG_VGA_BIOS_FILE CONFIG_VGA_BIOS_ID CONFIG_GBE_BIN_PATH tmpdir _nogit \
CONFIG_INCLUDE_SMSC_SCH5545_EC_FW CONFIG_SMSC_SCH5545_EC_FW_FILE version \
CONFIG_IFD_BIN_PATH CONFIG_MRC_FILE _dest board boarddir lbmk_release \
CONFIG_HAVE_REFCODE_BLOB CONFIG_REFCODE_BLOB_FILE threads projectname \
relname)"
# if "y": a coreboot target won't be built if target.cfg says release="n" # 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) # (this is used to exclude certain build targets from releases)
set | grep LBMK_RELEASE 1>/dev/null 2>/dev/null || lbmk_release="n" || : set | grep XBMK_RELEASE 1>/dev/null 2>/dev/null || xbmk_release="n" || :
[ -z "$lbmk_release" ] && lbmk_release="$LBMK_RELEASE" [ -z "$xbmk_release" ] && xbmk_release="$XBMK_RELEASE"
[ "$lbmk_release" = "n" ] || [ "$lbmk_release" = "y" ] || lbmk_release="n" [ "$xbmk_release" = "n" ] || [ "$xbmk_release" = "y" ] || xbmk_release="n"
export LBMK_RELEASE="$lbmk_release" export XBMK_RELEASE="$xbmk_release"
set | grep TMPDIR 1>/dev/null 2>/dev/null || tmpdir_was_set="n" set | grep TMPDIR 1>/dev/null 2>/dev/null || tmpdir_was_set="n"
if [ "${tmpdir_was_set}" = "y" ]; then if [ "${tmpdir_was_set}" = "y" ]; then
[ "${TMPDIR%_*}" = "/tmp/lbmk" ] || tmpdir_was_set="n" [ "${TMPDIR%_*}" = "/tmp/xbmk" ] || tmpdir_was_set="n"
fi fi
if [ "${tmpdir_was_set}" = "n" ]; then if [ "${tmpdir_was_set}" = "n" ]; then
export TMPDIR="/tmp" export TMPDIR="/tmp"
tmpdir="$(mktemp -d -t lbmk_XXXXXXXX)" tmpdir="$(mktemp -d -t xbmk_XXXXXXXX)"
export TMPDIR="${tmpdir}" export TMPDIR="${tmpdir}"
else else
export TMPDIR="${TMPDIR}" export TMPDIR="${TMPDIR}"
tmpdir="${TMPDIR}" tmpdir="${TMPDIR}"
fi fi
set | grep LBMK_THREADS 1>/dev/null 2>/dev/null && threads="$LBMK_THREADS" set | grep XBMK_THREADS 1>/dev/null 2>/dev/null && threads="$XBMK_THREADS"
[ -z "$threads" ] && threads=1 [ -z "$threads" ] && threads=1
expr "X$threads" : "X-\{0,1\}[0123456789][0123456789]*$" \ expr "X$threads" : "X-\{0,1\}[0123456789][0123456789]*$" \
1>/dev/null 2>/dev/null || threads=1 # user specified a non-integer 1>/dev/null 2>/dev/null || threads=1 # user specified a non-integer
export LBMK_THREADS="$threads" export XBMK_THREADS="$threads"
x_() { x_() {
[ $# -lt 1 ] || ${@} || $err "Unhandled non-zero exit: $@"; return 0 [ $# -lt 1 ] || ${@} || $err "Unhandled non-zero exit: $@"; return 0
+11 -3
View File
@@ -11,12 +11,20 @@ me7updateparser="${PWD}/util/me7_update_parser/me7_update_parser.py"
pfs_extract="${PWD}/src/biosutilities/Dell_PFS_Extract.py" pfs_extract="${PWD}/src/biosutilities/Dell_PFS_Extract.py"
uefiextract="${PWD}/src/uefitool/uefiextract" uefiextract="${PWD}/src/uefitool/uefiextract"
nvmutil="util/nvmutil/nvm" nvmutil="util/nvmutil/nvm"
vendir="vendorfiles"
appdir="${vendir}/app"
eval "$(setvars "" _b _dl EC_url EC_url_bkup EC_hash DL_hash DL_url DL_url_bkup \ eval "$(setvars "" _b EC_url_bkup EC_hash DL_hash DL_url_bkup MRC_refcode_gbe \
E6400_VGA_DL_hash E6400_VGA_DL_url E6400_VGA_DL_url_bkup E6400_VGA_offset \ E6400_VGA_DL_hash E6400_VGA_DL_url E6400_VGA_DL_url_bkup E6400_VGA_offset \
E6400_VGA_romname SCH5545EC_DL_url SCH5545EC_DL_url_bkup SCH5545EC_DL_hash \ E6400_VGA_romname SCH5545EC_DL_url SCH5545EC_DL_url_bkup SCH5545EC_DL_hash \
tree mecleaner kbc1126_ec_dump MRC_refcode_cbtree MRC_refcode_gbe new_mac \ mecleaner kbc1126_ec_dump MRC_refcode_cbtree new_mac _dl CONFIG_HAVE_MRC \
cbfstoolref release nukemode modifygbe rom archive)" CONFIG_BOARD_DELL_E6400 CONFIG_HAVE_ME_BIN archive EC_url modifygbe \
CONFIG_ME_BIN_PATH CONFIG_KBC1126_FIRMWARE CONFIG_KBC1126_FW1 _dest tree \
CONFIG_KBC1126_FW1_OFFSET CONFIG_KBC1126_FW2 CONFIG_KBC1126_FW2_OFFSET rom \
CONFIG_VGA_BIOS_FILE CONFIG_VGA_BIOS_ID CONFIG_GBE_BIN_PATH release DL_url \
CONFIG_INCLUDE_SMSC_SCH5545_EC_FW CONFIG_SMSC_SCH5545_EC_FW_FILE nukemode \
CONFIG_IFD_BIN_PATH CONFIG_MRC_FILE CONFIG_HAVE_REFCODE_BLOB cbfstoolref \
CONFIG_REFCODE_BLOB_FILE)"
vendor_download() vendor_download()
{ {
+7 -7
View File
@@ -61,14 +61,14 @@ main()
fi fi
bstr="directories" bstr="directories"
[ "$lbmk_release" = "y" ] && bstr="tarballs" [ "$xbmk_release" = "y" ] && bstr="tarballs"
[ -z "${targets}" ] && $err "No ROM images were compiled" [ -z "${targets}" ] && $err "No ROM images were compiled"
printf "\nROM images available in these %s:\n" "$bstr" printf "\nROM images available in these %s:\n" "$bstr"
eval "printf \"${targets}\"" eval "printf \"${targets}\""
printf "^^ ROM images available in these %s.\n\n" "$bstr" printf "^^ ROM images available in these %s.\n\n" "$bstr"
[ "$lbmk_release" = "y" ] && \ [ "$xbmk_release" = "y" ] && \
printf "Always run the inject command on release images!\n" printf "Always run the inject command on release images!\n"
printf "DO NOT flash images from elf/ - please use bin/ instead.\n" printf "DO NOT flash images from elf/ - please use bin/ instead.\n"
} }
@@ -99,7 +99,7 @@ handle_serprog()
done done
fi fi
[ "$lbmk_release" = "y" ] && mktar_release "bin/serprog_$1"; return 0 [ "$xbmk_release" = "y" ] && mktar_release "bin/serprog_$1"; return 0
} }
build_rp2040_rom() build_rp2040_rom()
@@ -144,7 +144,7 @@ handle_coreboot_target()
configure_target configure_target
[ "$board" = "$tree" ] && return 0 [ "$board" = "$tree" ] && return 0
if [ "$lbmk_release" = "y" ] && [ "$release" = "n" ]; then if [ "$xbmk_release" = "y" ] && [ "$release" = "n" ]; then
printf "Target '%s' disabled for release.\n" "$board" printf "Target '%s' disabled for release.\n" "$board"
return 0 return 0
fi fi
@@ -153,8 +153,8 @@ handle_coreboot_target()
build_target_mainboard build_target_mainboard
[ -d "bin/${board}" ] || return 0 [ -d "bin/${board}" ] || return 0
[ "$lbmk_release" = "y" ] || targets="* bin/${board}\n${targets}" [ "$xbmk_release" = "y" ] || targets="* bin/${board}\n${targets}"
[ "$lbmk_release" = "y" ] || return 0 [ "$xbmk_release" = "y" ] || return 0
targets="* bin/${relname}_$board.tar.xz\n$targets" targets="* bin/${relname}_$board.tar.xz\n$targets"
mktar_release "bin/$board" mktar_release "bin/$board"
@@ -466,7 +466,7 @@ moverom()
x_ mkdir -p "${2%/*}" x_ mkdir -p "${2%/*}"
x_ cp "$1" "$2" x_ cp "$1" "$2"
[ "$lbmk_release" = "y" ] || return 0 [ "$xbmk_release" = "y" ] || return 0
mksha512sum "${2}" "vendorhashes" mksha512sum "${2}" "vendorhashes"
x_ ./vendor inject -r "${2}" -b "$board" -n nuke x_ ./vendor inject -r "${2}" -b "$board" -n nuke