forked from platypush/platypush
28 lines
945 B
Bash
Executable file
28 lines
945 B
Bash
Executable file
#!/bin/sh
|
|
|
|
# This script parses the system requirements for a specific OS and it runs the
|
|
# appropriate package manager command to install them.
|
|
|
|
# This script is usually symlinked in the folders of the individual operating
|
|
# systems, and it's not supposed to be invoked directly.
|
|
# Instead, it will be called either by the root install.sh script or by a
|
|
# Dockerfile.
|
|
|
|
SCRIPT_PATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
|
|
OS="$(basename "$SCRIPT_PATH")"
|
|
CMD="$(cat "${SCRIPT_PATH}/PKGCMD")"
|
|
REQUIREMENTS="$(cat "${SCRIPT_PATH}/../../requirements/${OS}.txt" | tr '\n' ' ')"
|
|
SUDO=
|
|
|
|
# If we aren't running in a Docker context, or the user is not root, we should
|
|
# use sudo to install system packages.
|
|
if [ $(id -u) -ne 0 ] || [ -z "$DOCKER_CTX" ]; then
|
|
if ! type sudo >/dev/null; then
|
|
echo "sudo executable not found, I can't install system packages" >&2
|
|
exit 1
|
|
fi
|
|
|
|
SUDO="sudo"
|
|
fi
|
|
|
|
${SUDO_ARGS} ${CMD} ${REQUIREMENTS}
|