diff --git a/tools/update-npm.sh b/tools/update-npm.sh index a203bba3623f7e..d58b325b77f713 100755 --- a/tools/update-npm.sh +++ b/tools/update-npm.sh @@ -11,16 +11,17 @@ if [ "$#" -le 0 ]; then exit 1 fi -WORKSPACE="$TMPDIR"update-npm-$NPM_VERSION/ +echo "Making temporary workspace" -if [ -d "$WORKSPACE" ]; then - echo "Cleaning up old workspace" - rm -rf "$WORKSPACE" -fi +WORKSPACE=$(mktemp -d 2> /dev/null || mktemp -d -t 'tmp') -echo "Making temporary workspace" +cleanup () { + EXIT_CODE=$? + [ -d "$WORKSPACE" ] && rm -rf "$WORKSPACE" + exit $EXIT_CODE +} -mkdir -p "$WORKSPACE" +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!"