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
Task Type Bug Report
Category Packages
Status Closed
Assigned To Thore Bödecker (foxxx0)
Tim (bastelfreak)
Architecture x86_64
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

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]
Closed by  Tim (bastelfreak)
Friday, 21 May 2021, 10:12 GMT
Reason for closing:  Fixed
Comment by Tim (bastelfreak) - Sunday, 02 May 2021, 18:18 GMT
Hi,
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.
Comment by Tim (bastelfreak) - Friday, 21 May 2021, 10:12 GMT
Hi,
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.

Loading...