module PoiseLanguages::Scl::Mixin::ClassMethods
Public Instance Methods
default_inversion_options(node, resource)
click to toggle source
Set some default inversion provider options. Package name can't get a default value here because that would complicate the handling of {system_package_candidates}.
@api private
Calls superclass method
# File lib/poise_languages/scl/mixin.rb, line 94 def default_inversion_options(node, resource) super.merge({ # Install dev headers? dev_package: true, # Manual overrides for package name and/or version. package_name: nil, package_version: nil, # Set to true to use action :upgrade on system packages. package_upgrade: false, }) end
find_scl_package(node, version)
click to toggle source
# 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)
click to toggle source
# 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
Private Instance Methods
included(klass)
click to toggle source
Calls superclass method
# File lib/poise_languages/scl/mixin.rb, line 124 def included(klass) super klass.extend(ClassMethods) end
scl_package(version, name, devel_name=nil, platform_version='>= 6.0')
click to toggle source
# File lib/poise_languages/scl/mixin.rb, line 120 def scl_package(version, name, devel_name=nil, platform_version='>= 6.0') scl_packages << {version: version, name: name, devel_name: devel_name, platform_version: ::Gem::Requirement.create(platform_version)} end
scl_packages()
click to toggle source
# File lib/poise_languages/scl/mixin.rb, line 116 def scl_packages @scl_packages ||= [] end