]> 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 c27a5d4046456fce8854ac78d4a8daa98742a69a..c321ddb107abdaebc7a8805c05ea44dbcf50d92d 100755 (executable)
@@ -25,23 +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 postgresql-10-postgis-scripts \
                             apache2 php php-pgsql libapache2-mod-php \
-                            php-intl git
+                            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
 
-    composer global require "squizlabs/php_codesniffer=*"
-    sudo ln -s ~/.config/composer/vendor/bin/phpcs /usr/bin/
+    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