tools: use mktemp to create the workspace directory

On some platforms, the TMPDIR environment variable is not set.

PR-URL: https://github.com/nodejs/node/pull/38432
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
This commit is contained in:
Luigi Pinca
2021-04-27 10:52:02 +02:00
parent 2c0fd32db3
commit 63c9b5ba9b

View File

@@ -11,16 +11,17 @@ if [ "$#" -le 0 ]; then
exit 1
fi
WORKSPACE="$TMPDIR"update-npm-$NPM_VERSION/
if [ -d "$WORKSPACE" ]; then
echo "Cleaning up old workspace"
rm -rf "$WORKSPACE"
fi
echo "Making temporary workspace"
mkdir -p "$WORKSPACE"
WORKSPACE=$(mktemp -d 2> /dev/null || mktemp -d -t 'tmp')
cleanup () {
EXIT_CODE=$?
[ -d "$WORKSPACE" ] && rm -rf "$WORKSPACE"
exit $EXIT_CODE
}
trap cleanup INT TERM EXIT
cd "$WORKSPACE"
@@ -39,11 +40,7 @@ rm -rf npm/
echo "Copying new npm"
tar zxf "$WORKSPACE"cli/release/npm-"$NPM_VERSION".tgz
echo "Deleting temporary workspace"
rm -rf "$WORKSPACE"
tar zxf "$WORKSPACE"/cli/release/npm-"$NPM_VERSION".tgz
echo ""
echo "All done!"