Print a nice message when readlink/readpath support is bad.

This commit is contained in:
Sergio Benitez 2016-12-25 22:23:54 -06:00
parent eb8d973abd
commit f86b1cd775

View File

@ -6,11 +6,16 @@ function relative() {
local full_path="${SCRIPT_DIR}/../${1}" local full_path="${SCRIPT_DIR}/../${1}"
if [ -d "${full_path}" ]; then if [ -d "${full_path}" ]; then
# Use readlink as a fallback to readpath for cross-platform compat. # Try to use readlink as a fallback to readpath for cross-platform compat.
if ! command -v realpath >/dev/null 2>&1; then if command -v realpath >/dev/null 2>&1; then
echo $(realpath "${full_path}")
elif ! (readlink -f 2>&1 | grep illegal > /dev/null); then
echo $(readlink -f "${full_path}") echo $(readlink -f "${full_path}")
else else
echo $(realpath "${full_path}") echo "Rocket's scripts require 'realpath' or 'readlink -f' support." >&2
echo "Install realpath or GNU readlink via your package manager." >&2
echo "Aborting." >&2
exit 1
fi fi
else else
# when the directory doesn't exist, fallback to this. # when the directory doesn't exist, fallback to this.
@ -18,11 +23,11 @@ function relative() {
fi fi
} }
EXAMPLES_DIR=$(relative "examples") EXAMPLES_DIR=$(relative "examples") || exit $?
LIB_DIR=$(relative "lib") LIB_DIR=$(relative "lib") || exit $?
CODEGEN_DIR=$(relative "codegen") CODEGEN_DIR=$(relative "codegen") || exit $?
CONTRIB_DIR=$(relative "contrib") CONTRIB_DIR=$(relative "contrib") || exit $?
DOC_DIR=$(relative "target/doc") DOC_DIR=$(relative "target/doc") || exit $?
if [ "${1}" = "-p" ]; then if [ "${1}" = "-p" ]; then
echo $SCRIPT_DIR echo $SCRIPT_DIR