From 25c87cc7da800f6d314f34708cf6cf4720fcdd68 Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Fri, 29 Apr 2022 16:07:55 -0700 Subject: [PATCH] zulip-puppet-apply: Work around broken Puppet on Ubuntu 22.04. Signed-off-by: Anders Kaseorg --- scripts/lib/ruby3hack.rb | 7 +++++++ scripts/zulip-puppet-apply | 2 ++ 2 files changed, 9 insertions(+) create mode 100644 scripts/lib/ruby3hack.rb 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