FS#70675 - [puppet] Does not work with ruby 3.0
Attached to Project:
Community Packages
Opened by Michal Svoboda (pht) - Sunday, 02 May 2021, 06:06 GMT
Last edited by Tim (bastelfreak) - Friday, 21 May 2021, 10:12 GMT
Opened by Michal Svoboda (pht) - Sunday, 02 May 2021, 06:06 GMT
Last edited by Tim (bastelfreak) - Friday, 21 May 2021, 10:12 GMT
|
Details
Description: Puppet does work with ruby 3.0 being the system
default. This is due to missing 'uri_encode' which was
intentionally deprecated in ruby 2.7 and removed in 3.0.
A comment in the affected file indicates that puppet devs don't plan to remove use of this method soon. So perhaps we need a way to run puppet with the older ruby 2.6? Steps to reproduce: run 'puppet' from command line: /usr/lib/ruby/vendor_ruby/3.0.0/puppet/util.rb:476:in `uri_encode': undefined method `escape' for URI:Module (NoMethodError) [stack trace here] |
thanks for raising this issue. Puppet has a few issues with Ruby3.0. I plan to rebuild it to work with Ruby2.7 instead as soon as I find some free time.
I rebuilt Puppet against Ruby 2.7 and just pushed it to community. We had a similar issue with more details at https://bugs.archlinux.org/task/70306. Please let me know if you still run into issues. As a heads up, we will soon remove the puppet5 package because it's EoL.