git.sh: split submodule handling to new function

Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2024-05-22 17:59:42 +01:00
parent aa4faf0815
commit a41633306a
+18 -13
View File
@@ -91,20 +91,17 @@ git_prep()
git_am_patches "$tmpgit" "$_patchdir" || $err "!am $_loc $_patchdir" git_am_patches "$tmpgit" "$_patchdir" || $err "!am $_loc $_patchdir"
if [ "$project" != "coreboot" ] || [ $# -gt 2 ]; then if [ "$project" != "coreboot" ] || [ $# -gt 2 ]; then
[ ! -f "$tmpgit/.gitmodules" ] || git -C "$tmpgit" submodule \ prep_submodules "$_loc"
update --init --checkout || $err "git_prep $_loc: !submod" fi
patch_submodules if [ "$project" = "coreboot" ] && [ -n "$xtree" ] && \
[ "$xtree" != "$tree" ] && [ $# -gt 2 ]; then
if [ "$project" = "coreboot" ] && [ -n "$xtree" ] && \ (
[ "$xtree" != "$tree" ]; then cd "$tmpgit/util" || $err "prep $1: !cd $tmpgit/util"
( rm -Rf crossgcc || $err "prep $1: !rm xgcc"
cd "$tmpgit/util" || $err "prep $_loc: !cd $tmpgit/util" ln -s "../../$xtree/util/crossgcc" crossgcc || \
rm -Rf crossgcc || $err "prep $_loc: !rm xgcc" $err "prep $1: can't create xgcc symlink"
ln -s "../../$xtree/util/crossgcc" crossgcc || \ ) || $err "prep $1: can't create xgcc symlink"
$err "prep $_loc: can't create xgcc symlink"
) || $err "prep $_loc: can't create xgcc symlink"
fi
fi fi
[ "$xbmk_release" = "y" ] && [ "$_loc" != "src/$project/$project" ] \ [ "$xbmk_release" = "y" ] && [ "$_loc" != "src/$project/$project" ] \
@@ -116,6 +113,14 @@ git_prep()
x_ ./update trees -f coreboot "$xtree"; return 0 x_ ./update trees -f coreboot "$xtree"; return 0
} }
prep_submodules()
{
[ ! -f "$tmpgit/.gitmodules" ] || git -C "$tmpgit" submodule \
update --init --checkout || $err "git_prep $1: !submod"
patch_submodules
}
patch_submodules() patch_submodules()
{ {
mdir="${PWD}/config/submodule/$project" mdir="${PWD}/config/submodule/$project"