Module: PoiseLanguages::Scl::Mixin::ClassMethods

Included in:
PoiseLanguages::Scl::Mixin
Defined in:
lib/poise_languages/scl/mixin.rb

Instance Method Summary collapse

Instance Method Details

#find_scl_package(node, version) ⇒ Object



106
107
108
109
110
111
112
# File 'lib/poise_languages/scl/mixin.rb', line 106

def find_scl_package(node, version)
  platform_version = ::Gem::Version.create(node['platform_version'])
  # Filter out anything that doesn't match this EL version.
  candidate_packages = scl_packages.select {|p| p[:platform_version].satisfied_by?(platform_version) }
  # Find something with a prefix match on the Python version.
  candidate_packages.find {|p| p[:version].start_with?(version) }
end

#provides_auto?(node, resource) ⇒ Boolean

Returns:

  • (Boolean)


81
82
83
84
85
86
87
# File 'lib/poise_languages/scl/mixin.rb', line 81

def provides_auto?(node, resource)
  # They don't build 32-bit versions for these and only for RHEL/CentOS.
  # TODO: What do I do about Fedora and/or Amazon?
  return false unless node['kernel']['machine'] == 'x86_64' && node.platform?('redhat', 'centos')
  version = inversion_options(node, resource)['version']
  !!find_scl_package(node, version)
end