You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.0 KiB
64 lines
2.0 KiB
#!/usr/bin/env bash |
|
|
|
# Script to install the depenencies for LISA on an Ubuntu-like system. |
|
|
|
# This is intended to be used for setting up containers and virtual machines to |
|
# run LISA (e.g. for CI infrastructure or for Vagrant installation). However for |
|
# the brave, it could be used to set up LISA directly on a real machine. |
|
|
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" |
|
|
|
usage() { |
|
echo Usage: "$0" [--install-android-sdk] |
|
} |
|
|
|
set -eu |
|
|
|
install_android_sdk=n |
|
|
|
for arg in "$@"; do |
|
if [ "$arg" == "--install-android-sdk" ]; then |
|
install_android_sdk=y |
|
else |
|
echo "Unrecognised argument: $arg" |
|
usage |
|
exit 1 |
|
fi |
|
done |
|
|
|
apt-get update |
|
|
|
apt-get -y remove ipython ipython-notebook |
|
|
|
apt-get -y install build-essential autoconf automake libtool pkg-config \ |
|
trace-cmd sshpass kernelshark nmap net-tools tree python-matplotlib \ |
|
python-numpy libfreetype6-dev libpng12-dev python-nose python-pip \ |
|
python-dev iputils-ping git wget expect |
|
|
|
# Upgrade pip so we can use wheel packages instead of compiling stuff, this is |
|
# much faster. |
|
pip install --upgrade pip |
|
|
|
# Incantation to fix broken pip packages |
|
/usr/local/bin/pip install --upgrade packaging appdirs |
|
|
|
# Use IPython 5.x because 6.0+ only supports Python 3.3 |
|
/usr/local/bin/pip install --upgrade "ipython<6.0.0" Cython trappy bart-py devlib psutil wrapt jupyter |
|
|
|
if [ "$install_android_sdk" == y ]; then |
|
apt-get -y install openjdk-7-jre openjdk-7-jdk |
|
ANDROID_SDK_URL="https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz" |
|
mkdir -p "$SCRIPT_DIR"/tools |
|
if [ ! -e "$SCRIPT_DIR"/tools/android-sdk-linux ]; then |
|
echo "Downloading Android SDK [$ANDROID_SDK_URL]..." |
|
wget -qO- $ANDROID_SDK_URL | tar xz -C $SCRIPT_DIR/tools/ |
|
expect -c " |
|
set timeout -1; |
|
spawn $SCRIPT_DIR/tools/android-sdk-linux/tools/android update sdk --no-ui |
|
expect { |
|
\"Do you accept the license\" { exp_send \"y\r\" ; exp_continue } |
|
eof |
|
} |
|
" |
|
fi |
|
fi
|
|
|