summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Clay <matt@mystile.com>2018-08-13 18:19:04 -0700
committerMatt Davis <nitzmahone@users.noreply.github.com>2018-08-13 18:19:04 -0700
commitd19ef234bd6972e390ef5ccd6f57cbc5a31916fd (patch)
tree58f9d27fb3208c8d11f0ea02d9a6285bf7bb5cf0
parentf73ac53e58ad6b6a14d081462c0f9420ef1a300f (diff)
downloadansible-d19ef234bd6972e390ef5ccd6f57cbc5a31916fd.tar.gz
Fix path handling in hacking/env-setup. (#44086)
(cherry picked from commit 0392dbeba19d742741f95903de6e048f65510a50)
-rw-r--r--hacking/env-setup22
1 files changed, 19 insertions, 3 deletions
diff --git a/hacking/env-setup b/hacking/env-setup
index 961c6bdcc1..bef6841273 100644
--- a/hacking/env-setup
+++ b/hacking/env-setup
@@ -1,6 +1,22 @@
# usage: source hacking/env-setup [-q]
# modifies environment for running Ansible from checkout
+# prepend a value to a potentially empty path variable
+# usage: prepend_path variable_name value
+prepend_path()
+{
+ variable_name="$1"
+ value="$2"
+
+ old_value=$( eval "echo \$$variable_name" )
+
+ if [ "x$old_value" != "x" ]; then
+ value="$value:"
+ fi
+
+ export "$variable_name=$value$old_value"
+}
+
# Default values for shell variables we use
PYTHONPATH=${PYTHONPATH-""}
PATH=${PATH-""}
@@ -34,9 +50,9 @@ PREFIX_PYTHONPATH="$ANSIBLE_HOME/lib"
PREFIX_PATH="$ANSIBLE_HOME/bin:$ANSIBLE_HOME/test/runner"
PREFIX_MANPATH="$ANSIBLE_HOME/docs/man"
-expr "$PYTHONPATH" : "${PREFIX_PYTHONPATH}.*" > /dev/null || export PYTHONPATH="$PREFIX_PYTHONPATH:$PYTHONPATH"
-expr "$PATH" : "${PREFIX_PATH}.*" > /dev/null || export PATH="$PREFIX_PATH:$PATH"
-expr "$MANPATH" : "${PREFIX_MANPATH}.*" > /dev/null || export MANPATH="$PREFIX_MANPATH:$MANPATH"
+expr "$PYTHONPATH" : "${PREFIX_PYTHONPATH}.*" > /dev/null || prepend_path PYTHONPATH "$PREFIX_PYTHONPATH"
+expr "$PATH" : "${PREFIX_PATH}.*" > /dev/null || prepend_path PATH "$PREFIX_PATH"
+expr "$MANPATH" : "${PREFIX_MANPATH}.*" > /dev/null || prepend_path MANPATH "$PREFIX_MANPATH"
#
# Generate egg_info so that pkg_resources works