diff --git a/tools/mac_setup.sh b/tools/mac_setup.sh index 50970001..a7956245 100755 --- a/tools/mac_setup.sh +++ b/tools/mac_setup.sh @@ -1,7 +1,13 @@ #!/bin/bash -e -# install brew -/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" +# Install brew if required. +if [[ $(command -v brew) == "" ]]; then + echo "Installing Hombrew" + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" +else + echo "Updating Homebrew" + brew update +fi brew install capnp \ czmq \ @@ -10,17 +16,39 @@ brew install capnp \ ffmpeg \ glfw \ libarchive \ + libusb \ libtool \ llvm \ pyenv \ zeromq -# install python +# Detect shell and pick correct RC file. +if [[ $SHELL == "/bin/zsh" ]]; then + RC_FILE="$HOME/.zshrc" +elif [[ $SHELL == "/bin/bash" ]]; then + RC_FILE="$HOME/.bash_profile" +else + echo "-------------------------------------------------------------" + echo "Unsupported shell: \"$SHELL\", cannot install to RC file." + echo "Please run: echo \"source $OP_DIR/tools/openpilot_env.sh\" >> %YOUR SHELL's RC file%" + echo "-------------------------------------------------------------" +fi + +# Install to RC file (only non-CI). +if [ -z "$OPENPILOT_ENV" ] && [ -n "$RC_FILE" ] && [ -z "$CI" ]; then + OP_DIR=$(git rev-parse --show-toplevel) + echo "source $OP_DIR/tools/openpilot_env.sh" >> $RC_FILE + source $RC_FILE + echo "Added openpilot_env to RC file: $RC_FILE" +else + echo "Skipped RC file installation" +fi + +# Install python. pyenv install -s 3.8.2 pyenv global 3.8.2 pyenv rehash -eval "$(pyenv init -)" +eval "$(pyenv init -)" # CI doesn't use .bash_profile, and will use python2.7 if this line isn't here. pip install pipenv==2018.11.26 pipenv install --system --deploy - diff --git a/tools/openpilot_env.sh b/tools/openpilot_env.sh old mode 100644 new mode 100755 index 95f3b12e..ca25706b --- a/tools/openpilot_env.sh +++ b/tools/openpilot_env.sh @@ -4,14 +4,13 @@ if [ -z "$OPENPILOT_ENV" ]; then unamestr=`uname` if [[ "$unamestr" == 'Linux' ]]; then export PATH="$HOME/.pyenv/bin:$PATH" - eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" elif [[ "$unamestr" == 'Darwin' ]]; then # msgq doesn't work on mac export ZMQ=1 export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES fi + eval "$(pyenv init -)" export OPENPILOT_ENV=1 fi - diff --git a/tools/ubuntu_setup.sh b/tools/ubuntu_setup.sh index e46d7b29..8de91521 100755 --- a/tools/ubuntu_setup.sh +++ b/tools/ubuntu_setup.sh @@ -61,7 +61,8 @@ fi # install bashrc source ~/.bashrc if [ -z "$OPENPILOT_ENV" ]; then - echo "source $HOME/openpilot/tools/openpilot_env.sh" >> ~/.bashrc + OP_DIR=$(git rev-parse --show-toplevel) + echo "source $OP_DIR/tools/openpilot_env.sh" >> ~/.bashrc source ~/.bashrc echo "added openpilot_env to bashrc" fi