From 0994359c25657b7201ec3edc758561e2bf478c6e Mon Sep 17 00:00:00 2001 From: George Hotz Date: Sun, 24 Mar 2019 14:25:23 -0700 Subject: [PATCH] simplify the qira installer --- docker/Dockerfile | 4 ++-- docker/test.sh | 4 ++-- install.sh | 49 +++++++++++++---------------------------------- 3 files changed, 17 insertions(+), 40 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index f94ce76d..a6bdc472 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -2,14 +2,14 @@ FROM ubuntu:16.04 # minimal system basics RUN apt-get update -RUN apt-get -y install git curl +RUN apt-get -y install git curl python # fetch qira RUN git clone https://github.com/geohot/qira.git WORKDIR /qira # build qemu -RUN apt-get -y install python build-essential pkg-config zlib1g-dev libglib2.0-dev libpixman-1-dev +RUN apt-get -y install build-essential pkg-config zlib1g-dev libglib2.0-dev libpixman-1-dev RUN cd tracers && ./qemu_build.sh # install python packages and link qira diff --git a/docker/test.sh b/docker/test.sh index 23c49d66..f5ae80f6 100755 --- a/docker/test.sh +++ b/docker/test.sh @@ -1,6 +1,6 @@ #!/bin/bash # simple loop test -docker run --workdir /qira --rm qira bash -c "./run_tests.sh && ./run_tests_static.sh" -#docker run -p 3002:3002 --rm qira qira qira_tests/bin/loop +#docker run --workdir /qira --rm qira bash -c "./run_tests.sh && ./run_tests_static.sh" +docker run -p 3002:3002 --rm qira qira qira_tests/bin/loop diff --git a/install.sh b/install.sh index fe710d3b..426b1e05 100755 --- a/install.sh +++ b/install.sh @@ -1,40 +1,14 @@ #!/bin/bash -e -unamestr=$(uname) -arch=$(uname -p) - -if [[ "$unamestr" == 'Linux' ]]; then - # we need pip to install python stuff - # build for building qiradb and stuff for flask like gevent - if [ $(which apt-get) ]; then - echo "running apt-get update" - sudo apt-get update -qq - echo "installing apt packages" - sudo apt-get -y install build-essential debootstrap debian-archive-keyring libjpeg-dev zlib1g-dev unzip wget graphviz curl python-dev python-pip python-virtualenv git wget flex bison libtool automake autoconf autotools-dev pkg-config libglib2.0-dev - elif [ $(which pacman) ]; then - sudo pacman -S --needed --noconfirm base-devel python2-pip python2-virtualenv - elif [ $(which dnf) ]; then - sudo dnf install -y python-pip python-devel gcc gcc-c++ python-virtualenv glib2-devel - elif [ $(which yum) ]; then - sudo yum install -y python-pip python-devel gcc gcc-c++ python-virtualenv glib2-devel - elif [ $(which zypper) ]; then - sudo zypper install -y python-pip python-devel gcc gcc-c++ python-virtualenv glib2-devel - fi - -elif [[ "$unamestr" == 'Darwin' ]]; then - if [ $(which brew) ]; then - echo "Installing OS X dependencies" - brew update - brew install python capstone graphviz - pip install virtualenv - cd tracers - ./pin_build.sh - cd ../ - else - echo "build script only supports Homebrew" - fi +# install system deps +if [ $(which apt-get) ]; then + echo "installing deps for ubuntu" + sudo apt-get -y install git curl python python-virtualenv python-dev build-essential pkg-config zlib1g-dev libglib2.0-dev libpixman-1-dev +else + echo "*** You'll need to install Ubuntu or get a working build env for qemu and python yourself ***" fi +# build qemu if [ $(tracers/qemu/qira-i386 > /dev/null; echo $?) == 1 ]; then echo "QIRA QEMU appears to run okay" else @@ -44,14 +18,16 @@ else cd ../ fi -echo "installing pip packages" - +echo "building python venv" virtualenv venv source venv/bin/activate pip install --upgrade pip pip install --upgrade -r requirements.txt -echo "making symlink" +echo "running tests" +./run_tests.sh + +echo "making systemwide symlink" sudo ln -sf $(pwd)/qira /usr/local/bin/qira echo "***************************************" @@ -60,3 +36,4 @@ echo " Check out README for more info" echo " Or just dive in with 'qira /bin/ls'" echo " And point Chrome to localhost:3002" echo " ~geohot" +