summaryrefslogtreecommitdiff
path: root/include/get.sh
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2025-05-23 14:13:47 +0100
committerLeah Rowe <leah@libreboot.org>2025-05-23 14:13:47 +0100
commit383b9754fc65ed407ff57c8bc917ab839d37b0a7 (patch)
tree1aafbfc3e4fdae96bbf3cb1a92e608766fe8f17e /include/get.sh
parent34dac6da99bd79ec75e63997aaebbf5de2debbe8 (diff)
parent3e28873532b13a750df04d8dad8ffacb159cc7da (diff)
Merge branch 'master' into 25.06_branch25.06_branch
Diffstat (limited to 'include/get.sh')
-rw-r--r--include/get.sh20
1 files changed, 13 insertions, 7 deletions
diff --git a/include/get.sh b/include/get.sh
index 667ab398..6f1b5f1d 100644
--- a/include/get.sh
+++ b/include/get.sh
@@ -22,7 +22,7 @@ fetch_project()
eval "`setvars "" xtree`"
eval "`setcfg "config/git/$project/pkg.cfg"`"
- chkvars url
+ chkvars url bkup_url
[ -n "$xtree" ] && x_ ./mk -f coreboot "$xtree"
[ -z "$depend" ] || for d in $depend ; do
@@ -85,9 +85,12 @@ xbmkget()
echk="f" && [ "$1" = "git" ] && echk="d"
for url in "$2" "$3"; do
- [ -n "$url" ] && try_file "$url" "$@" && \
- eval "[ -$echk \"$4\" ] && return 0"
- done && err "$1 $2 $3 $4: not downloaded"; :
+ [ -n "$url" ] || err "empty URL given in: xbmkget $*"
+ try_file "$url" "$@" || continue
+ eval "[ -$echk \"$4\" ] || continue"
+ return 0 # successful download/copy
+ done
+ err "$1 $2 $3 $4: not downloaded"; :
}
try_file()
@@ -101,7 +104,8 @@ try_file()
echk="d" && [ "$2" != "git" ] && echk="f" && \
bad_checksum "$6" "$cached" 2>/dev/null && x_ rm -f "$cached"
- eval "[ -$echk \"$cached\" ] || try_$2 \"\$cached\" \"\$@\" || return 1"
+ evalchk="[ -$echk \"$cached\" ] || " && [ "$2" = "git" ] && evalchk=""
+ eval "${evalchk}try_$2 \"\$cached\" \"\$@\" || return 1"
[ "$2" != "git" ] && [ -f "$5" ] && \
bad_checksum "$6" "$5" 2>/dev/null && x_ cp "$cached" "$5"
eval "[ -$echk \"$cached\" ] || return 1"
@@ -140,8 +144,10 @@ try_git()
[ -d "$gitdest" ] || x_ mkdir -p "${gitdest%/*}"
[ -d "$gitdest" ] || x_ mv "$tmpgitcache" "$gitdest"
- ( x_ git -C "$gitdest" remote add main "$4" 2>/dev/null ) || :
- ( x_ git -C "$gitdest" remote add backup "$5" 2>/dev/null ) || :
+ ( x_ git -C "$gitdest" remote remove main ) || :
+ ( x_ git -C "$gitdest" remote remove backup ) || :
+ x_ git -C "$gitdest" remote add main "$4"
+ x_ git -C "$gitdest" remote add backup "$5"
( x_ git -C "$gitdest" fetch --all ) || :
( x_ git -C "$gitdest" pull --all ) || :; :
}