]> git.openstreetmap.org Git - nominatim.git/blobdiff - vagrant/Install-on-Ubuntu-18.sh
Install phpunit 8 on Ubuntu 18 with composer
[nominatim.git] / vagrant / Install-on-Ubuntu-18.sh
index 062d7ceebe26a66e34e388e9ee6f44202cf965a8..c321ddb107abdaebc7a8805c05ea44dbcf50d92d 100755 (executable)
@@ -25,21 +25,34 @@ export DEBIAN_FRONTEND=noninteractive #DOCS:
 # Now you can install all packages needed for Nominatim:
 
     sudo apt-get install -y build-essential cmake g++ libboost-dev libboost-system-dev \
-                            libboost-filesystem-dev libexpat1-dev zlib1g-dev libxml2-dev\
+                            libboost-filesystem-dev libexpat1-dev zlib1g-dev\
                             libbz2-dev libpq-dev libproj-dev \
                             postgresql-server-dev-10 postgresql-10-postgis-2.4 \
-                            postgresql-contrib-10 \
-                            apache2 php php-pgsql libapache2-mod-php php-pear php-db \
-                            php-intl git
+                            postgresql-contrib-10 postgresql-10-postgis-scripts \
+                            apache2 php php-pgsql libapache2-mod-php \
+                            php-intl python3-setuptools python3-dev python3-pip \
+                            python3-psycopg2 python3-tidylib git
 
 # If you want to run the test suite, you need to install the following
-# additional packages:
-
-    sudo apt-get install -y python3-setuptools python3-dev python3-pip \
-                            python3-psycopg2 python3-tidylib phpunit php-cgi
+# additional packages including the PHP package manager composer:
 
     pip3 install --user behave nose
-    sudo pear install PHP_CodeSniffer
+
+    sudo apt-get install -y php-cgi php-cli php-mbstring php-xml zip unzip
+
+    curl -Ss 'https://raw.githubusercontent.com/composer/getcomposer.org/99312bc6306564ac1f0ad2c6207c129b3aff58d6/web/installer' -o /tmp/composer-setup.php
+    if echo 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a /tmp/composer-setup.php' | sha384sum --check --strict --status; then
+        mkdir -p ~/.local/bin
+        php /tmp/composer-setup.php --install-dir ~/.local/bin --filename composer
+
+        ~/.local/bin/composer global require "squizlabs/php_codesniffer=*"
+        sudo ln -s ~/.config/composer/vendor/bin/phpcs /usr/bin/
+
+        ~/.local/bin/composer global require "phpunit/phpunit=8.*"
+        sudo ln -s ~/.config/composer/vendor/bin/phpunit /usr/bin/
+    else
+        echo 'Installer corrupt. Cannot install composer, php_codesniffer and phpunit.' >&2
+    fi
 
 #
 # System Configuration
@@ -77,7 +90,7 @@ export DEBIAN_FRONTEND=noninteractive #DOCS:
 # ---------------------
 #
 # Tune the postgresql configuration, which is located in 
-# `/etc/postgresql/9.5/main/postgresql.conf`. See section *Postgres Tuning* in
+# `/etc/postgresql/10/main/postgresql.conf`. See section *Postgres Tuning* in
 # [the installation page](../admin/Installation.md#postgresql-tuning)
 # for the parameters to change.
 #