diff --git a/Dockerfile b/Dockerfile index 6dbc3f1..251527e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # You can change this to any version of ubuntu with little consequence -FROM ubuntu:14.04 +FROM ros:indigo MAINTAINER George Burdell contactgtagency@gmail.com # Setup apt to be happy with no console input diff --git a/circle.yml b/circle.yml index 29b9253..7c5124f 100644 --- a/circle.yml +++ b/circle.yml @@ -2,6 +2,7 @@ machine: services: - docker + checkout: post: # Make sure that submodules are really, truly up to date @@ -14,8 +15,9 @@ dependencies: - ./DoCIF/commands/buildbaseimage.sh # Actually the test step - ./DoCIF/commands/runtests.sh - cache_directories: +cache_directories: # This shouldn't actually cache anything because config.docif says not to + # TODO add directories that should be cached in addition to ccache - ~/.ccache # See $CACHE_DIRECTORIES in config.docif # The test phase dosen't actually run tests. We need the caching from the deploy step. diff --git a/install b/install index 2d4f1b7..65805dc 100755 --- a/install +++ b/install @@ -8,7 +8,7 @@ # Takes the same arguments as apt-get safe-apt-get() { i=0 - + # Wait while the dpkg lock is set while fuser /var/lib/dpkg/lock >/dev/null 2>&1 ; do case $(($i % 4)) in @@ -17,10 +17,10 @@ safe-apt-get() { 2 ) j="|" ;; 3 ) j="/" ;; esac - echo -en "\r[$j] Waiting for other software managers to finish..." + echo -en "\r[$j] Waiting for other software managers to finish..." sleep 0.5 ((i=i+1)) - done + done sudo apt-get "$@" } @@ -30,18 +30,18 @@ set -e # need this to be able to install ds4drv and urllib3[secure], and this should # be done outside the virtualenvironment -safe-apt-get -y install python-dev libffi-dev libssl-dev libxml2-dev +safe-apt-get -y install python-dev libffi-dev libssl-dev libxml2-dev python-pip safe-apt-get -y install libxslt1-dev libjpeg8-dev zlib1g-dev # install virtualenv for python2 and create a virtual environment -safe-apt-get -y install python-virtualenv +sudo pip install virtualenv python -m virtualenv . # activate the virtualenv we just created source bin/activate # remove a name conflict with catkin_make later -rm local/buzzmobile +rm -f local/buzzmobile # default pip version in a venv is 1.5.4, we want to upgrade to a newer version # that supports anylinux wheels, specifically this is for OpenCV and @@ -75,14 +75,16 @@ safe-apt-get install -y psmisc safe-apt-get install -y build-essential cmake libqt4-dev libxml2-dev libxslt1-dev python-dev qtmobility-dev python-pip python-qt4 # pyqt only installs at a system level, which means we need to symlink -ln -s /usr/lib/python2.7/dist-packages/PyQt4/ ./lib/python2.7/site-packages/ -ln -s /usr/lib/python2.7/dist-packages/sip.so ./lib/python2.7/site-packages/ +ln -sf /usr/lib/python2.7/dist-packages/PyQt4/ ./lib/python2.7/site-packages/ +ln -sf /usr/lib/python2.7/dist-packages/sip.so ./lib/python2.7/site-packages/ # --------- # Everything above this point has been installing various python dependencies # for things we do. Stuff below this is the ros build and install. -sudo rosdep init # This can only be run once. Possible enhancement, check this +# This can only be run once without it failing. +# TODO make this avoid running 'rosdep init' if we already have ros installed +sudo rosdep init || true rosdep update # Build our project and install rosdeps