On Thu, Jan 14, 2021 at 12:01 AM Klemens Nanni <[email protected]> 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.

If Puppet 6 works with Ruby 2.7, then one option is upgrading to that.
However, I'm not sure how involved that is

If we want Puppet 5 to use Ruby 2.6, that's not hard, but I think then we
either need to force Puppet 6 and facter to also use Ruby 2.6, or we need
to FLAVOR the facter port so it can be built for multiple versions of Ruby,
and have each Puppet version specify the FLAVOR it needs.

Thanks,
Jeremy

Reply via email to