(cherry picked from commit 0392dbeba19d742741f95903de6e048f65510a50)
Matt Clay authored on 2018/08/14 10:19:04... | ... |
@@ -1,6 +1,22 @@ |
1 | 1 |
# usage: source hacking/env-setup [-q] |
2 | 2 |
# modifies environment for running Ansible from checkout |
3 | 3 |
|
4 |
+# prepend a value to a potentially empty path variable |
|
5 |
+# usage: prepend_path variable_name value |
|
6 |
+prepend_path() |
|
7 |
+{ |
|
8 |
+ variable_name="$1" |
|
9 |
+ value="$2" |
|
10 |
+ |
|
11 |
+ old_value=$( eval "echo \$$variable_name" ) |
|
12 |
+ |
|
13 |
+ if [ "x$old_value" != "x" ]; then |
|
14 |
+ value="$value:" |
|
15 |
+ fi |
|
16 |
+ |
|
17 |
+ export "$variable_name=$value$old_value" |
|
18 |
+} |
|
19 |
+ |
|
4 | 20 |
# Default values for shell variables we use |
5 | 21 |
PYTHONPATH=${PYTHONPATH-""} |
6 | 22 |
PATH=${PATH-""} |
... | ... |
@@ -34,9 +50,9 @@ PREFIX_PYTHONPATH="$ANSIBLE_HOME/lib" |
34 | 34 |
PREFIX_PATH="$ANSIBLE_HOME/bin:$ANSIBLE_HOME/test/runner" |
35 | 35 |
PREFIX_MANPATH="$ANSIBLE_HOME/docs/man" |
36 | 36 |
|
37 |
-expr "$PYTHONPATH" : "${PREFIX_PYTHONPATH}.*" > /dev/null || export PYTHONPATH="$PREFIX_PYTHONPATH:$PYTHONPATH" |
|
38 |
-expr "$PATH" : "${PREFIX_PATH}.*" > /dev/null || export PATH="$PREFIX_PATH:$PATH" |
|
39 |
-expr "$MANPATH" : "${PREFIX_MANPATH}.*" > /dev/null || export MANPATH="$PREFIX_MANPATH:$MANPATH" |
|
37 |
+expr "$PYTHONPATH" : "${PREFIX_PYTHONPATH}.*" > /dev/null || prepend_path PYTHONPATH "$PREFIX_PYTHONPATH" |
|
38 |
+expr "$PATH" : "${PREFIX_PATH}.*" > /dev/null || prepend_path PATH "$PREFIX_PATH" |
|
39 |
+expr "$MANPATH" : "${PREFIX_MANPATH}.*" > /dev/null || prepend_path MANPATH "$PREFIX_MANPATH" |
|
40 | 40 |
|
41 | 41 |
# |
42 | 42 |
# Generate egg_info so that pkg_resources works |