summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2024-06-07 14:16:58 +0100
committerLeah Rowe <leah@libreboot.org>2024-06-07 14:16:58 +0100
commitd43247683b49e24bd01da6ac9b9676b6b0689568 (patch)
tree81f731e18f073faf605b8a82cb86a9ef7011ea2e /include
parenta4549e935e29ec8635b9737497d49adc98e2a3d3 (diff)
git.sh: download "depend" projects *before*
don't do it after, because that means the main project is saved under src/ before we know whether the subrepo was downloaded. the "depend" variable (in config/git/) is no longer used for projects that go in subdirectories of a parent; now, we use config/submodules/ for this type of dependency. download the "depend" projects (as per config/git/) first. this way, if they fail, the main one will fail, but if they succeed and main fails, you can just run the main download again and it won't fail. this fixes a bug where, depending on how you download a set of projects and depending on the order which you do so, a given project can become un-downloadable on current design, because git will complain that a directory already exists. this fix is done not only in code (by this commit), but by prior configuration changes. Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'include')
-rwxr-xr-xinclude/git.sh6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/git.sh b/include/git.sh
index 17333a86..2ebefc71 100755
--- a/include/git.sh
+++ b/include/git.sh
@@ -57,11 +57,10 @@ fetch_project_repo()
[ -z "${loc+x}" ] && $err "fetch_project_repo $project: loc not set"
[ -z "${url+x}" ] && $err "fetch_project_repo $project: url not set"
- clone_project
[ -z "$depend" ] || for d in $depend ; do
x_ ./update trees -f $d
done
- rm -Rf "$tmpgit" || $err "fetch_repo: !rm -Rf $tmpgit"
+ clone_project
for x in config/git/*; do
[ -f "$x" ] && nuke "${x##*/}" "src/${x##*/}"; continue
@@ -74,6 +73,8 @@ clone_project()
loc="src/$loc"
e "$loc" d && return 0
+ remkdir "${tmpgit%/*}"
+
git clone $url "$tmpgit" || git clone $bkup_url "$tmpgit" \
|| $err "clone_project: could not download $project"
git_prep "$PWD/config/$project/patches" "$loc"
@@ -107,7 +108,6 @@ prep_submodules()
[ -n "$tree" ] && mdir="$mdir/$tree"
[ -f "$mdir/module.list" ] || return 0
-
cat "$mdir/module.list" > "$tmpdir/modules" || \
$err "!cp $mdir/module.list $tmpdir/modules"