diff options
author | Lamont Granquist <lamont@opscode.com> | 2012-11-19 15:55:57 -0800 |
---|---|---|
committer | Lamont Granquist <lamont@opscode.com> | 2012-12-19 15:53:53 -0800 |
commit | 129869107e5b293e3dd7c18de161e3e7584aa3bd (patch) | |
tree | e4be3407aa6b08b571c13d2d9f445b67a9484da6 /lib/chef/win32/registry.rb | |
parent | 3660fde303e23eb5c5b68403826d6f5bb7142e4c (diff) | |
download | chef-129869107e5b293e3dd7c18de161e3e7584aa3bd.tar.gz |
fixes to architecture code
Diffstat (limited to 'lib/chef/win32/registry.rb')
-rw-r--r-- | lib/chef/win32/registry.rb | 37 |
1 files changed, 10 insertions, 27 deletions
diff --git a/lib/chef/win32/registry.rb b/lib/chef/win32/registry.rb index 14be2a64b5..9e50716e46 100644 --- a/lib/chef/win32/registry.rb +++ b/lib/chef/win32/registry.rb @@ -34,46 +34,29 @@ class Chef attr_accessor :run_context attr_accessor :architecture, :machine - #@@native_architecture = ENV['PROCESSOR_ARCHITEW6432'] == 'AMD64' ? 0x0100 : 0x0200 - - def initialize(run_context=nil, requested_architecture=:machine) + def initialize(run_context=nil, user_architecture=:machine) @run_context = run_context - assert_architecture!(requested_architecture) - @architecture = architecture_for_request(requested_architecture) + self.architecture = user_architecture end def node run_context && run_context.node end - def assert_architecture!(requested_architecture) - if native_architecture_32bit? && requested_architecture_64bit?(requested_architecture) - raise Chef::Exceptions::Win32RegArchitectureIncorrect, "message" + def assert_architecture! + if node[:kernel][:machine] == "i386" && architecture == "x86_64" + raise Chef::Exceptions::Win32RegArchitectureIncorrect, "cannot access 64-bit registry on a 32-bit windows instance" end end - def native_architecture_32bit? - native_architecture == "i386" - end - - def requested_architecture_64bit?(requested_architecture) - requested_architecture == "x86_64" - end - - def native_architecture - node[:kernel][:machine] - end - - def architecture_for_request(requested_architecture) - if requested_architecture == :machine - native_architecture - else - requested_architecture - end + def architecture=(user_architecture) + @architecture = user_architecture + assert_architecture! end def registry_system_architecture - @architecture == 'x86_64' ? 0x0100 : 0x0200 + applied_arch = ( architecture == :machine ) ? node[:kernel][:machine] : architecture + ( applied_arch == 'x86_64' ) ? 0x0100 : 0x0200 end def get_values(key_path) |