Merge pull request #38804 from alexbleotu/root_dir_fix-2016.3-gh

Second attempt to fix prepending of root_dir to paths
This commit is contained in:
C. R. Oldham 2017-02-02 09:10:36 -07:00 committed by GitHub
commit cd8077ab81

View file

@ -1753,11 +1753,22 @@ def prepend_root_dir(opts, path_options):
'''
root_dir = os.path.abspath(opts['root_dir'])
root_opt = opts['root_dir'].rstrip(os.sep)
def_root_dir = salt.syspaths.ROOT_DIR.rstrip(os.sep)
for path_option in path_options:
if path_option in opts:
path = opts[path_option]
if path == root_opt or path.startswith(root_opt + os.sep):
# When running testsuite, salt.syspaths.ROOT_DIR is often empty
if def_root_dir != '' and (path == def_root_dir or path.startswith(def_root_dir + os.sep)):
# Remove the default root dir so we can add the override
path = path[len(def_root_dir):]
elif path == root_opt or path.startswith(root_opt + os.sep):
# Remove relative root dir so we can add the absolute root dir
path = path[len(root_opt):]
elif os.path.isabs(path_option):
# Absolute path (not default or overriden root_dir)
# No prepending required
continue
# Prepending the root dir
opts[path_option] = salt.utils.path_join(root_dir, path)