Files
chromium_depot_tools/vpython3
Mike Frysinger f90cc29837 vpython: clear DEPOT_TOOLS_DIR before running scripts
Once we're done using DEPOT_TOOLS_DIR to bootstrap ourselves, remove
it from the env so it isn't passed to the python script which might
in turn run commands from other depot_tools trees.  Like gclient and
running chromium/src/third_party/depot_tools/ programs.

Bug: 1470590
Change-Id: I3dee847e45896ee25f01054026805277fc373c37
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4764126
Auto-Submit: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Joanna Wang <jojwang@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
2023-08-11 15:43:04 +00:00

55 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# Copyright 2019 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
if [[ $VPYTHON_BYPASS == "manually managed python not supported by chrome operations" ]]
then
NEWARGS=()
while [[ $# -gt 0 ]]
do
case "$1" in
-vpython-tool*) # these tools all do something vpython related and quit
exit 0
;;
-vpython*=*) # delete any vpython-specific flag (w/ attached argument)
shift
;;
-vpython*) # delete any vpython-specific flag (w/ separate argument)
shift
shift
;;
--) # stop parsing
NEWARGS+=( "$@" )
break
;;
*) # regular arg
NEWARGS+=( "$1" )
shift
;;
esac
done
exec "python3" "${NEWARGS[@]}"
fi
# Export for other depot_tools scripts to re-use.
export DEPOT_TOOLS_DIR="${DEPOT_TOOLS_DIR:-$(dirname "$0")}"
export DEPOT_TOOLS_UNAME_S="${DEPOT_TOOLS_UNAME_S:-$(uname -s | tr '[:upper:]' '[:lower:]')}"
source "${DEPOT_TOOLS_DIR}/cipd_bin_setup.sh"
cipd_bin_setup &> /dev/null
# Don't pass this to the Python script as it might turn around and run commands
# in other depot_tools dirs.
base_dir="${DEPOT_TOOLS_DIR}"
unset DEPOT_TOOLS_DIR
case "${DEPOT_TOOLS_UNAME_S}" in
mingw*|cygwin*)
cmd.exe //c $0.bat "$@"
;;
*)
exec "${base_dir}/.cipd_bin/vpython3" "$@"
;;
esac