At least as far as I have tested with my puppet installations, it is
just a single line of code that needs to be fixed:

Line 124 in /usr/lib/ruby/vendor_ruby/puppet/file_system/file_impl.rb

    FileUtils.symlink(path, dest, options)


where ruby 3 accepts only two unnamed parameters here. Removing the third 
parameter options here make puppet 5 from the ubuntu package run for me, but I 
am not actually sure and haven't seen a case where the options are actually 
used. Technically, and since options is a hash of options, the natural way 
would be to use **options instead, but I am not sure, what kind of options 
could come and whether they conform to the ruby 3 API. 

However, for the moment my workaround and quickfix is to just insert **
before options or to completely omit this third parameter.

This is not really a good solution, since puppet 5 is out of maintenance
anyway and should be replaced by puppet 7, but maybe this could buy some
time to allow creating a puppet 7 package or wait for the debian team in
a relaxed way.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1969939

Title:
  puppet 5 package incompatible with ruby 3 / ubuntu 22.04

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/puppet/+bug/1969939/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to