diff --git a/kitchen.yml b/kitchen.yml index 426f14d2..a43ebc65 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -14,6 +14,7 @@ verifier: platforms: - name: centos-7 - name: centos-8 + - name: centos-stream-9 - name: fedora-latest - name: debian-10 - name: debian-11 diff --git a/libraries/package_deps.rb b/libraries/package_deps.rb index f9b2e3b2..629aa7bc 100644 --- a/libraries/package_deps.rb +++ b/libraries/package_deps.rb @@ -6,6 +6,7 @@ def install_ruby_dependencies when /^jruby-/ package jruby_package_deps else + enable_crb_repository_if_needed package_deps.each do |deps| package deps end @@ -23,6 +24,29 @@ def ensure_java_environment Chef::Log.info 'The java cookbook does not appear to in the run_list.' end + def enable_crb_repository_if_needed + return unless node['platform_family'] == 'rhel' && node['platform_version'].to_i >= 9 + + repository_name = case node['platform'] + when 'centos' + 'crb' + when 'almalinux', 'rocky' + 'crb' + when 'redhat' + 'codeready-builder-for-rhel-9-x86_64-rpms' + else + 'crb' # Default for other RHEL 9+ derivatives + end + + # Install dnf-plugins-core if not already present + package 'dnf-plugins-core' + + execute "enable #{repository_name} repository" do + command "dnf config-manager --set-enabled #{repository_name}" + not_if "dnf repolist enabled | grep -q #{repository_name}" + end + end + def jruby_package_deps case node['platform_family'] when 'rhel', 'fedora', 'amazon'