diff options
| author | Leah Rowe <leah@libreboot.org> | 2024-06-05 11:07:53 +0100 | 
|---|---|---|
| committer | Leah Rowe <leah@libreboot.org> | 2024-06-05 11:07:53 +0100 | 
| commit | 75382a4126f1994dd9ff1009ac084369d2b80d13 (patch) | |
| tree | 8974a85b0afd7a9d4a7a7a6eac7f38b64d305259 | |
| parent | c6aff76931cb3fb2694676ab360cb165967883c0 (diff) | |
bugfix: move dependencies handling to lib.sh
do it strategically, in just the right place so that the
version and versiondate files aren't written.
otherwise, version/versiondate are written as root and
the build system becomes unusable after that, unless you
reset the file ownerships from root. hardly user-friendly.
mitigate this bug.
Signed-off-by: Leah Rowe <leah@libreboot.org>
| -rwxr-xr-x | build | 15 | ||||
| -rwxr-xr-x | include/lib.sh | 21 | 
2 files changed, 19 insertions, 17 deletions
@@ -16,7 +16,7 @@ fi  . "include/vendor.sh"  . "include/mrc.sh" -eval "$(setvars "" aur_notice vdir src_dirname srcdir _xm mode xp)" +eval "$(setvars "" vdir src_dirname srcdir _xm mode xp)"  err="fail"  linkpath="${0}" @@ -28,8 +28,6 @@ main()  	[ $# -lt 1 ] && badcmd  	spath="script/$1" -	[ "$1" = "dependencies" ] && x_ install_packages $@ && return 0 -  	[ "$(id -u)" != "0" ] || $err "this command as root is not permitted"  	for g in "which git" "git config --global user.name" \ @@ -49,17 +47,6 @@ main()  	set -u -e # some commands disable them. turn them on!  } -install_packages() -{ -	[ $# -lt 2 ] && badcmd "fewer than two arguments" -	[ -f "config/dependencies/$2" ] || badcmd "unsupported target" - -	. "config/dependencies/$2" - -	x_ $pkg_add $pkglist && [ -n "$aur_notice" ] && \ -	printf "You need AUR packages: %s\n" "$aur_notice" 1>&2; return 0 -} -  git_init()  {  	[ -L ".git" ] && return 1 diff --git a/include/lib.sh b/include/lib.sh index 8868975b..c5bd4bc9 100755 --- a/include/lib.sh +++ b/include/lib.sh @@ -40,9 +40,26 @@ setvars()  	done  	printf "%s\n" "${_setvars% }"  } +  eval "$(setvars "" xbmk_release tmpdir _nogit version board boarddir relname \ -    versiondate threads projectname projectsite)" +    versiondate threads projectname projectsite aur_notice)" + +read -r projectname < projectname || : +read -r projectsite < projectsite || : + +install_packages() +{ +	[ $# -lt 2 ] && badcmd "fewer than two arguments" +	[ -f "config/dependencies/$2" ] || badcmd "unsupported target" +	. "config/dependencies/$2" || $err "! . config/dependencies/$2" + +	$pkg_add $pkglist || $err "Cannot install packages" + +	[ -n "$aur_notice" ] && \ +	printf "You need AUR packages: %s\n" "$aur_notice" 1>&2; return 0 +} +[ $# -gt 0 ] && [ "$1" = "dependencies" ] && install_packages $@ && return 0  # 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) @@ -80,8 +97,6 @@ x_() {  [ -e ".git" ] || [ -f "versiondate" ] || printf "1716415872\n" > versiondate || \      $err "Cannot generate unknown versiondate file" -read -r projectname < projectname || : -read -r projectsite < projectsite || :  [ ! -f version ] || read -r version < version || :  version_="$version"  [ ! -e ".git" ] || version="$(git describe --tags HEAD 2>&1)" || \  | 
