Method: Chef::Provider::Package::Msu#load_current_resource

Defined in:
lib/chef/provider/package/msu.rb

#load_current_resourceObject



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/chef/provider/package/msu.rb', line 42

def load_current_resource
  @current_resource = Chef::Resource::MsuPackage.new(new_resource.name)

  # download file if source is a url
  msu_file = uri_scheme?(new_resource.source) ? download_source_file : new_resource.source

  # temp directory where the contents of msu file get extracted
  @temp_directory = Dir.mktmpdir("chef")
  extract_msu_contents(msu_file, @temp_directory)
  @cab_files = read_cab_files_from_xml(@temp_directory)

  if @cab_files.empty?
    raise Chef::Exceptions::Package, "Corrupt MSU package: MSU package XML does not contain any cab file"
  else
    current_resource.version(get_current_versions)
  end

  current_resource
end