X-Git-Url: https://git.openstreetmap.org/nominatim.git/blobdiff_plain/2a97ce6aed9af0ffc3c7d04e3d5dcbef4264c68a..71ae7f10f74251ebef13abe8d186276e6255b5d4:/vagrant/install-on-travis-ci.sh diff --git a/vagrant/install-on-travis-ci.sh b/vagrant/install-on-travis-ci.sh index 0bbf1cd4..ef9f03c4 100755 --- a/vagrant/install-on-travis-ci.sh +++ b/vagrant/install-on-travis-ci.sh @@ -1,34 +1,48 @@ #!/bin/bash -# This script runs in a travis-ci.org (or .com) virtual machine +# This script runs in a travis-ci.org virtual machine # https://docs.travis-ci.com/user/trusty-ci-environment/ # Ubuntu 14 (trusty) # user 'travis' -# $TRAVIS_BUILD_DIR is /home/travis/build/twain47/Nominatim/, for more see +# $TRAVIS_BUILD_DIR is /home/travis/build/openstreetmap/Nominatim/, for others see # https://docs.travis-ci.com/user/environment-variables/#Default-Environment-Variables -# Postgres 9.2 installed and started. role 'travis' already superuser -# Python 2.7.10, pip 7.1.2 +# Postgres 9.6 installed and started. role 'travis' already superuser +# Python 3.6 +# Travis has a 4 MB, 10000 line output limit, so where possible we run script --quiet -# Travis has a 4 MB, 10000 line output limit, so where possible we supress -# output from installation scripts -# Travis strips color from the output - -sudo service postgresql stop sudo apt-get update -qq sudo apt-get install -y -qq libboost-dev libboost-system-dev \ - libboost-filesystem-dev libexpat1-dev zlib1g-dev libxml2-dev\ - libbz2-dev libpq-dev libgeos-c1 libgeos++-dev libproj-dev \ - postgresql-server-dev-9.3 postgresql-9.3-postgis-2.1 postgresql-contrib-9.3 \ - apache2 php5 php5-pgsql php-pear php-db + libboost-filesystem-dev libexpat1-dev zlib1g-dev libxml2-dev\ + libbz2-dev libpq-dev libgeos-c1 libgeos++-dev libproj-dev \ + postgresql-server-dev-9.6 postgresql-9.6-postgis-2.3 postgresql-contrib-9.6 \ + apache2 php5 php5-pgsql php5-intl php-pear + +sudo apt-get install -y -qq python3-dev python3-pip python3-psycopg2 php5-cgi + +pip3 install --quiet behave nose pytidylib psycopg2-binary -sudo apt-get install -y -qq python-Levenshtein python-shapely \ - python-psycopg2 tidy python-nose python-tidylib \ - phpunit +# Travis uses phpenv to support multiple PHP versions. We need to make sure +# these packages get installed to the phpenv-set PHP (below /home/travis/.phpenv/), +# not the system PHP (/usr/bin/php) +sudo PHP_PEAR_PHP_BIN=`which php` pear -q install pear/PEAR-1.10.0 +sudo PHP_PEAR_PHP_BIN=`which php` pear -q install DB +sudo PHP_PEAR_PHP_BIN=`which php` pear -q install PHP_CodeSniffer +sudo PHP_PEAR_PHP_BIN=`which php` pear list +# re-populate the shims/ directory, e.g. adds phpcs +phpenv rehash +ls -la /home/travis/.phpenv/shims/ + +# $PHPENV_VERSION and $TRAVIS_PHP_VERSION are unset. +export PHPENV_VERSION=$(cat /home/travis/.phpenv/version) + +# add lib/php/pear to the PHP include path +tee /tmp/travis.php.ini << EOF +include_path = .:/home/travis/.phpenv/versions/$PHPENV_VERSION/share/pear:/home/travis/.phpenv/versions/$PHPENV_VERSION/lib/php/pear +EOF +phpenv config-add /tmp/travis.php.ini -sudo -H pip install --quiet 'setuptools>=23.0.0' lettuce==0.2.18 'six>=1.9' haversine -sudo service postgresql restart sudo -u postgres createuser -S www-data # Make sure that system servers can read from the home directory: @@ -40,6 +54,7 @@ sudo tee /etc/apache2/conf-available/nominatim.conf << EOFAPACHECONF > /dev/null Options FollowSymLinks MultiViews AddType text/html .php + DirectoryIndex search.php Require all granted @@ -50,6 +65,7 @@ EOFAPACHECONF sudo a2enconf nominatim sudo service apache2 restart +wget -O $TRAVIS_BUILD_DIR/data/country_osm_grid.sql.gz https://www.nominatim.org/data/country_grid.sql.gz mkdir build cd build @@ -60,4 +76,7 @@ make tee settings/local.php << EOF