third_party.pigweed.src/env_setup/setup.sh
Rob Mohr dc70d1cb86 Bootstrap with 'python' and check CIPD auth.
Bootstrap scripts now use '#!/usr/bin/env python' instead of
'#!/usr/bin/env python3' which should let them work on a wider variety
of systems. Tested again with python 2 and made a couple minor changes
for compatibility.

Added check_auth() function to update.py. If it fails, it prints a
useful error message and gets ABORT_PW_ENVSETUP=1 added to the
environment. This is a cue to env_setup/setup.sh to not continue so the
error is prominent on the terminal. (env_setup/setup.sh clears this
variable so it won't persist into the next time env_setup/setup.sh is
sourced.)

Change-Id: Ib4a694178f1dce8971302914651feea3c727ea15
2019-12-04 10:05:28 -08:00

49 lines
1.4 KiB
Bash

# Copyright 2019 The Pigweed Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
# This script must be tested on bash, zsh, and dash.
function _realpath () {
python -c "import os.path; print(os.path.realpath('$@'))"
}
# Shell: bash.
if test -n "$BASH"; then
PW_SETUP_SCRIPT_PATH=$(_realpath $BASH_SOURCE)
# Shell: zsh.
elif test -n "$ZSH_NAME"; then
PW_SETUP_SCRIPT_PATH=$(_realpath ${(%):-%N})
# Shell: dash.
elif test ${0##*/} = dash; then
PW_SETUP_SCRIPT_PATH=$(_realpath \
$(lsof -p $$ -Fn0 | tail -1 | sed 's#^[^/]*##;'))
# If everything else fails, try $0. It could work.
else
PW_SETUP_SCRIPT_PATH=$(_realpath $0)
fi
PW_ENVSETUP=$(dirname $PW_SETUP_SCRIPT_PATH)
export PW_ENVSETUP
PW_ROOT=$(dirname "$PW_ENVSETUP")
export PW_ROOT
unset ABORT_PW_ENVSETUP
. "$PW_ENVSETUP/cipd/init.sh"
if [[ -z "$ABORT_PW_ENVSETUP" ]]; then
. "$PW_ENVSETUP/virtualenv/init.sh"
fi