* Support more OSes at `__trashman_distro()`.
* Argument passing to distro/action scripts as `--param=value`.
* Packages:
- * docker, nodejs, composer
* https://github.com/Crizstian/cinema-microservice
* http://mongotron.io/
--- /dev/null
+dependency manager for PHP
--- /dev/null
+#!/usr/bin/env sh
+#
+# Check if composer is installed system-wide.
+#
+
+if [ -x "/usr/local/bin/composer" ]; then
+ exit 0
+fi
+
+if [ ! -x "/usr/local/bin/composer" ]; then
+ exit 1
+fi
+
+exit 2
--- /dev/null
+#!/usr/bin/env sh
+#
+# Install composer system-wide.
+#
+# See https://getcomposer.org/download/
+# https://composer.github.io/pubkeys.html
+#
+
+# Parameters
+SHARE="$1"
+
+# Include basic functions
+. $SHARE/trashman/functions || exit 1
+
+# Requirements
+__trashman_require php wget
+
+# Download
+#php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
+wget https://getcomposer.org/installer -O composer-setup.php || exit 1
+
+php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
+
+if [ -e "composer-setup.php" ]; then
+ php composer-setup.php --install-dir=/usr/local/bin --filename=composer
+ #php -r "unlink('composer-setup.php');"
+ rm composer-setup.php
+fi
--- /dev/null
+#!/usr/bin/env sh
+#
+# Remove composer system-wide.
+#
+
+# Remove docker
+rm -rf /usr/local/bin/composer
--- /dev/null
+#!/usr/bin/env sh
+#
+# Test if composer is running correctly.
+#
+
+# Parameters
+SHARE="$1"
+
+# Include basic functions
+. $SHARE/trashman/functions || exit 1
+
+# Basic test
+if ! which composer > /dev/null 2>&1; then
+ exit 1
+fi
+
+# Run hello-world test program
+__trashman_echo_keepline "Testing program output... "
+composer -V
+status="$?"
+
+# Test exit status
+if [ "$status" != "0" ]; then
+ exit 1
+fi
+
+# Success
+exit 0