diff --git a/scripts/lib/ruby3hack.rb b/scripts/lib/ruby3hack.rb new file mode 100644 index 0000000000..7b78b52706 --- /dev/null +++ b/scripts/lib/ruby3hack.rb @@ -0,0 +1,7 @@ +# Work around https://bugs.launchpad.net/ubuntu/+source/puppet/+bug/1969939. + +require 'fileutils' + +def FileUtils.symlink(src, dest, options = {}, **kwargs) + FileUtils.ln_s(src, dest, **options, **kwargs) +end diff --git a/scripts/zulip-puppet-apply b/scripts/zulip-puppet-apply index 26c97e82a6..d0b9de3622 100755 --- a/scripts/zulip-puppet-apply +++ b/scripts/zulip-puppet-apply @@ -65,6 +65,8 @@ puppet_env["FACTER_zulip_scripts_path"] = scripts_path # This is to suppress Puppet warnings with ruby 2.7. if (distro_info["ID"], distro_info["VERSION_ID"]) in [("ubuntu", "20.04")]: puppet_env["RUBYOPT"] = "-W0" +if (distro_info["ID"], distro_info["VERSION_ID"]) in [("ubuntu", "22.04")]: + puppet_env["RUBYOPT"] = "-r " + os.path.join(scripts_path, "lib", "ruby3hack.rb") if not args.noop and not args.force: # --noop does not work with --detailed-exitcodes; see https://tickets.puppetlabs.com/browse/PUP-686