diff options
Diffstat (limited to 'include/lib.sh')
-rw-r--r-- | include/lib.sh | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/include/lib.sh b/include/lib.sh index cb8e0303..21066ecc 100644 --- a/include/lib.sh +++ b/include/lib.sh @@ -30,9 +30,6 @@ x_() { [ $# -lt 1 ] || "$@" || $err "Unhandled error for: $(echo "$@")"; : } -xbmkpwd="`pwd`" || $err "Cannot generate PWD" -export PWD="$xbmkpwd" - setvars() { _setvars="" && [ $# -lt 2 ] && $err "setvars: too few arguments" @@ -49,13 +46,6 @@ chkvars() done; : } -eval "`setvars "" _nogit board reinstall versiondate aur_notice configdir \ - datadir version relname`" - -for fv in version versiondate; do - eval "[ ! -f \".$fv\" ] || read -r $fv < \".$fv\" || :" -done - setcfg() { [ $# -gt 1 ] && printf "e \"%s\" f missing && return %s;\n" "$1" "$2" @@ -88,11 +78,25 @@ install_packages() [ -n "$aur_notice" ] && \ printf "You need AUR packages: %s\n" "$aur_notice" 1>&2; : } + +eval "`setvars "" _nogit board reinstall versiondate aur_notice configdir \ + datadir version relname xbmktmp`" + if [ $# -gt 0 ] && [ "$1" = "dependencies" ]; then install_packages "$@" || exit 1 exit 0 fi +id -u 1>/dev/null 2>/dev/null || $err "suid check failed (id -u)" +[ "$(id -u)" != "0" ] || $err "this command as root is not permitted" + +xbmkpwd="`pwd`" || $err "Cannot generate PWD" +export PWD="$xbmkpwd" + +for fv in version versiondate; do + eval "[ ! -f \".$fv\" ] || read -r $fv < \".$fv\" || :" +done + pyver="2" python="python3" command -v python3 1>/dev/null || python="python" @@ -109,9 +113,6 @@ if [ "${pyver%%.*}" != "3" ]; then exit 1 fi -id -u 1>/dev/null 2>/dev/null || $err "suid check failed (id -u)" -[ "$(id -u)" != "0" ] || $err "this command as root is not permitted" - # XBMK_CACHE is a directory, for caching downloads and git repositories [ -z "${XBMK_CACHE+x}" ] && export XBMK_CACHE="$xbmkpwd/cache" [ -z "$XBMK_CACHE" ] && export XBMK_CACHE="$xbmkpwd/cache" @@ -127,6 +128,7 @@ if [ -z "${TMPDIR+x}" ]; then [ -f "lock" ] && $err "$xbmkpwd/lock exists. Is a build running?" export TMPDIR="/tmp" export TMPDIR="$(mktemp -d -t xbmk_XXXXXXXX)" + xbmktmp="$TMPDIR" touch lock || $err "cannot create 'lock' file" x_ rm -Rf "$XBMK_CACHE/xbmkpath" "$XBMK_CACHE/gnupath" x_ mkdir -p "$XBMK_CACHE/gnupath" "$XBMK_CACHE/xbmkpath" @@ -140,10 +142,11 @@ if [ -z "${TMPDIR+x}" ]; then xbmk_rval=0 ./mk "$@" || xbmk_rval=1 - rm -Rf "$TMPDIR" || xbmk_rval=1 + rm -Rf "$xbmktmp" || xbmk_rval=1 rm -f lock || xbmk_rval=1 exit $xbmk_rval fi +xbmktmp="$TMPDIR" # 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) @@ -197,10 +200,8 @@ mkrom_tarball() mktarball() { - if [ "${2%/*}" != "$2" ]; then - mkdir -p "${2%/*}" || $err "mk, !mkdir -p \"${2%/*}\"" - fi - tar -c "$1" | xz -T$XBMK_THREADS -9e > "$2" || $err "mktarball 2, $1" + [ "${2%/*}" = "$2" ] || x_ mkdir -p "${2%/*}" + x_ tar -c "$1" | xz -T$XBMK_THREADS -9e > "$2" || $err "mktarball2, $1" } mksha512sum() |