merge upstream phpxmlrpc
[plcapi.git] / php / phpxmlrpc / tests / ci / setup / setup_composer.sh
1 #!/bin/sh
2
3 # Installs Composer (latest version, to avoid relying on old ones bundled with the OS)
4 # @todo allow users to lock down to Composer v1 if needed
5
6 if dpkg -l composer 2>/dev/null; then
7     apt-get remove -y composer
8 fi
9
10 ### Code below taken from https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md
11
12 EXPECTED_SIGNATURE="$(wget -q -O - https://composer.github.io/installer.sig)"
13 php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
14 ACTUAL_SIGNATURE="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
15
16 if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ]
17 then
18     >&2 echo 'ERROR: Invalid installer signature'
19     rm composer-setup.php
20     exit 1
21 fi
22
23 php composer-setup.php --quiet --install-dir=/usr/local/bin
24 RESULT=$?
25 rm composer-setup.php
26
27 ###
28
29 if [ -f /usr/local/bin/composer.phar -a "$RESULT" = 0 ]; then
30     mv /usr/local/bin/composer.phar /usr/local/bin/composer && chmod 755 /usr/local/bin/composer
31 fi
32
33 exit $RESULT