3b008d6fa6
'source' is actually a "bashism" and the POSIX-way of sourcing a file uses the single dot (which is arguably less readable). Both yield the same result, and since the script may now also be sourced from within the hacking directory, this commit expands the usage synopsis accordingly. Signed-off-by: martin f. krafft <madduck@madduck.net> Conflicts: hacking/env-setup
45 lines
1.4 KiB
Bash
Executable file
45 lines
1.4 KiB
Bash
Executable file
#!/bin/bash
|
|
# usage: source env-setup [-q]
|
|
# source hacking/env-setup [-q]
|
|
# . ./env-setup [-q]
|
|
# . ./hacking/env-setup [q]
|
|
# modifies environment for running Ansible from checkout
|
|
|
|
# When run using source as directed, $0 gets set to bash, so we must use $BASH_SOURCE
|
|
case "$0" in
|
|
(bash)
|
|
HACKING_DIR=${BASH_SOURCE%/*};;
|
|
(*)
|
|
HACKING_DIR=${0%/*};;
|
|
esac
|
|
# The below is an alternative to readlink -fn which doesn't exist on OS X
|
|
# Source: http://stackoverflow.com/a/1678636
|
|
FULL_PATH=`python -c "import os; print(os.path.realpath('$HACKING_DIR'))"`
|
|
ANSIBLE_HOME=`dirname "$FULL_PATH"`
|
|
|
|
PREFIX_PYTHONPATH="$ANSIBLE_HOME/lib"
|
|
PREFIX_PATH="$ANSIBLE_HOME/bin"
|
|
PREFIX_MANPATH="$ANSIBLE_HOME/docs/man"
|
|
|
|
[[ $PYTHONPATH != ${PREFIX_PYTHONPATH}* ]] && export PYTHONPATH=$PREFIX_PYTHONPATH:$PYTHONPATH
|
|
[[ $PATH != ${PREFIX_PATH}* ]] && export PATH=$PREFIX_PATH:$PATH
|
|
export ANSIBLE_LIBRARY="$ANSIBLE_HOME/library"
|
|
[[ $MANPATH != ${PREFIX_MANPATH}* ]] && export MANPATH=$PREFIX_MANPATH:$MANPATH
|
|
|
|
# Print out values unless -q is set
|
|
|
|
if [ $# -eq 0 -o "$1" != "-q" ] ; then
|
|
echo ""
|
|
echo "Setting up Ansible to run out of checkout..."
|
|
echo ""
|
|
echo "PATH=$PATH"
|
|
echo "PYTHONPATH=$PYTHONPATH"
|
|
echo "ANSIBLE_LIBRARY=$ANSIBLE_LIBRARY"
|
|
echo "MANPATH=$MANPATH"
|
|
echo ""
|
|
|
|
echo "Remember, you may wish to specify your host file with -i"
|
|
echo ""
|
|
echo "Done!"
|
|
echo ""
|
|
fi
|