diff --git a/configs/components/pl-ruby-patch.rb b/configs/components/pl-ruby-patch.rb index 94e3aa592..db751e2a0 100644 --- a/configs/components/pl-ruby-patch.rb +++ b/configs/components/pl-ruby-patch.rb @@ -54,11 +54,15 @@ end # make rubygems use our target rbconfig when installing gems - case File.basename(base_ruby) - when '2.0.0', '2.1.0' + base_version = Gem::Version.new(File.basename(base_ruby)) + if base_version <= Gem::Version.new('2.1.0') sed_command = %(s|Gem.ruby|&, '-r/opt/puppetlabs/puppet/share/doc/rbconfig-#{settings[:ruby_version]}-orig.rb'|) - else + elsif base_version <= Gem::Version.new('3.2.2') + sed_command = %(s|Shellwords.split(Gem.ruby)|& << '-r/opt/puppetlabs/puppet/share/doc/rbconfig-#{settings[:ruby_version]}-orig.rb'|) + elsif base_version <= Gem::Version.new('3.2.4') sed_command = %(s|Gem.ruby.shellsplit|& << '-r/opt/puppetlabs/puppet/share/doc/rbconfig-#{settings[:ruby_version]}-orig.rb'|) + else + raise "pl-ruby-patch does not support ruby #{base_version} yet" end # rubygems switched which file has the command we need to patch starting in rubygems 3.4.10, which we install in our formula