On 1/15/21 11:52 AM, Stuart Henderson wrote: > On 2021/01/14 18:39, Giovanni Bechis wrote: >> 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. > > This is a good hint that users should be looking at updating to newer > puppet ;) > Puppet6 agent works but there is no Puppet6 master port atm. I think that similar warnings will be emitted if starting puppetmaster 5.5 on Ruby2.7.
Giovanni