summaryrefslogtreecommitdiff
path: root/lib/chef/mixin/path_sanity.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chef/mixin/path_sanity.rb')
-rw-r--r--lib/chef/mixin/path_sanity.rb42
1 files changed, 3 insertions, 39 deletions
diff --git a/lib/chef/mixin/path_sanity.rb b/lib/chef/mixin/path_sanity.rb
index c441d0770a..51f0595b4f 100644
--- a/lib/chef/mixin/path_sanity.rb
+++ b/lib/chef/mixin/path_sanity.rb
@@ -1,6 +1,6 @@
#
# Author:: Seth Chisamore (<schisamo@chef.io>)
-# Copyright:: Copyright 2011-2017, Chef Software Inc.
+# Copyright:: Copyright 2011-2018, Chef Software Inc.
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,48 +19,12 @@
class Chef
module Mixin
module PathSanity
-
+ # FIXME: deprecatad
def enforce_path_sanity(env = ENV)
if Chef::Config[:enforce_path_sanity]
- env["PATH"] = sanitized_path(env)
- end
- end
-
- def sanitized_path(env = ENV)
- env_path = env["PATH"].nil? ? "" : env["PATH"].dup
- path_separator = Chef::Platform.windows? ? ";" : ":"
- # ensure the Ruby and Gem bindirs are included
- # mainly for 'full-stack' Chef installs
- new_paths = env_path.split(path_separator)
- [ ruby_bindir, gem_bindir ].compact.each do |path|
- new_paths = [ path ] + new_paths unless new_paths.include?(path)
- end
- sane_paths.each do |path|
- new_paths << path unless new_paths.include?(path)
- end
- new_paths.join(path_separator).encode("utf-8", invalid: :replace, undef: :replace)
- end
-
- private
-
- def sane_paths
- @sane_paths ||= begin
- if Chef::Platform.windows?
- %w{}
- else
- %w{/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin}
- end
+ env["PATH"] = ChefHelpers::PathSanity.sanitized_path(env)
end
end
-
- def ruby_bindir
- RbConfig::CONFIG["bindir"]
- end
-
- def gem_bindir
- Gem.bindir
- end
-
end
end
end