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 /include | |
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>
Diffstat (limited to 'include')
-rwxr-xr-x | include/lib.sh | 21 |
1 files changed, 18 insertions, 3 deletions
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)" || \ |