re-use crossgcc builds on the coreboot trees

don't build crossgcc twice, especially if two coreboot
trees use the same revision!

Signed-off-by: Leah Rowe <leah@libreboot.org>
audit2-merge1
Leah Rowe 2024-01-21 06:26:23 +00:00 committed by Leah Rowe
parent 2e6dec0c27
commit 4621a784e6
3 changed files with 18 additions and 3 deletions

View File

@ -1,2 +1,3 @@
tree="dell" tree="dell"
xtree="default"
rev="d862695f5f432b5c78dada5f16c293a4c3f9fce6" rev="d862695f5f432b5c78dada5f16c293a4c3f9fce6"

View File

@ -1,4 +1,5 @@
tree="fam15h_udimm" tree="fam15h_udimm"
xtree="fam15h_rdimm"
rev="1c13f8d85c7306213cd525308ee8973e5663a3f8" rev="1c13f8d85c7306213cd525308ee8973e5663a3f8"
payload_grub="n" payload_grub="n"
payload_grub_withseabios="n" payload_grub_withseabios="n"

View File

@ -4,7 +4,7 @@
# This file is only used by update/project/trees # This file is only used by update/project/trees
eval "$(setvars "" _target rev _xm loc url bkup_url depend)" eval "$(setvars "" _target rev _xm loc url bkup_url depend xtree)"
fetch_project_trees() fetch_project_trees()
{ {
@ -99,11 +99,24 @@ git_prep()
git -C "$tmpgit" reset --hard $rev || err "git -C $_loc: !reset $rev" git -C "$tmpgit" reset --hard $rev || err "git -C $_loc: !reset $rev"
git_am_patches "$tmpgit" "$_patchdir" || err "!am $_loc $_patchdir" git_am_patches "$tmpgit" "$_patchdir" || err "!am $_loc $_patchdir"
[ $# -lt 3 ] || [ ! -f "$tmpgit/.gitmodules" ] || \ if [ "$project" != "coreboot" ] || [ $# -gt 2 ]; then
git -C "$tmpgit" submodule update --init || err "prep $_loc: !mod" [ ! -f "$tmpgit/.gitmodules" ] || git -C "$tmpgit" submodule \
update --init --checkout || err "git_prep $_loc: !submod"
if [ "$project" = "coreboot" ] && [ -n "$xtree" ] && \
[ "$xtree" != "$tree" ]; then
(
cd "$tmpgit/util" || err "prep $_loc: !cd $tmpgit/util"
rm -Rf crossgcc || err "prep $_loc: !rm xgcc"
ln -s "../../$xtree/util/crossgcc" crossgcc || \
err "prep $_loc: can't create xgcc symlink"
) || err "prep $_loc: can't create xgcc symlink"
fi
fi
[ "$_loc" = "${_loc%/*}" ] || x_ mkdir -p "${_loc%/*}" [ "$_loc" = "${_loc%/*}" ] || x_ mkdir -p "${_loc%/*}"
mv "$tmpgit" "$_loc" || err "git_prep: !mv $tmpgit $_loc" mv "$tmpgit" "$_loc" || err "git_prep: !mv $tmpgit $_loc"
[ -n "$xtree" ] && [ ! -d "src/coreboot/$xtree" ] && \
x_ ./update project trees -f coreboot "$xtree"; return 0
} }
git_am_patches() git_am_patches()