Method: Windows::Pkg#puppet_agent_dev_package_info

Defined in:
lib/beaker/host/windows/pkg.rb

#puppet_agent_dev_package_info(puppet_collection = nil, puppet_agent_version = nil, opts = {}) ⇒ String

Note:

Windows only uses the ‘install_32’ option of the opts hash at this time. Note that it will not fail if not provided, however

Gets the path & file name for the puppet agent dev package on Windows

Parameters:

  • puppet_collection (String) (defaults to: nil)

    Name of the puppet collection to use

  • puppet_agent_version (String) (defaults to: nil)

    Version of puppet agent to get

  • opts (Hash{Symbol=>String}) (defaults to: {})

    Options hash to provide extra values

Returns:

  • (String, String)

    Path to the directory and filename of the package, respectively



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/beaker/host/windows/pkg.rb', line 60

def puppet_agent_dev_package_info( puppet_collection = nil, puppet_agent_version = nil, opts = {} )
  release_path_end = 'windows'
  is_config_32 = self['ruby_arch'] == 'x86' || self['install_32'] || opts['install_32']
  should_install_64bit = self.is_x86_64? && !is_config_32
  # only install 64bit builds if
  # - we do not have install_32 set on host
  # - we do not have install_32 set globally
  arch_suffix = should_install_64bit ? '64' : '86'
  # If a version was specified, use it; otherwise fall back to a default name.
  # Avoid when puppet_agent_version is set to a SHA, which isn't used in package names.
  if puppet_agent_version =~ /^\d+\.\d+\.\d+/
    release_file = "puppet-agent-#{puppet_agent_version}-x#{arch_suffix}.msi"
  else
    release_file = "puppet-agent-x#{arch_suffix}.msi"
  end
  return release_path_end, release_file
end