diff options
| -rw-r--r-- | include/lib.sh | 25 | ||||
| -rwxr-xr-x | script/trees | 7 | 
2 files changed, 17 insertions, 15 deletions
| diff --git a/include/lib.sh b/include/lib.sh index ef54f143..2c86e37d 100644 --- a/include/lib.sh +++ b/include/lib.sh @@ -87,28 +87,29 @@ 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="$PWD/cache" +[ -z "$XBMK_CACHE" ] && export XBMK_CACHE="$PWD/cache" +[ -L "$XBMK_CACHE" ] && [ "$XBMK_CACHE" = "$PWD/cache" ] && \ +    $err "cachedir is default, $PWD/cache, but it exists and is a symlink" +[ -L "$XBMK_CACHE" ] && export XBMK_CACHE="$PWD/cache" +[ -f "$XBMK_CACHE" ] && $err "cachedir '$XBMK_CACHE' exists but it's a file" + +# unify all temporary files/directories in a single TMPDIR  [ -z "${TMPDIR+x}" ] || [ "${TMPDIR%_*}" = "/tmp/xbmk" ] || unset TMPDIR  [ -n "${TMPDIR+x}" ] && export TMPDIR="$TMPDIR" -  if [ -z "${TMPDIR+x}" ]; then  	[ -f "lock" ] && $err "$PWD/lock exists. Is a build running?"  	export TMPDIR="/tmp"  	export TMPDIR="$(mktemp -d -t xbmk_XXXXXXXX)"  	touch lock || $err "cannot create 'lock' file" -	rm -Rf xbmkpath || $err "cannot remove xbmkpath" -	mkdir -p xbmkpath || $err "cannot create xbmkpath" -	export PATH="$PWD/xbmkpath:$PATH" || $err "Can't create xbmkpath" +	rm -Rf "$XBMK_CACHE/xbmkpath" || $err "cannot remove xbmkpath" +	mkdir -p "$XBMK_CACHE/xbmkpath" || $err "cannot create xbmkpath" +	export PATH="$XBMK_CACHE/xbmkpath:$PATH" || \ +	    $err "Can't create xbmkpath"  	xbmk_parent="y"  fi -# XBMK_CACHE is a directory, for caching downloads and git repositories -[ -z "${XBMK_CACHE+x}" ] && export XBMK_CACHE="$PWD/cache" -[ -z "$XBMK_CACHE" ] && export XBMK_CACHE="$PWD/cache" -[ -L "$XBMK_CACHE" ] && [ "$XBMK_CACHE" = "$PWD/cache" ] && \ -    $err "cachedir is default, $PWD/cache, but it exists and is a symlink" -[ -L "$XBMK_CACHE" ] && export XBMK_CACHE="$PWD/cache" -[ -f "$XBMK_CACHE" ] && $err "cachedir '$XBMK_CACHE' exists but it's a file" -  # 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" diff --git a/script/trees b/script/trees index 1c38aa48..a3ea1e6f 100755 --- a/script/trees +++ b/script/trees @@ -216,7 +216,8 @@ check_cross_compiler()  		    $err "!mkxgcc $project/$xtree '$xfix' '$xgccargs'"  		# we only want to mess with hostcc to build xgcc -		rm -f xbmkpath/* || $err "Cannot clear xbmkpath/"; : +		rm -f "$XBMK_CACHE/xbmkpath/"* || \ +		    $err "Cannot clear xbmkpath/"; :  	done; return 0  } @@ -253,8 +254,8 @@ check_gnu_path()  	[ "$gnatfull" = "$gccfull" ] || return 1  	( -	rm -f xbmkpath/* || $err "Cannot clear xbmkpath/" -	x_ cd xbmkpath +	rm -f "$XBMK_CACHE/xbmkpath/"* || $err "Cannot clear xbmkpath/" +	cd "$XBMK_CACHE/xbmkpath" || $err "Can't cd to xbmkpath/"  	for _gnubin in "$_gnudir/$2"*"-$_gnuver"; do  		[ -e "$_gnubin" ] || continue; _gnuutil="${_gnubin##*/}"  		x_ ln -s "$_gnubin" "${_gnuutil%"-$_gnuver"}" | 
