Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Linux/MacOS Installations Script Updated #146

Closed
wants to merge 2 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 34 additions & 38 deletions wall_e_install.sh
Original file line number Diff line number Diff line change
@@ -1,34 +1,19 @@
#!/usr/bin/env bash
set -e
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why remove this?


echo "installing ESP IDF"

_shell_="${SHELL#${SHELL%/*}/}"

_sudo(){
if ! command -v sudo &> /dev/null
then
if ! [ $(id -u) = 0 ]; then
echo "The script need to be run as root." >&2
exit 1
fi
"$@"
else
sudo "$@"
fi
}

# Check whether esp-idf has already been installed
if [ -d $HOME/esp/esp-idf ]; then
echo "You have installed esp-idf" && exit 0
fi

unameOut="$(uname -s)"
echo "You have already installed esp-idf!"
else
# System Detection and ESP-IDF Installation
unameOut="$(uname -s)"
case "${unameOut}" in
Linux*)
export DEBIAN_FRONTEND=noninteractive
_sudo apt update && _sudo apt upgrade -y
_sudo apt install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 -y
sudo apt update && sudo apt upgrade -y
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, when you removed the _sudo function, this will ask for password here. The script is supposed to run without interruptions once started, so why remove the function?

sudo usermod -a -G dialout $USER
sudo apt install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 -y
sudo apt install python3-venv
;;
Darwin*)
if brew --version | grep -q 'Homebrew'; then
Expand All @@ -43,19 +28,30 @@ case "${unameOut}" in
*) echo "Not supported :${unameOut}"
esac

mkdir -p "$HOME/esp"
pushd "$HOME"/esp || (echo "Error: Cannot Make Directory" && exit 1)

#ESP Toolchain & ESP-IDF
git clone -b v4.4.3 --recursive https://github.com/espressif/esp-idf.git
pushd esp-idf
./install.sh
popd
popd

#Check if installation is successfull
. $HOME/esp/esp-idf/export.sh
idf.py --version | (grep "v4.4" && echo "Installation successfull! Please restart your computer for the changes to take effect.") \
|| (echo "installation failed" && exit 1)
# Create ESP Directory
mkdir -p "$HOME/esp"
pushd "$HOME"/esp || (echo "Error: Cannot Make Directory" && exit 1)

# Clone ESP-IDF Repository
git clone -b release/v5.1 --recursive https://github.com/espressif/esp-idf.git
cd $HOME/esp/esp-idf
./install.sh esp32
popd
popd

# Check if installation is successful
. $HOME/esp/esp-idf/export.sh
idf.py --version | (grep "v5.1.2" && echo "Installation successful! Please restart your computer for the changes to take effect.") \
|| (echo "Installation failed" && exit 1)
# Set IDF Alias
echo "alias get_idf='. $HOME/esp/esp-idf/export.sh'" >> $HOME/."$_shell_"rc
fi

echo "alias get_idf='. $HOME/esp/esp-idf/export.sh'" >> $HOME/."$_shell_"rc
# Clone Wall-E repository
if [ ! -d "$HOME/Wall-E" ]; then
cd "$HOME" || (echo "Error: Could not navigate to Home" && exit 1)
echo "Cloning Wall-E"
git clone --recursive https://github.com/SRA-VJTI/Wall-E.git
else
echo "You have already Cloned Wall-E Repository!"
fi