mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-07-22 22:49:30 +02:00
init.sh: move TMPDIR handling to own functions
this makes xbmk_set_env easier to read Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
+41
-31
@@ -15,7 +15,7 @@ projectsite="https://libreboot.org/"
|
|||||||
|
|
||||||
eval "`setvars "" _nogit board reinstall versiondate aur_notice configdir \
|
eval "`setvars "" _nogit board reinstall versiondate aur_notice configdir \
|
||||||
datadir version xbmkpwd relname xbmkpwd xbtmp python pyver xbloc \
|
datadir version xbmkpwd relname xbmkpwd xbtmp python pyver xbloc \
|
||||||
xbmklock cvxbmk cvchk xbmkpath`"
|
xbmklock cvxbmk cvchk xbmkpath is_child`"
|
||||||
|
|
||||||
xbmk_init()
|
xbmk_init()
|
||||||
{
|
{
|
||||||
@@ -70,6 +70,43 @@ xbmk_set_env()
|
|||||||
[ -f "$xbmklock" ] && is_child="y"
|
[ -f "$xbmklock" ] && is_child="y"
|
||||||
|
|
||||||
if [ "$is_child" = "y" ]; then
|
if [ "$is_child" = "y" ]; then
|
||||||
|
xbmk_child_set_tmp
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# parent instance of xbmk, so continue.
|
||||||
|
|
||||||
|
xbmk_parent_check_tmp
|
||||||
|
|
||||||
|
[ -f "$xbmklock" ] && err "'$xbmklock' exists. Is a build running?"
|
||||||
|
printf "%s\n" "$xbtmp" > "$xbmklock" || \
|
||||||
|
err "cannot create '$xbmklock'"; :
|
||||||
|
|
||||||
|
export XBMK_CACHE="$xbmkpwd/cache"
|
||||||
|
[ -L "$XBMK_CACHE" ] && [ "$XBMK_CACHE" = "$xbmkpwd/cache" ] && \
|
||||||
|
err "cachedir '$xbmkpwd/cache' is a symlink"
|
||||||
|
[ ! -e "$XBMK_CACHE" ] || \
|
||||||
|
[ -d "$XBMK_CACHE" ] || err "cachedir '$XBMK_CACHE' is a file"; :
|
||||||
|
|
||||||
|
export PATH="$XBMK_CACHE/xbmkpath:$XBMK_CACHE/gnupath:$PATH"
|
||||||
|
xbmkpath="$PATH"
|
||||||
|
|
||||||
|
# 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)
|
||||||
|
[ -z "${XBMK_RELEASE+x}" ] && export XBMK_RELEASE="n"
|
||||||
|
[ "$XBMK_RELEASE" = "Y" ] && export XBMK_RELEASE="y"
|
||||||
|
[ "$XBMK_RELEASE" = "y" ] || export XBMK_RELEASE="n"
|
||||||
|
|
||||||
|
xbmk_set_version
|
||||||
|
export LOCALVERSION="-$projectname-${version%%-*}"
|
||||||
|
|
||||||
|
remkdir "$xbtmp" "$xbloc" "$XBMK_CACHE/gnupath" "$XBMK_CACHE/xbmkpath"
|
||||||
|
|
||||||
|
xbmk_set_pyver
|
||||||
|
}
|
||||||
|
|
||||||
|
xbmk_child_set_tmp()
|
||||||
|
{
|
||||||
eval `setvars "" xbtmp badtmp xbtmpchk xbtmpname`
|
eval `setvars "" xbtmp badtmp xbtmpchk xbtmpname`
|
||||||
|
|
||||||
[ -z "${TMPDIR+x}" ] && export TMPDIR="/tmp"
|
[ -z "${TMPDIR+x}" ] && export TMPDIR="/tmp"
|
||||||
@@ -104,11 +141,10 @@ xbmk_set_env()
|
|||||||
[ -z "${XBMK_CACHE+x}" ] && err "XBMK_CACHE unset on child"
|
[ -z "${XBMK_CACHE+x}" ] && err "XBMK_CACHE unset on child"
|
||||||
[ -z "${XBMK_THREADS+x}" ] && xbmk_set_threads
|
[ -z "${XBMK_THREADS+x}" ] && xbmk_set_threads
|
||||||
e "lock" f missing && err "lock file absent on child"
|
e "lock" f missing && err "lock file absent on child"
|
||||||
return 1
|
}
|
||||||
fi
|
|
||||||
|
|
||||||
# parent instance of xbmk, so continue.
|
|
||||||
|
|
||||||
|
xbmk_parent_check_tmp()
|
||||||
|
{
|
||||||
export TMPDIR="/tmp"
|
export TMPDIR="/tmp"
|
||||||
|
|
||||||
xbmklist="`mktemp || err "can't make tmplist"`" || err
|
xbmklist="`mktemp || err "can't make tmplist"`" || err
|
||||||
@@ -129,32 +165,6 @@ xbmk_set_env()
|
|||||||
"'$xbtmp' existed previously (possible race condition)"; :
|
"'$xbtmp' existed previously (possible race condition)"; :
|
||||||
done < "$xbmklist" || err "Couldn't read xbmklist: '$xbmklist'"
|
done < "$xbmklist" || err "Couldn't read xbmklist: '$xbmklist'"
|
||||||
x_ rm -f "$xbmklist"
|
x_ rm -f "$xbmklist"
|
||||||
|
|
||||||
[ -f "$xbmklock" ] && err "'$xbmklock' exists. Is a build running?"
|
|
||||||
printf "%s\n" "$xbtmp" > "$xbmklock" || \
|
|
||||||
err "cannot create '$xbmklock'"; :
|
|
||||||
|
|
||||||
export XBMK_CACHE="$xbmkpwd/cache"
|
|
||||||
[ -L "$XBMK_CACHE" ] && [ "$XBMK_CACHE" = "$xbmkpwd/cache" ] && \
|
|
||||||
err "cachedir '$xbmkpwd/cache' is a symlink"
|
|
||||||
[ ! -e "$XBMK_CACHE" ] || \
|
|
||||||
[ -d "$XBMK_CACHE" ] || err "cachedir '$XBMK_CACHE' is a file"; :
|
|
||||||
|
|
||||||
export PATH="$XBMK_CACHE/xbmkpath:$XBMK_CACHE/gnupath:$PATH"
|
|
||||||
xbmkpath="$PATH"
|
|
||||||
|
|
||||||
# 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)
|
|
||||||
[ -z "${XBMK_RELEASE+x}" ] && export XBMK_RELEASE="n"
|
|
||||||
[ "$XBMK_RELEASE" = "Y" ] && export XBMK_RELEASE="y"
|
|
||||||
[ "$XBMK_RELEASE" = "y" ] || export XBMK_RELEASE="n"
|
|
||||||
|
|
||||||
xbmk_set_version
|
|
||||||
export LOCALVERSION="-$projectname-${version%%-*}"
|
|
||||||
|
|
||||||
remkdir "$xbtmp" "$xbloc" "$XBMK_CACHE/gnupath" "$XBMK_CACHE/xbmkpath"
|
|
||||||
|
|
||||||
xbmk_set_pyver
|
|
||||||
}
|
}
|
||||||
|
|
||||||
xbmk_set_threads()
|
xbmk_set_threads()
|
||||||
|
|||||||
Reference in New Issue
Block a user