On 1/14/21 5:21 PM, Giovanni Bechis wrote: > On 1/14/21 5:14 PM, Jeremy Evans wrote: >> On Thu, Jan 14, 2021 at 12:01 AM Klemens Nanni <k...@openbsd.org> wrote: >> >>> On Thu, Jan 14, 2021 at 08:46:26AM +0100, Giovanni Bechis wrote: >>>> Hi, >>>> on current (packages as of today) Puppet cannot start anymore, >>>> the error is the following: >>>> >>>> [~]$ doas puppet agent -t >>>> /usr/local/lib/ruby/site_ruby/2.7/puppet/util.rb:461: warning: >>> URI.escape is obsolete >>>> cannot load such file -- sync >>> Reads like switching ruby's default version from 2.6 to 2.7 caused this. >>> >>> You could try building Puppet 5.5 with Ruby 2.6 altough most of its >>> 2.6 flavored dependencies have already been unhooked, not sure how you >>> get with this. >>> >> >> Building the port for Ruby 2.6 should work fine if you manually specify >> MODRUBY_REV: >> >> MODRUBY_REV=2.6 make package >> >> You'll want to do this for both facter and ruby-puppet/5. >> >> >>> Perhaps patching `URI.escape' with whatever superseeded it is the way to >>> go here. >>> >> >> The URI.escape issue is just a warning in 2.7. It will break in Ruby 3.0, >> though. >> > URI.escape is just a warning, I think the real problem is "cannot load such > file -- sync". > sync gem has been removed from Ruby 2.7, I think it should be ported. > https://docs.ruby-lang.org/en/2.7.0/NEWS.html#label-Compatibility+issues+-28excluding+feature+bug+fixes-29 > Attached is a wip port of ruby-sync (created with portgen in few minutes), puppet 5.5 now works even if with a lot of deprecated warnings like: /usr/local/lib/ruby/site_ruby/2.7/puppet/util.rb:461: warning: URI.escape is obsolete /usr/local/lib/ruby/site_ruby/2.7/puppet/indirector/request.rb:283: warning: URI.unescape is obsolete /usr/local/lib/ruby/site_ruby/2.7/puppet/file_system/file_impl.rb:80: warning: Using the last argument as keyword parameters is deprecated
I do not know if it's worth to silence them or not. Giovanni
ruby-sync.tgz
Description: application/compressed-tar