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>
20240612_branch
Leah Rowe 2024-06-05 11:07:53 +01:00
parent c6aff76931
commit 75382a4126
2 changed files with 20 additions and 18 deletions

15
build
View File

@ -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

View File

@ -40,9 +40,26 @@ setvars()
done
printf "%s\n" "${_setvars% }"
}
eval "$(setvars "" xbmk_release tmpdir _nogit version board boarddir relname \
versiondate threads projectname projectsite)"
eval "$(setvars "" xbmk_release tmpdir _nogit version board boarddir relname \
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)" || \