23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/chef/mixin/path_sanity.rb', line 23
def enforce_path_sanity(env=ENV)
if Chef::Config[:enforce_path_sanity]
path_separator = Chef::Platform.windows? ? ';' : ':'
existing_paths = env["PATH"].split(path_separator)
paths_to_add = []
paths_to_add << ruby_bindir unless sane_paths.include?(ruby_bindir)
paths_to_add << gem_bindir unless sane_paths.include?(gem_bindir)
paths_to_add << sane_paths if sane_paths
paths_to_add.flatten!.compact!
paths_to_add.each do |sane_path|
unless existing_paths.include?(sane_path)
env_path = env["PATH"].dup
env_path << path_separator unless env["PATH"].empty?
env_path << sane_path
env["PATH"] = env_path
end
end
end
end
|