From 2e051caf941f1e8c723a75422232c4eb905ffa7d Mon Sep 17 00:00:00 2001 From: nmburgan <13688219+nmburgan@users.noreply.github.com> Date: Wed, 23 Jul 2025 13:27:55 -0700 Subject: [PATCH 1/4] Update components and remove PDK runtime This removes the PDK runtime project and components that were only used for it, since we intend to replace the PDK. Many of these component updates aren't strictly required, but doing so to stay as up to date as possible. Ones with CVE fixes are noted. Also, removed some versioning logic where the old version is no longer used, or in some cases added logic to ensure the most up-to-date components are used for OpenVox 8 when those version don't support Ruby 2.7 in OpenVox 7. For OpenVox (and some for Bolt): * Ruby 3.2.9 - This was actually done in a previous PR. Noting here that it addresses CVE-2025-24294 and CVE-2025-43857. * curl 8.15.0 * libffi 3.5.2 * libxml2 2.14.5 * openssl 3.0.17 * ruby-shadown 2.5.1 * rubygem-concurrent-ruby 1.3.5 * rubygem-fast_gettext 4.1.0 for OpenVox 8, 2.4.0 for OpenVox 7 * rubygem-gettext 3.5.1 * rubygem-hiera-eyaml 4.3.0 * rubygem-highline 3.1.2 * rubygem-mini_portile2 2.8.9 * rubygem-multi_json 1.17.0 for OpenVox 8 * rubygem-net-ssh 7.3.0 * rubygem-nokogiri 1.18.9 - Default libxml2 embedded in the gem contained CVE-2025-32414, CVE-2025-32415, CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, CVE-2025-49796 - However, we compile nokogiri against our own version of libxml2 which did not have these issues. Still, updating to avoid popping scanners. * rubygem-openfact 5.1.0 * rubygem-prime 0.1.4 * rubygem-rexml 3.4.2 * rubygem-sys-filesystem 1.5.3 (except for Solaris, which we are not building right now, but has to stay at 1.4.5) * rubygem-thor 1.4.0 * virt-what 1.27 For Bolt: * rubygem-aws-eventstream 1.4.0 * rubygem-aws-partitions 1.1154.0 * rubygem-aws-sdk-core 3.232.0 * rubygem-aws-sdk-ec2 1.555.0 * rubygem-aws-sigv4 1.12.1 * rubygem-bindata 2.5.1 * rubygem-colored2 4.0.3 * rubygem-ed25519 1.4.0 * rubygem-faraday-em_http 2.0.1 * rubygem-faraday-em_synchrony 1.0.1 * rubygem-faraday-excon 2.3.0 * rubygem-faraday-httpclient 2.0.2 * rubygem-faraday-multipart 1.1.1 * rubygem-faraday-net_http_persistent 2.3.1 * rubygem-faraday-net_http 3.4.1 * rubygem-faraday-patron 2.0.2 * rubygem-faraday-rack 2.1.3 * rubygem-faraday-retry 2.3.2 * rubygem-faraday 2.13.4 * rubygem-gettext-setup 1.1.0 * rubygem-httpclient 2.9.0 * rubygem-net-http-persistent 4.0.6 * rubygem-net-scp 4.1.0 * rubygem-public_suffix 6.0.2 * rubygem-puppet-resource_api 2.0.0 * rubygem-puppet-strings 5.0.0 * rubygem-puppet 8.10.0 (to be replaced with the OpenVox gem soon) * rubygem-r10k 5.0.2 * rubygem-rgen 0.10.2 * rubygem-rubyzip 3.0.2 * rubygem-terminal-table 4.0.0 * rubygem-unicode-display_width 3.1.5 * rubygem-webrick 1.9.1 * rubygem-yard 0.9.37 --- configs/components/ansicon.rb | 22 --- configs/components/augeas.rb | 1 - configs/components/curl.rb | 9 +- configs/components/git.rb | 137 ------------------ configs/components/libffi.rb | 4 +- configs/components/libxml2.rb | 4 +- configs/components/openssl-3.0.rb | 4 +- configs/components/post-additional-rubies.rb | 6 - configs/components/pre-additional-rubies.rb | 5 - configs/components/ruby-shadow.rb | 2 +- configs/components/rubygem-aws-eventstream.rb | 4 +- configs/components/rubygem-aws-partitions.rb | 4 +- configs/components/rubygem-aws-sdk-core.rb | 4 +- configs/components/rubygem-aws-sdk-ec2.rb | 4 +- configs/components/rubygem-aws-sigv4.rb | 4 +- configs/components/rubygem-bindata.rb | 4 +- configs/components/rubygem-bundler.rb | 22 --- configs/components/rubygem-childprocess.rb | 11 -- configs/components/rubygem-colored2.rb | 4 +- configs/components/rubygem-concurrent-ruby.rb | 12 +- configs/components/rubygem-connection_pool.rb | 4 + configs/components/rubygem-deep_merge.rb | 18 +-- configs/components/rubygem-diff-lcs.rb | 11 -- configs/components/rubygem-ed25519.rb | 4 +- configs/components/rubygem-faraday-em_http.rb | 4 +- .../rubygem-faraday-em_synchrony.rb | 4 +- configs/components/rubygem-faraday-excon.rb | 4 +- .../components/rubygem-faraday-httpclient.rb | 4 +- .../components/rubygem-faraday-multipart.rb | 4 +- .../components/rubygem-faraday-net_http.rb | 14 +- .../rubygem-faraday-net_http_persistent.rb | 14 +- configs/components/rubygem-faraday-patron.rb | 4 +- configs/components/rubygem-faraday-rack.rb | 4 +- configs/components/rubygem-faraday-retry.rb | 4 +- configs/components/rubygem-faraday.rb | 14 +- .../components/rubygem-faraday_middleware.rb | 11 -- configs/components/rubygem-fast_gettext.rb | 17 +-- configs/components/rubygem-getoptlong.rb | 11 -- configs/components/rubygem-gettext-setup.rb | 13 +- configs/components/rubygem-gettext.rb | 22 +-- configs/components/rubygem-hiera-eyaml.rb | 4 +- configs/components/rubygem-highline.rb | 6 +- configs/components/rubygem-hitimes.rb | 11 -- configs/components/rubygem-hocon.rb | 15 +- configs/components/rubygem-httpclient.rb | 6 +- configs/components/rubygem-json-schema.rb | 11 -- configs/components/rubygem-jwt.rb | 5 + configs/components/rubygem-locale.rb | 2 + configs/components/rubygem-mini_portile2.rb | 4 +- configs/components/rubygem-minitar.rb | 3 + configs/components/rubygem-multi_json.rb | 9 +- .../components/rubygem-net-http-persistent.rb | 4 +- configs/components/rubygem-net-scp.rb | 4 +- configs/components/rubygem-net-ssh.rb | 16 +- configs/components/rubygem-nokogiri.rb | 4 +- configs/components/rubygem-nori.rb | 2 +- configs/components/rubygem-openfact.rb | 4 +- configs/components/rubygem-pastel.rb | 11 -- configs/components/rubygem-pathspec.rb | 12 -- configs/components/rubygem-prime.rb | 4 +- configs/components/rubygem-public_suffix.rb | 9 +- .../rubygem-puppet-modulebuilder.rb | 12 -- .../components/rubygem-puppet-resource_api.rb | 4 +- configs/components/rubygem-puppet-strings.rb | 15 +- configs/components/rubygem-puppet.rb | 27 +--- configs/components/rubygem-puppet_forge.rb | 19 +-- configs/components/rubygem-r10k.rb | 14 +- configs/components/rubygem-rexml.rb | 4 +- configs/components/rubygem-rgen.rb | 4 +- configs/components/rubygem-ruby_smb.rb | 3 + configs/components/rubygem-rubyntlm.rb | 1 - configs/components/rubygem-rubyzip.rb | 4 +- configs/components/rubygem-scanf.rb | 3 + configs/components/rubygem-semantic_puppet.rb | 19 +-- configs/components/rubygem-sys-filesystem.rb | 10 +- configs/components/rubygem-terminal-table.rb | 4 +- configs/components/rubygem-text.rb | 2 + configs/components/rubygem-thor.rb | 4 +- configs/components/rubygem-tty-color.rb | 11 -- configs/components/rubygem-tty-cursor.rb | 11 -- configs/components/rubygem-tty-prompt.rb | 11 -- configs/components/rubygem-tty-reader.rb | 11 -- configs/components/rubygem-tty-screen.rb | 11 -- configs/components/rubygem-tty-spinner.rb | 11 -- configs/components/rubygem-tty-which.rb | 11 -- .../rubygem-unicode-display_width.rb | 4 +- configs/components/rubygem-webrick.rb | 4 +- configs/components/rubygem-winrm.rb | 9 +- configs/components/rubygem-wisper.rb | 11 -- configs/components/rubygem-yard.rb | 4 +- configs/components/runtime-pdk.rb | 58 -------- configs/components/virt-what.rb | 4 +- configs/projects/_pdk-components.rb | 106 -------------- configs/projects/agent-runtime-7.x.rb | 4 - configs/projects/agent-runtime-main.rb | 2 - configs/projects/bolt-runtime.rb | 9 -- 96 files changed, 176 insertions(+), 863 deletions(-) delete mode 100644 configs/components/ansicon.rb delete mode 100644 configs/components/git.rb delete mode 100644 configs/components/post-additional-rubies.rb delete mode 100644 configs/components/pre-additional-rubies.rb delete mode 100644 configs/components/rubygem-bundler.rb delete mode 100644 configs/components/rubygem-childprocess.rb delete mode 100644 configs/components/rubygem-diff-lcs.rb delete mode 100644 configs/components/rubygem-faraday_middleware.rb delete mode 100644 configs/components/rubygem-getoptlong.rb delete mode 100644 configs/components/rubygem-hitimes.rb delete mode 100644 configs/components/rubygem-json-schema.rb delete mode 100644 configs/components/rubygem-pastel.rb delete mode 100644 configs/components/rubygem-pathspec.rb delete mode 100644 configs/components/rubygem-puppet-modulebuilder.rb delete mode 100644 configs/components/rubygem-tty-color.rb delete mode 100644 configs/components/rubygem-tty-cursor.rb delete mode 100644 configs/components/rubygem-tty-prompt.rb delete mode 100644 configs/components/rubygem-tty-reader.rb delete mode 100644 configs/components/rubygem-tty-screen.rb delete mode 100644 configs/components/rubygem-tty-spinner.rb delete mode 100644 configs/components/rubygem-tty-which.rb delete mode 100644 configs/components/rubygem-wisper.rb delete mode 100644 configs/components/runtime-pdk.rb delete mode 100644 configs/projects/_pdk-components.rb diff --git a/configs/components/ansicon.rb b/configs/components/ansicon.rb deleted file mode 100644 index 9c8c641b..00000000 --- a/configs/components/ansicon.rb +++ /dev/null @@ -1,22 +0,0 @@ -##### -# Component release information: https://github.com/adoxa/ansicon/releases -# Notes: -# 2025-07-23: the latest is 1.89, but none of the updates are needed -# so not bothering for now. -##### -component "ansicon" do |pkg, settings, platform| - pkg.version '1.86' - pkg.md5sum 'f2e822dc4ad69959d61b6e09d0a56a30' - pkg.url "#{settings[:buildsources_url]}/ansicon-#{pkg.get_version}.tar.gz" - - # This component should only be included on Windows - pkg.environment "PATH", "$(shell cygpath -u #{settings[:gcc_bindir]}):$(PATH)" - pkg.environment "CYGWIN", settings[:cygwin] - - pkg.build do - ["#{platform[:make]} -fmakefile.gcc"] - end - - pkg.install_file "x64/ansicon.exe", "#{settings[:windows_tools]}/ansicon.exe" - pkg.install_file "x64/ansi64.dll", "#{settings[:windows_tools]}/ansi64.dll" -end diff --git a/configs/components/augeas.rb b/configs/components/augeas.rb index 0add0e3b..9300f7ba 100644 --- a/configs/components/augeas.rb +++ b/configs/components/augeas.rb @@ -2,7 +2,6 @@ # Component release information: https://github.com/hercules-team/augeas/releases ##### component 'augeas' do |pkg, settings, platform| - # Projects may define an :augeas_version setting, or we use 1.8.1 by default: version = settings[:augeas_version] || '1.14.1' pkg.version version diff --git a/configs/components/curl.rb b/configs/components/curl.rb index 6a0545cd..4741255f 100644 --- a/configs/components/curl.rb +++ b/configs/components/curl.rb @@ -1,19 +1,16 @@ ##### # Component release information: https://github.com/curl/curl/releases -# Notes: -# 2025-07-23: The latest is 8.15.0, but it contains no security fixes or -# relevant improvements for us, so waiting to update until we need to. ##### component 'curl' do |pkg, settings, platform| # Projects may define a :curl_version setting - version = settings[:curl_version] || '8.14.1' + version = settings[:curl_version] || '8.15.0' pkg.version version case version when '7.88.1' pkg.sha256sum 'cdb38b72e36bc5d33d5b8810f8018ece1baa29a8f215b4495e495ded82bbf3c7' - when '8.14.1' - pkg.sha256sum '6766ada7101d292b42b8b15681120acd68effa4a9660935853cf6d61f0d984d4' + when '8.15.0' + pkg.sha256sum 'd85cfc79dc505ff800cb1d321a320183035011fa08cb301356425d86be8fc53c' else raise "curl version #{version} has not been configured; Cannot continue." end diff --git a/configs/components/git.rb b/configs/components/git.rb deleted file mode 100644 index 364d60c2..00000000 --- a/configs/components/git.rb +++ /dev/null @@ -1,137 +0,0 @@ -##### -# Component release information: -# https://github.com/git/git/tags -# https://github.com/git/git/tree/master/Documentation/RelNotes -##### -component "git" do |pkg, settings, platform| - if platform.is_windows? - pkg.version "2.49.0" - pkg.md5sum "971cdee7c0feaa1e41369c46da88d1000a24e79a6f50191c820100338fb7eca5" - - release = "1" - pkg.url "https://github.com/git-for-windows/git/releases/download/v#{pkg.get_version.split('.')[0..2].join('.')}.windows.#{release}/MinGit-#{pkg.get_version}-64-bit.zip" - pkg.mirror "#{settings[:buildsources_url]}/MinGit-#{pkg.get_version}-64-bit.zip" - else - pkg.version "2.49.0" - pkg.sha256sum "f8047f572f665bebeb637fd5f14678f31b3ca5d2ff9a18f20bd925bd48f75d3c" - pkg.url "https://mirrors.edge.kernel.org/pub/software/scm/git/git-#{pkg.get_version}.tar.gz" - pkg.mirror "#{settings[:buildsources_url]}/git-#{pkg.get_version}.tar.gz" - end - - pkg.build_requires 'curl' unless platform.is_windows? - - build_deps = [] - - if platform.is_deb? - build_deps += [ - "dh-autoreconf", - "libexpat1-dev", - "libz-dev", - ] - elsif platform.is_sles? - build_deps += [ - "autoconf", - "libexpat-devel", - "zlib-devel", - ] - elsif platform.is_rpm? - build_deps += [ - "dh-autoreconf", - "expat-devel", - "zlib-devel", - ] - elsif platform.is_windows? - build_deps += [ - "7zip.commandline", - ] - end - - if platform.name.match(/^el\-(?:8|9)\-(?:x86_64|aarch64)/) - build_deps.reject! { |r| r == 'dh-autoreconf' } - end - - build_deps.each do |dep| - pkg.build_requires dep - end - - prefix = File.join(settings[:privatedir], 'git') - execdir = File.join(prefix, 'lib', 'git-core') - - make_flags = [ - "-j$(shell expr $(shell #{platform[:num_cores]}) + 1)", - "prefix=#{prefix}", - "gitexecdir=#{execdir}", - "libexecdir=#{execdir}", - "NO_INSTALL_HARDLINKS=1", - "BLK_SHA1=1", - "GNU_ROFF=1", - "NO_PERL=1", - "NO_PYTHON=1", - "NO_TCLTK=1", - "NO_GETTEXT=1", - "CFLAGS=\"#{settings[:cflags]}\"", - "LDFLAGS=\"#{settings[:ldflags]}\"", - "CURL_CONFIG=\"#{settings[:prefix]}/bin/curl-config\"", - ] - - if platform.is_macos? - # This lets us build/link against vendored OpenSSL instead. - make_flags << "NO_APPLE_COMMON_CRYPTO=1" - end - - if settings[:git_sysconfdir] - make_flags << "sysconfdir=#{settings[:git_sysconfdir]}" - end - - make_argv = make_flags.join(' ') - - pkg.build do - if platform.is_windows? - # We are using a pre-compiled minimal archive of Git for Windows so - # there is no build step. - "true" - else - "#{platform[:make]} #{make_argv}" - end - end - - pkg.install do - if platform.is_windows? - install_cmds = [ - "mkdir -p #{prefix}", - "cp --recursive --target-directory=#{prefix} *", - ] - else - install_cmds = [ "#{platform[:make]} #{make_argv} install" ] - - # make install includes a lot of things we don't actually need in the package, - # so we delete the stuff we don't want after install, this list is mostly based on - # the Debian maintained package build script - install_cmds += [ - "rm -f #{prefix}/bin/git-cvsserver", - "rm -f #{prefix}/bin/gitk", - "rm -f #{execdir}/git-archimport", - "rm -f #{execdir}/git-cvs", - "rm -f #{execdir}/git-p4", - "rm -f #{execdir}/git-svn", - "rm -f #{execdir}/git-send-email", - "rm -f #{execdir}/git-gui", - "rm -f #{execdir}/git-citool", - "rm -Rf #{prefix}/share/git-gui", - "rm -Rf #{prefix}/share/gitk", - "rm -Rf #{prefix}/share/gitweb", - "rm -Rf #{prefix}/share/locale", - "rm -Rf #{prefix}/share/man", - "rm -Rf #{prefix}/share/perl5/Git/SVN*", - ] - - if platform.is_deb? - install_cmds << "rm -Rf #{prefix}/lib/x86_64-linux-gnu" - elsif platform.is_rpm? - install_cmds << "rm -Rf #{prefix}/lib64" - end - end - - install_cmds - end -end diff --git a/configs/components/libffi.rb b/configs/components/libffi.rb index 7f8541cb..8b65e979 100644 --- a/configs/components/libffi.rb +++ b/configs/components/libffi.rb @@ -2,8 +2,8 @@ # Component release information: https://github.com/libffi/libffi/releases ##### component 'libffi' do |pkg, settings, platform| - pkg.version '3.4.8' - pkg.sha256sum 'bc9842a18898bfacb0ed1252c4febcc7e78fa139fd27fdc7a3e30d9d9356119b' + pkg.version '3.5.2' + pkg.sha256sum 'f3a3082a23b37c293a4fcd1053147b371f2ff91fa7ea1b2a52e335676bac82dc' pkg.url "https://github.com/libffi/libffi/releases/download/v#{pkg.get_version}/#{pkg.get_name}-#{pkg.get_version}.tar.gz" pkg.mirror "#{settings[:buildsources_url]}/#{pkg.get_name}-#{pkg.get_version}.tar.gz" diff --git a/configs/components/libxml2.rb b/configs/components/libxml2.rb index b34190cc..6e604a05 100644 --- a/configs/components/libxml2.rb +++ b/configs/components/libxml2.rb @@ -4,8 +4,8 @@ # https://github.com/GNOME/libxml2/tags ##### component "libxml2" do |pkg, settings, platform| - pkg.version '2.13.8' - pkg.sha256sum '277294cb33119ab71b2bc81f2f445e9bc9435b893ad15bb2cd2b0e859a0ee84a' + pkg.version '2.14.5' + pkg.sha256sum '03d006f3537616833c16c53addcdc32a0eb20e55443cba4038307e3fa7d8d44b' libxml2_version_y = pkg.get_version.gsub(/(\d+)\.(\d+)(\.\d+)?/, '\1.\2') pkg.url "https://download.gnome.org/sources/libxml2/#{libxml2_version_y}/libxml2-#{pkg.get_version}.tar.xz" diff --git a/configs/components/openssl-3.0.rb b/configs/components/openssl-3.0.rb index 7aa6f157..2bde2256 100644 --- a/configs/components/openssl-3.0.rb +++ b/configs/components/openssl-3.0.rb @@ -6,8 +6,8 @@ # need to move to the 3.5.x LTS stream in the next year. ##### component 'openssl' do |pkg, settings, platform| - pkg.version '3.0.16' - pkg.sha256sum '57e03c50feab5d31b152af2b764f10379aecd8ee92f16c985983ce4a99f7ef86' + pkg.version '3.0.17' + pkg.sha256sum 'dfdd77e4ea1b57ff3a6dbde6b0bdc3f31db5ac99e7fdd4eaf9e1fbb6ec2db8ce' pkg.url "https://github.com/openssl/openssl/releases/download/openssl-#{pkg.get_version}/openssl-#{pkg.get_version}.tar.gz" pkg.mirror "#{settings[:buildsources_url]}/openssl-#{pkg.get_version}.tar.gz" diff --git a/configs/components/post-additional-rubies.rb b/configs/components/post-additional-rubies.rb deleted file mode 100644 index f97d9c15..00000000 --- a/configs/components/post-additional-rubies.rb +++ /dev/null @@ -1,6 +0,0 @@ -component "post-additional-rubies" do |pkg, settings, platform| - pkg.build do - [ "rm -rf #{settings[:prefix]}/include/openssl", - "mv /tmp/openssl #{settings[:prefix]}/include/openssl"] - end -end diff --git a/configs/components/pre-additional-rubies.rb b/configs/components/pre-additional-rubies.rb deleted file mode 100644 index 6c6bc190..00000000 --- a/configs/components/pre-additional-rubies.rb +++ /dev/null @@ -1,5 +0,0 @@ -component "pre-additional-rubies" do |pkg, settings, platform| - pkg.build do - ["mv #{settings[:prefix]}/include/openssl /tmp/openssl"] - end -end diff --git a/configs/components/ruby-shadow.rb b/configs/components/ruby-shadow.rb index 4424bf60..1473782b 100644 --- a/configs/components/ruby-shadow.rb +++ b/configs/components/ruby-shadow.rb @@ -5,7 +5,7 @@ ##### component "ruby-shadow" do |pkg, settings, platform| pkg.url "https://github.com/apalmblad/ruby-shadow" - pkg.ref "refs/tags/2.5.0" + pkg.ref "refs/tags/2.5.1" pkg.build_requires "ruby-#{settings[:ruby_version]}" if !platform.is_cross_compiled? && platform.architecture == 'sparc' diff --git a/configs/components/rubygem-aws-eventstream.rb b/configs/components/rubygem-aws-eventstream.rb index b9029646..ddaff756 100644 --- a/configs/components/rubygem-aws-eventstream.rb +++ b/configs/components/rubygem-aws-eventstream.rb @@ -4,8 +4,8 @@ # https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-eventstream/CHANGELOG.md ##### component "rubygem-aws-eventstream" do |pkg, settings, platform| - pkg.version "1.3.0" - pkg.md5sum "e50f43c1f2d7805bbeaa155c6b52e033" + pkg.version '1.4.0' + pkg.sha256sum '116bf85c436200d1060811e6f5d2d40c88f65448f2125bc77ffce5121e6e183b' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-aws-partitions.rb b/configs/components/rubygem-aws-partitions.rb index 9a4d6a6c..8e62f917 100644 --- a/configs/components/rubygem-aws-partitions.rb +++ b/configs/components/rubygem-aws-partitions.rb @@ -4,8 +4,8 @@ # https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md ##### component "rubygem-aws-partitions" do |pkg, settings, platform| - pkg.version "1.989.0" - pkg.md5sum "42f902bac67b87a13561d6599b0b17e3" + pkg.version '1.1154.0' + pkg.sha256sum 'be80a8e07b87ce6c936eb251a8f371a887e07ed21ca7f45e5e1b66949eb77294' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-aws-sdk-core.rb b/configs/components/rubygem-aws-sdk-core.rb index 8392d50c..4b18e834 100644 --- a/configs/components/rubygem-aws-sdk-core.rb +++ b/configs/components/rubygem-aws-sdk-core.rb @@ -4,8 +4,8 @@ # https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/CHANGELOG.md ##### component "rubygem-aws-sdk-core" do |pkg, settings, platform| - pkg.version "3.209.1" - pkg.md5sum "7444e5ca941b52a4487c502bf0e80bd9" + pkg.version '3.232.0' + pkg.sha256sum '05291ae0da4fb69e9b6494fcc2d839584e8345714a93cd01f0f1bf11475619f2' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-aws-sdk-ec2.rb b/configs/components/rubygem-aws-sdk-ec2.rb index fbc9681a..e2fd558e 100644 --- a/configs/components/rubygem-aws-sdk-ec2.rb +++ b/configs/components/rubygem-aws-sdk-ec2.rb @@ -4,8 +4,8 @@ # https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-ec2/CHANGELOG.md ##### component "rubygem-aws-sdk-ec2" do |pkg, settings, platform| - pkg.version "1.481.0" - pkg.md5sum "bbe900b317e117849d7a440dd1f1e12b" + pkg.version '1.555.0' + pkg.sha256sum 'e323b6a5f810b97e51fc64befc4c88dba4dfa81c8ebb841907bad4cb7969f92f' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-aws-sigv4.rb b/configs/components/rubygem-aws-sigv4.rb index 0563191c..53bfd865 100644 --- a/configs/components/rubygem-aws-sigv4.rb +++ b/configs/components/rubygem-aws-sigv4.rb @@ -4,8 +4,8 @@ # https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sigv4/CHANGELOG.md ##### component "rubygem-aws-sigv4" do |pkg, settings, platform| - pkg.version "1.10.0" - pkg.md5sum "f9875621945414c4ee48113a3cb7076e" + pkg.version '1.12.1' + pkg.sha256sum '6973ff95cb0fd0dc58ba26e90e9510a2219525d07620c8babeb70ef831826c00' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-bindata.rb b/configs/components/rubygem-bindata.rb index 31a57b05..fe28752a 100644 --- a/configs/components/rubygem-bindata.rb +++ b/configs/components/rubygem-bindata.rb @@ -4,8 +4,8 @@ # https://github.com/dmendel/bindata/blob/master/ChangeLog.rdoc ##### component 'rubygem-bindata' do |pkg, settings, platform| - pkg.version '2.5.0' - pkg.md5sum 'c893016c3b689893b033e12536faeeab' + pkg.version '2.5.1' + pkg.sha256sum '53186a1ec2da943d4cb413583d680644eb810aacbf8902497aac8f191fad9e58' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-bundler.rb b/configs/components/rubygem-bundler.rb deleted file mode 100644 index db560e52..00000000 --- a/configs/components/rubygem-bundler.rb +++ /dev/null @@ -1,22 +0,0 @@ -##### -# Component release information: -# https://rubygems.org/gems/bundler -# https://github.com/rubygems/rubygems/blob/master/bundler/CHANGELOG.md -##### -component "rubygem-bundler" do |pkg, settings, _platform| - pkg.version '2.3.26' - pkg.sha256sum '1ee53cdf61e728ad82c6dbff06cfcd8551d5422e88e86203f0e2dbe9ae999e09' - - instance_eval File.read('configs/components/_base-rubygem.rb') - - pkg.install do - install_commands = [] - install_commands << "#{settings[:gem_install]} bundler-#{pkg.get_version}.gem" - - settings[:additional_rubies].each do |_rubyver, local_settings| - install_commands << "#{local_settings[:gem_install]} bundler-#{pkg.get_version}.gem" - end - - install_commands - end -end diff --git a/configs/components/rubygem-childprocess.rb b/configs/components/rubygem-childprocess.rb deleted file mode 100644 index f84222da..00000000 --- a/configs/components/rubygem-childprocess.rb +++ /dev/null @@ -1,11 +0,0 @@ -##### -# Component release information: -# https://rubygems.org/gems/childprocess -# https://github.com/enkessler/childprocess/releases -##### -component "rubygem-childprocess" do |pkg, settings, platform| - pkg.version "5.0.0" - pkg.sha256sum '0746b7ab1d6c68156e64a3767631d7124121516192c0492929a7f0af7310d835' - - instance_eval File.read('configs/components/_base-rubygem.rb') -end diff --git a/configs/components/rubygem-colored2.rb b/configs/components/rubygem-colored2.rb index e7d6124f..4408f288 100644 --- a/configs/components/rubygem-colored2.rb +++ b/configs/components/rubygem-colored2.rb @@ -4,8 +4,8 @@ # https://github.com/kigster/colored2/releases ##### component 'rubygem-colored2' do |pkg, settings, platform| - pkg.version '3.1.2' - pkg.md5sum '6f63f5121c6bc7c7986288dce653ce95' + pkg.version '4.0.3' + pkg.sha256sum '63e1038183976287efc43034f5cca17fb180b4deef207da8ba78d051cbce2b37' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-concurrent-ruby.rb b/configs/components/rubygem-concurrent-ruby.rb index e681d846..2aff2e49 100644 --- a/configs/components/rubygem-concurrent-ruby.rb +++ b/configs/components/rubygem-concurrent-ruby.rb @@ -4,16 +4,8 @@ # https://github.com/ruby-concurrency/concurrent-ruby/blob/master/CHANGELOG.md ##### component 'rubygem-concurrent-ruby' do |pkg, settings, platform| - # Projects may define a :rubygem_concurrent_ruby_version setting - version = settings[:rubygem_concurrent_ruby_version] || '1.2.3' - pkg.version version - - case version - when '1.2.3' - pkg.sha256sum '82fdd3f8a0816e28d513e637bb2b90a45d7b982bdf4f3a0511722d2e495801e2' - else - raise "rubygem-concurrent-ruby #{version} has not been configured; Cannot continue." - end + pkg.version '1.3.5' + pkg.sha256sum '813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-connection_pool.rb b/configs/components/rubygem-connection_pool.rb index cabebd09..a4418683 100644 --- a/configs/components/rubygem-connection_pool.rb +++ b/configs/components/rubygem-connection_pool.rb @@ -2,6 +2,10 @@ # Component release information: # https://rubygems.org/gems/connection_pool # https://github.com/mperham/connection_pool/blob/main/Changes.md +# Notes: +# 2025-09-03: 2.5.0 changes behavior to reap idle connections after 60 seconds by default. +# We need to test this before upgrading to ensure it doesn't break anything or +# affect performance. There are no security fixes between 2.4.1 and 2.5.4. ##### component 'rubygem-connection_pool' do |pkg, settings, platform| pkg.version '2.4.1' diff --git a/configs/components/rubygem-deep_merge.rb b/configs/components/rubygem-deep_merge.rb index f63d4380..e76faccc 100644 --- a/configs/components/rubygem-deep_merge.rb +++ b/configs/components/rubygem-deep_merge.rb @@ -4,20 +4,12 @@ # https://github.com/danielsdeleo/deep_merge/blob/master/CHANGELOG ##### component "rubygem-deep_merge" do |pkg, settings, platform| - # Projects may define a :rubygem_deep_merge_version setting, or we use 1.0.1 by default: - version = settings[:rubygem_deep_merge_version] || '1.0.1' - pkg.version version - - case version - when "1.0.1" - pkg.md5sum "6f30bc4727f1833410f6a508304ab3c1" - when "1.2.2" - pkg.md5sum "57447247ff4e736cb5ff9b60206f0b5e" - else - raise "rubygem-deep_merge version #{version} has not been configured; Cannot continue." - end - + pkg.version '1.2.2' + pkg.sha256sum '83ced3a3d7f95f67de958d2ce41b1874e83c8d94fe2ddbff50c8b4b82323563a' + instance_eval File.read('configs/components/_base-rubygem.rb') + # Overwrite the base rubygem's default GEM_HOME with the vendor gem directory + # shared by puppet and puppetserver. Fall-back to gem_home for other projects. pkg.environment "GEM_HOME", (settings[:puppet_gem_vendor_dir] || settings[:gem_home]) end diff --git a/configs/components/rubygem-diff-lcs.rb b/configs/components/rubygem-diff-lcs.rb deleted file mode 100644 index a41bb085..00000000 --- a/configs/components/rubygem-diff-lcs.rb +++ /dev/null @@ -1,11 +0,0 @@ -##### -# Component release information: -# https://rubygems.org/gems/diff-lcs -# https://github.com/halorgium/diff-lcs/releases -##### -component "rubygem-diff-lcs" do |pkg, settings, platform| - pkg.version "1.5.1" - pkg.sha256sum "273223dfb40685548436d32b4733aa67351769c7dea621da7d9dd4813e63ddfe" - - instance_eval File.read('configs/components/_base-rubygem.rb') -end diff --git a/configs/components/rubygem-ed25519.rb b/configs/components/rubygem-ed25519.rb index 0c28f5f3..056ea244 100644 --- a/configs/components/rubygem-ed25519.rb +++ b/configs/components/rubygem-ed25519.rb @@ -4,8 +4,8 @@ # https://github.com/RubyCrypto/ed25519/blob/main/CHANGES.md ##### component 'rubygem-ed25519' do |pkg, _settings, _platform| - pkg.version '1.3.0' - pkg.md5sum 'd810e3aa82d0a0fb9b9d7ca6146121e4' + pkg.version '1.4.0' + pkg.sha256sum '16e97f5198689a154247169f3453ef4cfd3f7a47481fde0ae33206cdfdcac506' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-faraday-em_http.rb b/configs/components/rubygem-faraday-em_http.rb index c098b39c..0c08e1ed 100644 --- a/configs/components/rubygem-faraday-em_http.rb +++ b/configs/components/rubygem-faraday-em_http.rb @@ -4,8 +4,8 @@ # https://github.com/lostisland/faraday-em_http/releases ##### component 'rubygem-faraday-em_http' do |pkg, settings, platform| - pkg.version '1.0.0' - pkg.md5sum '4b14f4a6132802f235f79e8ab987e3c2' + pkg.version '2.0.1' + pkg.sha256sum '05d3845d0b298a7dfbfb8205db39d10f1bc898d455be7a678ca6f460aba71632' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-faraday-em_synchrony.rb b/configs/components/rubygem-faraday-em_synchrony.rb index b926de82..e2ad52a3 100644 --- a/configs/components/rubygem-faraday-em_synchrony.rb +++ b/configs/components/rubygem-faraday-em_synchrony.rb @@ -4,8 +4,8 @@ # https://github.com/lostisland/faraday-em_synchrony/releases ##### component 'rubygem-faraday-em_synchrony' do |pkg, settings, platform| - pkg.version '1.0.0' - pkg.md5sum '95c919f72c9c13de42cdd19c4caebcc5' + pkg.version '1.0.1' + pkg.sha256sum 'bf3ce45dcf543088d319ab051f80985ea6d294930635b7a0b966563179f81750' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-faraday-excon.rb b/configs/components/rubygem-faraday-excon.rb index e0dbbec4..e4756167 100644 --- a/configs/components/rubygem-faraday-excon.rb +++ b/configs/components/rubygem-faraday-excon.rb @@ -5,8 +5,8 @@ # https://github.com/excon/faraday-excon/releases ##### component 'rubygem-faraday-excon' do |pkg, settings, platform| - pkg.version '1.1.0' - pkg.md5sum '91d075ce12868a30a520af0588930927' + pkg.version '2.3.0' + pkg.sha256sum 'c5fc7175ab284b164496559e35f550587ec5b028b3cdbb40b7ebe83aa7e5b575' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-faraday-httpclient.rb b/configs/components/rubygem-faraday-httpclient.rb index c13302ce..62e6cf97 100644 --- a/configs/components/rubygem-faraday-httpclient.rb +++ b/configs/components/rubygem-faraday-httpclient.rb @@ -4,8 +4,8 @@ # https://github.com/lostisland/faraday-httpclient/releases ##### component 'rubygem-faraday-httpclient' do |pkg, settings, platform| - pkg.version '1.0.1' - pkg.md5sum '97c44d6016b1db347252b54a57f3e424' + pkg.version '2.0.2' + pkg.sha256sum 'd95fbe60cce5a87e157957d67c539a4c22fb8b0b0611d493a939cdde19d8d67c' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-faraday-multipart.rb b/configs/components/rubygem-faraday-multipart.rb index 91cad1f7..a90b65e0 100644 --- a/configs/components/rubygem-faraday-multipart.rb +++ b/configs/components/rubygem-faraday-multipart.rb @@ -4,8 +4,8 @@ # https://github.com/lostisland/faraday-multipart/releases ##### component 'rubygem-faraday-multipart' do |pkg, settings, platform| - pkg.version '1.0.4' - pkg.md5sum '84b6d08b9165737064b3db89c71fb422' + pkg.version '1.1.1' + pkg.sha256sum '77a18ff40149030fd1aef55bb4fc7a67ce46419a8a3fcd010e28c2526e8d8903' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-faraday-net_http.rb b/configs/components/rubygem-faraday-net_http.rb index 1f8bdeb9..37bf660c 100644 --- a/configs/components/rubygem-faraday-net_http.rb +++ b/configs/components/rubygem-faraday-net_http.rb @@ -4,18 +4,8 @@ # https://github.com/lostisland/faraday-net_http/releases ##### component 'rubygem-faraday-net_http' do |pkg, settings, platform| - version = settings[:rubygem_faraday_net_http_version] || '1.0.2' - - case version - when '1.0.2' - pkg.version '1.0.2' - pkg.md5sum 'b8e560b8cd7c008a7fd1686143428337' - when '3.3.0' - pkg.version '3.3.0' - pkg.md5sum '7e6378aaa271587dd4109795c0a05769' - else - raise "rubygem-faraday-net_http version #{version} is not supported" - end + pkg.version '3.4.1' + pkg.sha256sum '095757fae7872b94eac839c08a1a4b8d84fd91d6886cfbe75caa2143de64ab3b' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-faraday-net_http_persistent.rb b/configs/components/rubygem-faraday-net_http_persistent.rb index e9809511..d75eb217 100644 --- a/configs/components/rubygem-faraday-net_http_persistent.rb +++ b/configs/components/rubygem-faraday-net_http_persistent.rb @@ -4,18 +4,8 @@ # https://github.com/lostisland/faraday-net_http_persistent/releases ##### component 'rubygem-faraday-net_http_persistent' do |pkg, settings, platform| - version = settings[:rubygem_faraday_net_http_persistent_version] || '1.2.0' - - case version - when '1.2.0' - pkg.version '1.2.0' - pkg.md5sum 'e13bafd2297cbf703e0385e142c9ce62' - when '2.3.0' - pkg.version '2.3.0' - pkg.md5sum 'b8003472ed288c44021dcfed574353b2' - else - raise "rubygem-faraday-net_http_persistent version #{version} is not supported" - end + pkg.version '2.3.1' + pkg.sha256sum '23ffba37d6a27807a10f033d01918ec958aa73fa6ff0fccfbcd5ce2d2e68fca3' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-faraday-patron.rb b/configs/components/rubygem-faraday-patron.rb index 0b6d8fbd..524f1e4a 100644 --- a/configs/components/rubygem-faraday-patron.rb +++ b/configs/components/rubygem-faraday-patron.rb @@ -4,8 +4,8 @@ # https://github.com/lostisland/faraday-patron/releases ##### component 'rubygem-faraday-patron' do |pkg, settings, platform| - pkg.version '1.0.0' - pkg.md5sum '918c3b3a432993441e083c1f37715c8d' + pkg.version '2.0.2' + pkg.sha256sum 'cd4b77d48e3c638ce25c22b6affe2714cf13af99bfa8348c1c7f6733fc5f2086' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-faraday-rack.rb b/configs/components/rubygem-faraday-rack.rb index da3e2b89..fdaedf7c 100644 --- a/configs/components/rubygem-faraday-rack.rb +++ b/configs/components/rubygem-faraday-rack.rb @@ -4,8 +4,8 @@ # https://github.com/lostisland/faraday-rack/releases ##### component 'rubygem-faraday-rack' do |pkg, settings, platform| - pkg.version '1.0.0' - pkg.md5sum 'e1f15e1a8e72e3d38c7973550e11925e' + pkg.version '2.1.3' + pkg.sha256sum '9869993a8f1010ade286bda697dea43a8f29f0ab760877d73ec7de5d1d18faed' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-faraday-retry.rb b/configs/components/rubygem-faraday-retry.rb index 043bf6d6..dc825ae6 100644 --- a/configs/components/rubygem-faraday-retry.rb +++ b/configs/components/rubygem-faraday-retry.rb @@ -4,8 +4,8 @@ # https://github.com/lostisland/faraday-retry/releases ##### component 'rubygem-faraday-retry' do |pkg, settings, platform| - pkg.version '1.0.3' - pkg.md5sum '77177d55f1b8df8a3dcb06aab3e03389' + pkg.version '2.3.2' + pkg.sha256sum '2402d2029032ebd238a2046221e67f6ef0da78c5a8ce8cd4f8b9c62e4d6451d1' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-faraday.rb b/configs/components/rubygem-faraday.rb index b4d562d7..15b47a23 100644 --- a/configs/components/rubygem-faraday.rb +++ b/configs/components/rubygem-faraday.rb @@ -4,18 +4,8 @@ # https://github.com/lostisland/faraday/releases ##### component 'rubygem-faraday' do |pkg, settings, platform| - version = settings[:rubygem_faraday_version] || '1.10.3' - - case version - when '1.10.3' - pkg.version '1.10.3' - pkg.md5sum 'c7b56130721c0b055c071bec593e2446' - when '2.12.0' - pkg.version '2.12.0' - pkg.md5sum 'c0248b00a32c46b64cd2a172c96409ec' - else - raise "rubygem-faraday version #{version} is not supported" - end + pkg.version '2.13.4' + pkg.sha256sum 'c719ff52cfd0dbaeca79dd83ed3aeea3f621032abf8bc959d1c05666157cac26' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-faraday_middleware.rb b/configs/components/rubygem-faraday_middleware.rb deleted file mode 100644 index f39c8181..00000000 --- a/configs/components/rubygem-faraday_middleware.rb +++ /dev/null @@ -1,11 +0,0 @@ -##### -# Component release information: -# https://rubygems.org/gems/faraday_middleware -# https://github.com/lostisland/faraday_middleware/releases -##### -component 'rubygem-faraday_middleware' do |pkg, settings, platform| - pkg.version '1.2.1' - pkg.md5sum 'c1093335f486314a2a68757cafebdaab' - - instance_eval File.read('configs/components/_base-rubygem.rb') -end diff --git a/configs/components/rubygem-fast_gettext.rb b/configs/components/rubygem-fast_gettext.rb index f5442c61..40b8387f 100644 --- a/configs/components/rubygem-fast_gettext.rb +++ b/configs/components/rubygem-fast_gettext.rb @@ -4,19 +4,18 @@ # https://github.com/grosser/fast_gettext/blob/master/CHANGELOG ##### component "rubygem-fast_gettext" do |pkg, settings, platform| - version = settings[:rubygem_fast_gettext_version] || '2.4.0' - pkg.version version - - case version - when '2.4.0' - pkg.sha256sum 'fd26c4c406aa10be34f0fd2847ce3ffdc1e9d9798de87538594757bbb9175fbf' - when '1.1.2' - pkg.sha256sum 'e868f02c24af746a137f3aaf898ca3660e6611aa7f1f96ce60e9a425130f2732' + if settings[:ruby_version].to_f >= 3.0 + pkg.version '4.1.0' + pkg.sha256sum '8e6b612676d601209662d2cd793ed4a067f834c8ca65ede793bacc9bcc1c2763' else - raise "rubygem-fast_gettext version #{version} has not been configured; Cannot continue." + # Remove this when we EOL OpenVox 7.x + pkg.version '2.4.0' + pkg.sha256sum 'fd26c4c406aa10be34f0fd2847ce3ffdc1e9d9798de87538594757bbb9175fbf' end instance_eval File.read('configs/components/_base-rubygem.rb') + # Overwrite the base rubygem's default GEM_HOME with the vendor gem directory + # shared by puppet and puppetserver. Fall-back to gem_home for other projects. pkg.environment "GEM_HOME", (settings[:puppet_gem_vendor_dir] || settings[:gem_home]) end diff --git a/configs/components/rubygem-getoptlong.rb b/configs/components/rubygem-getoptlong.rb deleted file mode 100644 index 8865f946..00000000 --- a/configs/components/rubygem-getoptlong.rb +++ /dev/null @@ -1,11 +0,0 @@ -##### -# Component release information: -# https://rubygems.org/gems/getoptlong -# https://github.com/ruby/getoptlong/releases -##### -component 'rubygem-getoptlong' do |pkg, settings, platform| - pkg.version '0.2.1' - pkg.md5sum 'ded8176bd043e45b082c05872fc513c3' - - instance_eval File.read('configs/components/_base-rubygem.rb') -end diff --git a/configs/components/rubygem-gettext-setup.rb b/configs/components/rubygem-gettext-setup.rb index afc3c6ed..c971a3db 100644 --- a/configs/components/rubygem-gettext-setup.rb +++ b/configs/components/rubygem-gettext-setup.rb @@ -4,17 +4,8 @@ # https://github.com/puppetlabs/gettext-setup-gem/tags ##### component "rubygem-gettext-setup" do |pkg, settings, platform| - version = settings[:rubygem_gettext_setup_version] || '1.1.0' - pkg.version version - - case version - when '1.1.0' - pkg.sha256sum '2ad4fa99575d869f18056941d98dc9cb2a656abc7b991f360fbd3e32d28fd4ec' - when '0.34' - pkg.sha256sum 'ea9d6f6be56908d54af8c7bb246f133fa9f8f634011df135c0a87520be57d6ed' - else - raise "rubygem-gettext-setup version #{version} has not been configured; Cannot continue." - end + pkg.version '1.1.0' + pkg.sha256sum '2ad4fa99575d869f18056941d98dc9cb2a656abc7b991f360fbd3e32d28fd4ec' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-gettext.rb b/configs/components/rubygem-gettext.rb index 6b35608c..2c248fa0 100644 --- a/configs/components/rubygem-gettext.rb +++ b/configs/components/rubygem-gettext.rb @@ -4,27 +4,13 @@ # https://github.com/ruby-gettext/gettext/releases ##### component "rubygem-gettext" do |pkg, settings, platform| - version = settings[:rubygem_gettext_version] || '3.4.9' - pkg.version version - - case version - when '3.4.9' - pkg.sha256sum '292864fe6a15c224cee4125a4a72fab426fdbb280e4cff3cfe44935f549b009a' - when '3.2.2' - pkg.sha256sum '9d250bb79273efb4a268977f219d2daca05cdc7473eff40288b8ab8ddd0f51b4' - else - raise "rubygem-gettext version #{version} has not been configured; Cannot continue." - end + pkg.version '3.5.1' + pkg.sha256sum '03ec7f71ea7e2cf1fdcd5e08682e98b81601922fdbee890b7bc6f63b0e1a512a' instance_eval File.read('configs/components/_base-rubygem.rb') + # Overwrite the base rubygem's default GEM_HOME with the vendor gem directory + # shared by puppet and puppetserver. Fall-back to gem_home for other projects. gem_home = settings[:puppet_gem_vendor_dir] || settings[:gem_home] pkg.environment "GEM_HOME", gem_home - - case version - when '3.4.3' - install do - "rm -f #{gem_home}/gems/gettext-3.4.3/test/fixtures/gtk_builder_ui_definitions.ui~" - end - end end diff --git a/configs/components/rubygem-hiera-eyaml.rb b/configs/components/rubygem-hiera-eyaml.rb index ff939ead..aa588b38 100644 --- a/configs/components/rubygem-hiera-eyaml.rb +++ b/configs/components/rubygem-hiera-eyaml.rb @@ -4,8 +4,8 @@ # https://github.com/voxpupuli/hiera-eyaml/blob/master/CHANGELOG.md ##### component 'rubygem-hiera-eyaml' do |pkg, settings, platform| - pkg.version '4.2.0' - pkg.sha256sum '9285e71bb4861d81cb48f961330ea45126d3a9fe88e8310ddbe7bdc2161ff4b3' + pkg.version '4.3.0' + pkg.sha256sum '19eba2ea9d70b2d56de064df9e3242860d8070d47ff9c9a6348b7fe94708ab0a' instance_eval File.read('configs/components/_base-rubygem.rb') diff --git a/configs/components/rubygem-highline.rb b/configs/components/rubygem-highline.rb index ea61d9e8..3b8e6409 100644 --- a/configs/components/rubygem-highline.rb +++ b/configs/components/rubygem-highline.rb @@ -5,11 +5,11 @@ ##### component 'rubygem-highline' do |pkg, settings, _platform| if settings[:ruby_version].to_f >= 3.2 - pkg.version '3.1.0' - pkg.md5sum 'ab3fa9d21304bf9ee9403ffca3d653d0' + pkg.version '3.1.2' + pkg.sha256sum '67cbd34d19f6ef11a7ee1d82ffab5d36dfd5b3be861f450fc1716c7125f4bb4a' else pkg.version '2.1.0' - pkg.md5sum '4209083bda845d47dcc05b7ab23f25fd' + pkg.sha256sum 'd63d7f472f8ffaa143725161ae6fb06895b5cb7527e0b4dac5ad1e4902c80cb9' end instance_eval File.read('configs/components/_base-rubygem.rb') diff --git a/configs/components/rubygem-hitimes.rb b/configs/components/rubygem-hitimes.rb deleted file mode 100644 index 9337cd06..00000000 --- a/configs/components/rubygem-hitimes.rb +++ /dev/null @@ -1,11 +0,0 @@ -##### -# Component release information: -# https://rubygems.org/gems/hitimes -# https://github.com/copiousfreetime/hitimes/blob/main/HISTORY.md -##### -component "rubygem-hitimes" do |pkg, settings, platform| - pkg.version "2.0.0" - pkg.sha256sum "0e8bc5829251bb43be3a44e5510dfd4d5cc4fae5112bf1d1b091679dd3cda947" - - instance_eval File.read('configs/components/_base-rubygem.rb') - end diff --git a/configs/components/rubygem-hocon.rb b/configs/components/rubygem-hocon.rb index da21ff64..17aaa944 100644 --- a/configs/components/rubygem-hocon.rb +++ b/configs/components/rubygem-hocon.rb @@ -6,18 +6,9 @@ # (Not up to date) https://github.com/puppetlabs/ruby-hocon/releases ##### component "rubygem-hocon" do |pkg, settings, platform| - version = settings[:rubygem_hocon_version] || '1.3.1' - pkg.version version - - case version - when '1.3.1' - pkg.md5sum "9182e012c0d48d0512a1b49179616709" - when '1.4.0' - pkg.sha256sum "e71023ed7c56ae780ec34c0ce7789a233bcead08c045d50bc7b3af40f5afcd80" - else - raise "rubygem-hocon version #{version} has not been configured; Cannot continue." - end - + pkg.version '1.4.0' + pkg.sha256sum "e71023ed7c56ae780ec34c0ce7789a233bcead08c045d50bc7b3af40f5afcd80" + instance_eval File.read('configs/components/_base-rubygem.rb') # Overwrite the base rubygem's default GEM_HOME with the vendor gem directory diff --git a/configs/components/rubygem-httpclient.rb b/configs/components/rubygem-httpclient.rb index 885daf2f..5de2d92a 100644 --- a/configs/components/rubygem-httpclient.rb +++ b/configs/components/rubygem-httpclient.rb @@ -1,11 +1,11 @@ ##### # Component release information: # https://rubygems.org/gems/httpclient -# https://github.com/nahi/httpclient/tags +# https://github.com/nahi/httpclient/blob/master/CHANGELOG.md ##### component 'rubygem-httpclient' do |pkg, settings, platform| - pkg.version '2.8.3' - pkg.md5sum '0d43c4680b56547b942caa0d9fefa8ec' + pkg.version '2.9.0' + pkg.sha256sum '4b645958e494b2f86c2f8a2f304c959baa273a310e77a2931ddb986d83e498c8' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-json-schema.rb b/configs/components/rubygem-json-schema.rb deleted file mode 100644 index 8e74d020..00000000 --- a/configs/components/rubygem-json-schema.rb +++ /dev/null @@ -1,11 +0,0 @@ -##### -# Component release information: -# https://rubygems.org/gems/json-schema -# https://github.com/voxpupuli/json-schema//blob/master/CHANGELOG.md -##### -component "rubygem-json-schema" do |pkg, settings, platform| - pkg.version "5.0.1" - pkg.sha256sum "bef71a82c600a42594911553522e143f7634affc198ed507ef3ded2f920a74a9" - - instance_eval File.read('configs/components/_base-rubygem.rb') -end diff --git a/configs/components/rubygem-jwt.rb b/configs/components/rubygem-jwt.rb index 96ebdf2f..38eba83e 100644 --- a/configs/components/rubygem-jwt.rb +++ b/configs/components/rubygem-jwt.rb @@ -2,6 +2,11 @@ # Component release information: # https://rubygems.org/gems/jwt # https://github.com/jwt/ruby-jwt/blob/v3.1.2/CHANGELOG.md +# Notes: +# This seems to only be for the bundled gcloud_inventory module +# in Bolt, which itself has a dependency of ~> 2.2.1. So probably +# this isn't even having the effect we want. Should take a look to +# see if we should just remove this component. ##### component "rubygem-jwt" do |pkg, settings, platform| pkg.version "2.7.1" diff --git a/configs/components/rubygem-locale.rb b/configs/components/rubygem-locale.rb index 0372424f..bf3d32fa 100644 --- a/configs/components/rubygem-locale.rb +++ b/configs/components/rubygem-locale.rb @@ -10,5 +10,7 @@ instance_eval File.read('configs/components/_base-rubygem.rb') + # Overwrite the base rubygem's default GEM_HOME with the vendor gem directory + # shared by puppet and puppetserver. Fall-back to gem_home for other projects. pkg.environment "GEM_HOME", (settings[:puppet_gem_vendor_dir] || settings[:gem_home]) end diff --git a/configs/components/rubygem-mini_portile2.rb b/configs/components/rubygem-mini_portile2.rb index f1c4c43e..f3c4d65a 100644 --- a/configs/components/rubygem-mini_portile2.rb +++ b/configs/components/rubygem-mini_portile2.rb @@ -4,8 +4,8 @@ # https://github.com/flavorjones/mini_portile/blob/main/CHANGELOG.md ##### component 'rubygem-mini_portile2' do |pkg, _settings, _platform| - pkg.version '2.8.8' - pkg.sha256sum '8e47136cdac04ce81750bb6c09733b37895bf06962554e4b4056d78168d70a75' + pkg.version '2.8.9' + pkg.sha256sum '0cd7c7f824e010c072e33f68bc02d85a00aeb6fce05bb4819c03dfd3c140c289' instance_eval File.read('configs/components/_base-rubygem.rb') diff --git a/configs/components/rubygem-minitar.rb b/configs/components/rubygem-minitar.rb index 18cb7900..d119f2a9 100644 --- a/configs/components/rubygem-minitar.rb +++ b/configs/components/rubygem-minitar.rb @@ -2,6 +2,9 @@ # Component release information: # https://rubygems.org/gems/minitar # https://github.com/halostatue/minitar/blob/main/CHANGELOG.md +# Notes: +# 2025-07-23: 1.x changes a namespace, and there are no vulnerability fixes, +# so leaving this at 0.12.1 for now. ##### component 'rubygem-minitar' do |pkg, settings, platform| pkg.version '0.12.1' diff --git a/configs/components/rubygem-multi_json.rb b/configs/components/rubygem-multi_json.rb index 6a87ab1d..e74e483e 100644 --- a/configs/components/rubygem-multi_json.rb +++ b/configs/components/rubygem-multi_json.rb @@ -4,8 +4,13 @@ # https://github.com/sferik/multi_json/blob/main/CHANGELOG.md ##### component "rubygem-multi_json" do |pkg, settings, platform| - pkg.version '1.15.0' - pkg.md5sum '06f0ae43e84ec7b9357f4095f8417cd5' + if settings[:ruby_version].to_f >= 3.0 + pkg.version '1.17.0' + pkg.sha256sum '76581f6c96aebf2e85f8a8b9854829e0988f335e8671cd1a56a1036eb75e4a1b' + else + pkg.version '1.15.0' + pkg.sha256sum '1fd04138b6e4a90017e8d1b804c039031399866ff3fbabb7822aea367c78615d' + end instance_eval File.read('configs/components/_base-rubygem.rb') diff --git a/configs/components/rubygem-net-http-persistent.rb b/configs/components/rubygem-net-http-persistent.rb index 8ca2c40d..207fd354 100644 --- a/configs/components/rubygem-net-http-persistent.rb +++ b/configs/components/rubygem-net-http-persistent.rb @@ -4,8 +4,8 @@ # https://github.com/drbrain/net-http-persistent/blob/master/History.txt ##### component 'rubygem-net-http-persistent' do |pkg, settings, platform| - pkg.version '4.0.4' - pkg.md5sum '96df0d7f9801e167827a77dbf44cabf5' + pkg.version '4.0.6' + pkg.sha256sum '2abb3a04438edf6cb9e0e7e505969605f709eda3e3c5211beadd621a2c84dd5d' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-net-scp.rb b/configs/components/rubygem-net-scp.rb index f445f996..4246a20f 100644 --- a/configs/components/rubygem-net-scp.rb +++ b/configs/components/rubygem-net-scp.rb @@ -4,8 +4,8 @@ # https://github.com/net-ssh/net-scp/tags ##### component 'rubygem-net-scp' do |pkg, settings, platform| - pkg.version '4.0.0' - pkg.md5sum 'a97dcd90f88ec481fdf81b53cfc93285' + pkg.version '4.1.0' + pkg.sha256sum 'a99b0b92a1e5d360b0de4ffbf2dc0c91531502d3d4f56c28b0139a7c093d1a5d' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-net-ssh.rb b/configs/components/rubygem-net-ssh.rb index d71239a0..758a9ee4 100644 --- a/configs/components/rubygem-net-ssh.rb +++ b/configs/components/rubygem-net-ssh.rb @@ -4,25 +4,15 @@ # https://github.com/net-ssh/net-ssh/blob/master/CHANGES.txt ##### component "rubygem-net-ssh" do |pkg, settings, platform| - # Projects may define a :rubygem_net_ssh_version setting, or we use 6.1.0 by default: - version = settings[:rubygem_net_ssh_version] || '6.1.0' if platform.is_cross_compiled? && platform.is_solaris? # Building agent-runtime-7.x on Solaris 10/11 SPARC fails with newer versions of net-ssh because those platforms # use older (<= 2.1) versions of Ruby for cross-compiling. Pin to 4.2.0, the last version of net-ssh that supports # those older Rubies, until we deprecate those platforms. - version = '4.2.0' - end - pkg.version version - - case version - when "7.2.3" - pkg.md5sum "be25f70538cb8dcde68d924f001d75df" - when "6.1.0" - pkg.md5sum "383afadb1bd66a458a5d8d2d60736b3d" - when "4.2.0" + pkg.version '4.2.0' pkg.md5sum "fec5b151d84110b95ec0056017804491" else - raise "rubygem-net-ssh version #{version} has not been configured; Cannot continue." + pkg.version '7.3.0' + pkg.sha256sum '172076c4b30ce56fb25a03961b0c4da14e1246426401b0f89cba1a3b54bf3ef0' end instance_eval File.read('configs/components/_base-rubygem.rb') diff --git a/configs/components/rubygem-nokogiri.rb b/configs/components/rubygem-nokogiri.rb index 75ebe922..50d2f97e 100644 --- a/configs/components/rubygem-nokogiri.rb +++ b/configs/components/rubygem-nokogiri.rb @@ -4,8 +4,8 @@ # https://nokogiri.org/CHANGELOG.html ##### component 'rubygem-nokogiri' do |pkg, settings, _platform| - pkg.version '1.18.7' - pkg.sha256sum '6b63ff5defe48f30d1d3b3122f65255ca91df2caf5378c6e0482ce73ff46fb31' + pkg.version '1.18.9' + pkg.sha256sum 'ac5a7d93fd0e3cef388800b037407890882413feccca79eb0272a2715a82fa33' cflags = platform.is_macos? ? settings[:cflags] + '--with-cflags="-Wno-incompatible-function-pointer-types"' : '' settings["#{pkg.get_name}_gem_install_options".to_sym] = "--platform=ruby -- \ diff --git a/configs/components/rubygem-nori.rb b/configs/components/rubygem-nori.rb index b56309d7..f9d01248 100644 --- a/configs/components/rubygem-nori.rb +++ b/configs/components/rubygem-nori.rb @@ -5,7 +5,7 @@ # https://github.com/savonrb/nori/blob/main/CHANGELOG.md ##### component 'rubygem-nori' do |pkg, settings, platform| - if settings[:ruby_version].to_f >= 3.2 + if settings[:ruby_version].to_f >= 3.0 pkg.version '2.7.1' pkg.md5sum '83952a081b5e86d5aa62943ca9ccf312' else diff --git a/configs/components/rubygem-openfact.rb b/configs/components/rubygem-openfact.rb index bd25da2e..84afad9c 100644 --- a/configs/components/rubygem-openfact.rb +++ b/configs/components/rubygem-openfact.rb @@ -4,8 +4,8 @@ # https://github.com/OpenVoxProject/openfact/releases ##### component 'rubygem-openfact' do |pkg, settings, platform| - pkg.version '5.0.0' - pkg.md5sum '90a0f4a39606f3837298308cbfa19a09' + pkg.version '5.1.0' + pkg.sha256sum '569b93bc6941f8efeef55c138577ae2e3ff4f6727657f9f48925c4a657d3f70c' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-pastel.rb b/configs/components/rubygem-pastel.rb deleted file mode 100644 index c716c30d..00000000 --- a/configs/components/rubygem-pastel.rb +++ /dev/null @@ -1,11 +0,0 @@ -##### -# Component release information: -# https://rubygems.org/gems/pastel -# https://github.com/piotrmurach/pastel/blob/master/CHANGELOG.md -##### -component "rubygem-pastel" do |pkg, settings, platform| - pkg.version "0.8.0" - pkg.sha256sum '481da9fb7d2f6e6b1a08faf11fa10363172dc40fd47848f096ae21209f805a75' - - instance_eval File.read('configs/components/_base-rubygem.rb') -end diff --git a/configs/components/rubygem-pathspec.rb b/configs/components/rubygem-pathspec.rb deleted file mode 100644 index c18688a7..00000000 --- a/configs/components/rubygem-pathspec.rb +++ /dev/null @@ -1,12 +0,0 @@ -##### -# Component release information: -# https://rubygems.org/gems/pathspec -# https://github.com/highb/pathspec-ruby/releases -# https://github.com/highb/pathspec-ruby/blob/master/CHANGELOG.md -##### -component "rubygem-pathspec" do |pkg, settings, platform| - pkg.version "1.1.3" - pkg.sha256sum "c4e7ff4c4019499488874e21c37a1e2473d5123cfce6f13ecb07f42c0f8c5d23" - - instance_eval File.read('configs/components/_base-rubygem.rb') -end diff --git a/configs/components/rubygem-prime.rb b/configs/components/rubygem-prime.rb index 1d78a6ff..e9c8e695 100644 --- a/configs/components/rubygem-prime.rb +++ b/configs/components/rubygem-prime.rb @@ -4,8 +4,8 @@ # https://github.com/ruby/prime/releases ##### component 'rubygem-prime' do |pkg, settings, platform| - pkg.version '0.1.3' - pkg.sha256sum 'baf031c50d6ce923594913befc8ac86a3251bffb9d6a5e8b03687962054e53e3' + pkg.version '0.1.4' + pkg.sha256sum '4d755ebf7c2994a6f3a3fee0d072063be3fff2d4042ebff6cd5eebd4747a225e' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-public_suffix.rb b/configs/components/rubygem-public_suffix.rb index 699ae025..11eb90c2 100644 --- a/configs/components/rubygem-public_suffix.rb +++ b/configs/components/rubygem-public_suffix.rb @@ -4,13 +4,8 @@ # https://github.com/weppos/publicsuffix-ruby/blob/main/CHANGELOG.md ##### component 'rubygem-public_suffix' do |pkg, settings, platform| - if settings[:ruby_version].to_f >= 3.2 - pkg.version '6.0.1' - pkg.md5sum '12ec93094a3467364c8c6ee5a6e8325a' - else - pkg.version '5.1.1' - pkg.md5sum '0895274ce1ffdadffcd979ced832b851' - end + pkg.version '6.0.2' + pkg.sha256sum 'bfa7cd5108066f8c9602e0d6d4114999a5df5839a63149d3e8b0f9c1d3558394' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-puppet-modulebuilder.rb b/configs/components/rubygem-puppet-modulebuilder.rb deleted file mode 100644 index a0ea7d0c..00000000 --- a/configs/components/rubygem-puppet-modulebuilder.rb +++ /dev/null @@ -1,12 +0,0 @@ -##### -# Component release information: -# https://rubygems.org/gems/puppet-modulebuilder -# https://github.com/puppetlabs/puppet-modulebuilder/releases -# https://github.com/puppetlabs/puppet-modulebuilder/blob/main/CHANGELOG.md -##### -component 'rubygem-puppet-modulebuilder' do |pkg, settings, platform| - pkg.version '1.0.0' - pkg.sha256sum 'cf9d9e8146aeae780b7c61f30847a4cb631debcf708c21281976d5ed79820cfd' - - instance_eval File.read('configs/components/_base-rubygem.rb') -end diff --git a/configs/components/rubygem-puppet-resource_api.rb b/configs/components/rubygem-puppet-resource_api.rb index 9d7c923f..52c21317 100644 --- a/configs/components/rubygem-puppet-resource_api.rb +++ b/configs/components/rubygem-puppet-resource_api.rb @@ -5,8 +5,8 @@ # https://github.com/puppetlabs/puppet-resource_api/blob/main/CHANGELOG.md ##### component 'rubygem-puppet-resource_api' do |pkg, settings, platform| - pkg.version '1.9.0' - pkg.md5sum '34a4d89f3241421aae2eb95e0af73cee' + pkg.version '2.0.0' + pkg.sha256sum '4649fcb5d5e5f8cbda0887f706b95be5b52a089bcf98ce8ebf0496c3266fd9c4' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-puppet-strings.rb b/configs/components/rubygem-puppet-strings.rb index 947e8fe4..24cfa7e4 100644 --- a/configs/components/rubygem-puppet-strings.rb +++ b/configs/components/rubygem-puppet-strings.rb @@ -5,20 +5,9 @@ # https://github.com/puppetlabs/puppet-strings/blob/main/CHANGELOG.md ##### component 'rubygem-puppet-strings' do |pkg, settings, platform| - # 2021.7.x LTS has a jruby that does not work with puppet-strings - # version 4.y. The 4 series requires ruby >= 2.7 - # Default to 4.x sereies but allow it to be configuratble by project. - version = settings[:rubygem_puppet_strings_version] || '4.1.2' - pkg.version(version) + pkg.version '5.0.0' + pkg.sha256sum '9f93221dab4d9c7441d0c7e4d9b5066e65dc325209487e6638b5cb3b7056fa8b' - case version - when '3.0.1' - pkg.md5sum '7c9a8936509a0434c39975a75197472c' - when '4.1.2' - pkg.md5sum 'e19f3fdc60692df346d1a348ab9facee' - else - raise "Invalid version #{version} for rubygem-puppet-strings; Cannot continue." - end instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-puppet.rb b/configs/components/rubygem-puppet.rb index 9d0d66ec..3ec9f19b 100644 --- a/configs/components/rubygem-puppet.rb +++ b/configs/components/rubygem-puppet.rb @@ -6,29 +6,8 @@ # To be replaced with openvox ##### component 'rubygem-puppet' do |pkg, settings, platform| - # Projects may define a :rubygem_puppet_version setting, or we use this - # version by default - version = settings[:rubygem_puppet_version] || '6.28.0' - pkg.version version - - # There are 4 platform-specific puppet gems for each tag: - # - # generic - # universal-darwin - # x64-mingw32 - # x86_mingw32 - # - # Always use the generic version below - case version - when '8.10.0' - pkg.md5sum '3d186db20ec581f6d6aef0b26b0e1275' - when '7.32.1' - pkg.md5sum 'e4e91fae76bb76d4e899b9cf7aafe365' - when '6.28.0' - pkg.md5sum '31520d986869f9362c88c7d6a4a5c103' - else - raise "Invalid version #{version} for rubygem-puppet; Cannot continue." - end - + pkg.version '8.10.0' + pkg.sha256sum 'f2f5de8f5a794ec49ac30f42806c9ffb5cd42c9908ab3014f9d8ea68a21c2a3a' + instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-puppet_forge.rb b/configs/components/rubygem-puppet_forge.rb index e3ba0fab..0b3b8d56 100644 --- a/configs/components/rubygem-puppet_forge.rb +++ b/configs/components/rubygem-puppet_forge.rb @@ -3,21 +3,14 @@ # https://rubygems.org/gems/puppet_forge # https://github.com/puppetlabs/forge-ruby/releases # https://github.com/puppetlabs/forge-ruby/blob/main/CHANGELOG.md +# Notes: +# 2025-07-23: Leaving this at 5.x for now since 6.x requires the new +# minitar gem, which OpenVox also uses. Need to fix it up +# in the agent before bumping this. ##### component 'rubygem-puppet_forge' do |pkg, settings, platform| - version = settings[:rubygem_puppet_forge_version] || '3.2.0' - pkg.version version - - case version - when '3.2.0' - pkg.version '3.2.0' - pkg.md5sum '501d5f9f742007504d0d60ce6cf0c27f' - when '5.0.4' - pkg.version '5.0.4' - pkg.md5sum '04a2ca2f027ed41d9142ced587b71bd7' - else - raise "rubygem-puppet_forge version #{version} is not supported" - end + pkg.version '5.0.4' + pkg.md5sum '04a2ca2f027ed41d9142ced587b71bd7' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-r10k.rb b/configs/components/rubygem-r10k.rb index 24ac11b2..a09e6924 100644 --- a/configs/components/rubygem-r10k.rb +++ b/configs/components/rubygem-r10k.rb @@ -4,18 +4,8 @@ # https://github.com/puppetlabs/r10k/blob/main/CHANGELOG.mkd ##### component 'rubygem-r10k' do |pkg, settings, platform| - version = settings[:rubygem_r10k_version] || '3.16.2' - - case version - when '3.16.2' - pkg.version '3.16.2' - pkg.sha256sum '9775a726ba94a543bf49952b10dcd23690a54f5d2a361746b78b1292abe32eb9' - when '4.1.0' - pkg.version '4.1.0' - pkg.sha256sum '64e5b9e1a6cbb4006c96477d8c34ce589fe1c278117311f452d9f30b9cc86e4c' - else - raise "rubygem-r10k version #{version} is not supported" - end + pkg.version '5.0.2' + pkg.sha256sum '48e24e2b8447cdc56b03303b741247a5255bb40f170c9d113c5d3dbd8c83e8b3' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-rexml.rb b/configs/components/rubygem-rexml.rb index 1c9e850a..607ad6a5 100644 --- a/configs/components/rubygem-rexml.rb +++ b/configs/components/rubygem-rexml.rb @@ -4,8 +4,8 @@ # https://github.com/ruby/rexml/releases ##### component 'rubygem-rexml' do |pkg, settings, platform| - pkg.version '3.4.1' - pkg.sha256sum 'c74527a9a0a04b4ec31dbe0dc4ed6004b960af943d8db42e539edde3a871abca' + pkg.version '3.4.2' + pkg.sha256sum '1384268554a37af5da5279431ca3f2f37d46f09ffdd6c95e17cc84c83ea7c417' settings["#{pkg.get_name}_remove_older_versions".to_sym] = true diff --git a/configs/components/rubygem-rgen.rb b/configs/components/rubygem-rgen.rb index 1852c6e1..aa659eb7 100644 --- a/configs/components/rubygem-rgen.rb +++ b/configs/components/rubygem-rgen.rb @@ -4,8 +4,8 @@ # https://github.com/mthiede/rgen/blob/master/CHANGELOG ##### component 'rubygem-rgen' do |pkg, settings, platform| - pkg.version '0.9.1' - pkg.md5sum 'fafb97eeb3ea5385f70b2ff83af6d8b6' + pkg.version '0.10.2' + pkg.sha256sum 'd978f84887a0b4815ff3a0e0c4d43a15cdeeac9fd4da02db8ec3ecd0f222f371' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-ruby_smb.rb b/configs/components/rubygem-ruby_smb.rb index 62a3ce7c..559566b4 100644 --- a/configs/components/rubygem-ruby_smb.rb +++ b/configs/components/rubygem-ruby_smb.rb @@ -2,6 +2,9 @@ # Component release information: # https://rubygems.org/gems/ruby_smb # https://github.com/rapid7/ruby_smb/tags +# Notes: +# This is horrifically out of date. Need to try updating it carefully +# and make sure this doesn't break Bolt SMB support. ##### component 'rubygem-ruby_smb' do |pkg, settings, platform| pkg.version '1.1.0' diff --git a/configs/components/rubygem-rubyntlm.rb b/configs/components/rubygem-rubyntlm.rb index 118354fe..c5b53c7d 100644 --- a/configs/components/rubygem-rubyntlm.rb +++ b/configs/components/rubygem-rubyntlm.rb @@ -2,7 +2,6 @@ # Component release information: # https://rubygems.org/gems/rubyntlm # https://github.com/WinRb/rubyntlm/releases -# https://github.com/WinRb/rubyntlm/releases ##### component 'rubygem-rubyntlm' do |pkg, settings, platform| # Do not update past this version without solving the jruby/ruby2.7 issue described in the commit diff --git a/configs/components/rubygem-rubyzip.rb b/configs/components/rubygem-rubyzip.rb index 11d9e16e..fe7615e3 100644 --- a/configs/components/rubygem-rubyzip.rb +++ b/configs/components/rubygem-rubyzip.rb @@ -5,8 +5,8 @@ # https://github.com/rubyzip/rubyzip/blob/master/Changelog.md ##### component 'rubygem-rubyzip' do |pkg, settings, platform| - pkg.version '2.3.2' - pkg.md5sum 'd8396c7f2cefde071353f2a09ee7d2f6' + pkg.version '3.0.2' + pkg.sha256sum '30f75c0b631e23c0891453acbcc019bc1496cd44f4a3ade4ff76bc09a595cfa6' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-scanf.rb b/configs/components/rubygem-scanf.rb index e6a98192..a5a4abec 100644 --- a/configs/components/rubygem-scanf.rb +++ b/configs/components/rubygem-scanf.rb @@ -8,5 +8,8 @@ pkg.md5sum "6a48b02b5d7109331afa8bd9d55a802e" instance_eval File.read('configs/components/_base-rubygem.rb') + + # Overwrite the base rubygem's default GEM_HOME with the vendor gem directory + # shared by puppet and puppetserver. Fall-back to gem_home for other projects. pkg.environment "GEM_HOME", (settings[:puppet_gem_vendor_dir] || settings[:gem_home]) end diff --git a/configs/components/rubygem-semantic_puppet.rb b/configs/components/rubygem-semantic_puppet.rb index f0f72134..c2326643 100644 --- a/configs/components/rubygem-semantic_puppet.rb +++ b/configs/components/rubygem-semantic_puppet.rb @@ -4,24 +4,19 @@ # https://github.com/puppetlabs/semantic_puppet/blob/main/CHANGELOG.md ##### component "rubygem-semantic_puppet" do |pkg, settings, platform| - version = settings[:rubygem_semantic_puppet_version] || '1.1.1' if platform.is_cross_compiled? && platform.is_solaris? # solaris 10/11 sparc are failing in agent-runtime-7.x installing semantic_puppet because the gem requires ruby >= 2.7.0 # when cross compiling on sparc, we use ancient pl-ruby or equivalent. For these older platforms, use older semantic_puppet - version = '1.0.4' - end - pkg.version version - - case version - when '1.0.4' - pkg.sha256sum "5d8380bf733c1552ef77e06a7c44a6d5b48def7d390ecf3bd71cad477f5ce13d" - when '1.1.1' - pkg.sha256sum "15ff5b48d7f856549eb66b927a8894d3668b211970c9d7dc07dd4db57f5c7a96" + pkg.version = '1.0.4' + pkg.sha256sum '5d8380bf733c1552ef77e06a7c44a6d5b48def7d390ecf3bd71cad477f5ce13d' else - raise "rubygem-semantic_puppet version #{version} has not been configured; Cannot continue." + pkg.version '1.1.1' + pkg.sha256sum '15ff5b48d7f856549eb66b927a8894d3668b211970c9d7dc07dd4db57f5c7a96' end - + instance_eval File.read('configs/components/_base-rubygem.rb') + # Overwrite the base rubygem's default GEM_HOME with the vendor gem directory + # shared by puppet and puppetserver. Fall-back to gem_home for other projects. pkg.environment "GEM_HOME", (settings[:puppet_gem_vendor_dir] || settings[:gem_home]) end diff --git a/configs/components/rubygem-sys-filesystem.rb b/configs/components/rubygem-sys-filesystem.rb index a83042ff..51d81f86 100644 --- a/configs/components/rubygem-sys-filesystem.rb +++ b/configs/components/rubygem-sys-filesystem.rb @@ -4,9 +4,13 @@ # https://github.com/djberg96/sys-filesystem/blob/main/CHANGES.md ##### component 'rubygem-sys-filesystem' do |pkg, settings, platform| - # 1.5.x removes support for Solaris - pkg.version '1.4.5' - pkg.sha256sum '1b61da4ace0f71fc4304126acf005fb8cd03677081bb352343199fddc9eaa56d' + if platform.is_solaris? + pkg.version '1.4.5' + pkg.sha256sum '1b61da4ace0f71fc4304126acf005fb8cd03677081bb352343199fddc9eaa56d' + else + pkg.version '1.5.3' + pkg.sha256sum '17b561d1be683c34bc53946461ea9d67012d8f395e7297db8c63b9018cb30ece' + end instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-terminal-table.rb b/configs/components/rubygem-terminal-table.rb index 3395d889..425beea4 100644 --- a/configs/components/rubygem-terminal-table.rb +++ b/configs/components/rubygem-terminal-table.rb @@ -4,8 +4,8 @@ # https://github.com/tj/terminal-table/releases ##### component 'rubygem-terminal-table' do |pkg, settings, platform| - pkg.version '3.0.2' - pkg.md5sum '3916a3147871d6421688e575d5939e12' + pkg.version '4.0.0' + pkg.sha256sum 'f504793203f8251b2ea7c7068333053f0beeea26093ec9962e62ea79f94301d2' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-text.rb b/configs/components/rubygem-text.rb index 994698df..e05fae26 100644 --- a/configs/components/rubygem-text.rb +++ b/configs/components/rubygem-text.rb @@ -9,5 +9,7 @@ instance_eval File.read('configs/components/_base-rubygem.rb') + # Overwrite the base rubygem's default GEM_HOME with the vendor gem directory + # shared by puppet and puppetserver. Fall-back to gem_home for other projects. pkg.environment "GEM_HOME", (settings[:puppet_gem_vendor_dir] || settings[:gem_home]) end diff --git a/configs/components/rubygem-thor.rb b/configs/components/rubygem-thor.rb index dbeff580..a49f5a6f 100644 --- a/configs/components/rubygem-thor.rb +++ b/configs/components/rubygem-thor.rb @@ -4,8 +4,8 @@ # https://github.com/rails/thor/releases ##### component 'rubygem-thor' do |pkg, settings, platform| - pkg.version '1.2.2' - pkg.md5sum 'cafae723e9fc9ab9bc834471cee2a906' + pkg.version '1.4.0' + pkg.sha256sum '8763e822ccb0f1d7bee88cde131b19a65606657b847cc7b7b4b82e772bcd8a3d' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-tty-color.rb b/configs/components/rubygem-tty-color.rb deleted file mode 100644 index 3b927858..00000000 --- a/configs/components/rubygem-tty-color.rb +++ /dev/null @@ -1,11 +0,0 @@ -##### -# Component release information: -# https://rubygems.org/gems/tty-color -# https://github.com/piotrmurach/tty-color/blob/master/CHANGELOG.md -##### -component "rubygem-tty-color" do |pkg, settings, platform| - pkg.version "0.6.0" - pkg.sha256sum '6f9c37ca3a4e2367fb2e6d09722762647d6f455c111f05b59f35730eeb24332a' - - instance_eval File.read('configs/components/_base-rubygem.rb') -end diff --git a/configs/components/rubygem-tty-cursor.rb b/configs/components/rubygem-tty-cursor.rb deleted file mode 100644 index c4a2754a..00000000 --- a/configs/components/rubygem-tty-cursor.rb +++ /dev/null @@ -1,11 +0,0 @@ -##### -# Component release information: -# https://rubygems.org/gems/tty-cursor -# https://github.com/piotrmurach/tty-cursor/blob/master/CHANGELOG.md -##### -component "rubygem-tty-cursor" do |pkg, settings, platform| - pkg.version "0.7.1" - pkg.sha256sum "79534185e6a777888d88628b14b6a1fdf5154a603f285f80b1753e1908e0bf48" - - instance_eval File.read('configs/components/_base-rubygem.rb') -end diff --git a/configs/components/rubygem-tty-prompt.rb b/configs/components/rubygem-tty-prompt.rb deleted file mode 100644 index b9548c4b..00000000 --- a/configs/components/rubygem-tty-prompt.rb +++ /dev/null @@ -1,11 +0,0 @@ -##### -# Component release information: -# https://rubygems.org/gems/tty-prompt -# https://github.com/piotrmurach/tty-prompt/blob/master/CHANGELOG.md -##### -component "rubygem-tty-prompt" do |pkg, settings, platform| - pkg.version "0.23.1" - pkg.sha256sum "fcdbce905238993f27eecfdf67597a636bc839d92192f6a0eef22b8166449ec8" - - instance_eval File.read('configs/components/_base-rubygem.rb') -end diff --git a/configs/components/rubygem-tty-reader.rb b/configs/components/rubygem-tty-reader.rb deleted file mode 100644 index 2d14bc56..00000000 --- a/configs/components/rubygem-tty-reader.rb +++ /dev/null @@ -1,11 +0,0 @@ -##### -# Component release information: -# https://rubygems.org/gems/tty-reader -# https://github.com/piotrmurach/tty-reader/blob/master/CHANGELOG.md -##### -component "rubygem-tty-reader" do |pkg, settings, platform| - pkg.version "0.9.0" - pkg.sha256sum 'c62972c985c0b1566f0e56743b6a7882f979d3dc32ff491ed490a076f899c2b1' - - instance_eval File.read('configs/components/_base-rubygem.rb') -end diff --git a/configs/components/rubygem-tty-screen.rb b/configs/components/rubygem-tty-screen.rb deleted file mode 100644 index 1fc9538d..00000000 --- a/configs/components/rubygem-tty-screen.rb +++ /dev/null @@ -1,11 +0,0 @@ -##### -# Component release information: -# https://rubygems.org/gems/tty-screen -# https://github.com/piotrmurach/tty-screen/blob/master/CHANGELOG.md -##### -component "rubygem-tty-screen" do |pkg, settings, platform| - pkg.version "0.8.1" - pkg.sha256sum '6508657c38f32bdca64880abe201ce237d80c94146e1f9b911cba3c7823659a2' - - instance_eval File.read('configs/components/_base-rubygem.rb') -end diff --git a/configs/components/rubygem-tty-spinner.rb b/configs/components/rubygem-tty-spinner.rb deleted file mode 100644 index c6b1fe43..00000000 --- a/configs/components/rubygem-tty-spinner.rb +++ /dev/null @@ -1,11 +0,0 @@ -##### -# Component release information: -# https://rubygems.org/gems/tty-spinner -# https://github.com/piotrmurach/tty-spinner/blob/master/CHANGELOG.md -##### -component "rubygem-tty-spinner" do |pkg, settings, platform| - pkg.version "0.9.3" - pkg.sha256sum "0e036f047b4ffb61f2aa45f5a770ec00b4d04130531558a94bfc5b192b570542" - - instance_eval File.read('configs/components/_base-rubygem.rb') -end diff --git a/configs/components/rubygem-tty-which.rb b/configs/components/rubygem-tty-which.rb deleted file mode 100644 index 3b954e41..00000000 --- a/configs/components/rubygem-tty-which.rb +++ /dev/null @@ -1,11 +0,0 @@ -##### -# Component release information: -# https://rubygems.org/gems/tty-which -# https://github.com/piotrmurach/tty-which/blob/master/CHANGELOG.md -##### -component "rubygem-tty-which" do |pkg, settings, platform| - pkg.version "0.5.0" - pkg.sha256sum "5824055f0d6744c97e7c4426544f01d519c40d1806ef2ef47d9854477993f466" - - instance_eval File.read('configs/components/_base-rubygem.rb') -end diff --git a/configs/components/rubygem-unicode-display_width.rb b/configs/components/rubygem-unicode-display_width.rb index aac76d2f..deb397bd 100644 --- a/configs/components/rubygem-unicode-display_width.rb +++ b/configs/components/rubygem-unicode-display_width.rb @@ -4,8 +4,8 @@ # https://github.com/janlelis/unicode-display_width/blob/main/CHANGELOG.md ##### component 'rubygem-unicode-display_width' do |pkg, settings, platform| - pkg.version '2.6.0' - pkg.md5sum '77e719750e6acdd2dbbc9ee10b8b2cbe' + pkg.version '3.1.5' + pkg.sha256sum 'bf566817855ee7ee3adcf7bace0d5906cb14401417db59193f8a5fcedf02dd4e' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-webrick.rb b/configs/components/rubygem-webrick.rb index 2d9d643b..5f9d971a 100644 --- a/configs/components/rubygem-webrick.rb +++ b/configs/components/rubygem-webrick.rb @@ -4,8 +4,8 @@ # https://github.com/ruby/webrick/releases ##### component 'rubygem-webrick' do |pkg, settings, platform| - pkg.version '1.8.2' - pkg.md5sum 'adbdcb13788330c40b54c1134bf5d7a7' + pkg.version '1.9.1' + pkg.sha256sum 'b42d3c94f166f3fb73d87e9b359def9b5836c426fc8beacf38f2184a21b2a989' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-winrm.rb b/configs/components/rubygem-winrm.rb index 13ccafd4..2baca8bf 100644 --- a/configs/components/rubygem-winrm.rb +++ b/configs/components/rubygem-winrm.rb @@ -4,13 +4,8 @@ # https://github.com/WinRb/WinRM/releases ##### component 'rubygem-winrm' do |pkg, settings, platform| - if settings[:ruby_version].to_f >= 3.2 - pkg.version '2.3.9' - pkg.md5sum '3ee81372528048b8305334ab6f36b4e9' - else - pkg.version '2.3.6' - pkg.md5sum 'a99f8e81343f61caa441eb1397a1c6ae' - end + pkg.version '2.3.9' + pkg.sha256sum 'ef6b767c5772d06e186300b506ea5e65afb849904a551f8482a5cfc2a1be5d06' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/rubygem-wisper.rb b/configs/components/rubygem-wisper.rb deleted file mode 100644 index c7775016..00000000 --- a/configs/components/rubygem-wisper.rb +++ /dev/null @@ -1,11 +0,0 @@ -##### -# Component release information: -# https://rubygems.org/gems/wisper -# https://github.com/krisleech/wisper/blob/master/CHANGELOG.md -##### -component "rubygem-wisper" do |pkg, settings, platform| - pkg.version "2.0.1" - pkg.sha256sum "ce17bc5c3a166f241a2e6613848b025c8146fce2defba505920c1d1f3f88fae6" - - instance_eval File.read('configs/components/_base-rubygem.rb') -end diff --git a/configs/components/rubygem-yard.rb b/configs/components/rubygem-yard.rb index cfc22f2d..fc7c4b20 100644 --- a/configs/components/rubygem-yard.rb +++ b/configs/components/rubygem-yard.rb @@ -4,8 +4,8 @@ # https://github.com/lsegal/yard/releases ##### component 'rubygem-yard' do |pkg, settings, platform| - pkg.version '0.9.36' - pkg.md5sum 'ffaaaaafc1257e3bb98aea44fa47c05d' + pkg.version '0.9.37' + pkg.sha256sum 'a6e910399e78e613f80ba9add9ba7c394b1a935f083cccbef82903a3d2a26992' instance_eval File.read('configs/components/_base-rubygem.rb') end diff --git a/configs/components/runtime-pdk.rb b/configs/components/runtime-pdk.rb deleted file mode 100644 index d3e60783..00000000 --- a/configs/components/runtime-pdk.rb +++ /dev/null @@ -1,58 +0,0 @@ -# This component exists to link in the gcc and stdc++ runtime libraries. -component "runtime-pdk" do |pkg, settings, platform| - - if platform.is_windows? - lib_type = platform.architecture == "x64" ? "seh" : "sjlj" - ["libgcc_s_#{lib_type}-1.dll", 'libstdc++-6.dll', 'libwinpthread-1.dll'].each do |dll| - pkg.install_file File.join(settings[:gcc_bindir], dll), File.join(settings[:bindir], dll) - end - - tools_bindir = File.join(settings[:tools_root], 'bin') - - # curl, openssl, etc need zlib, so install in *main* bin dir - pkg.build_requires "pl-zlib-#{platform.architecture}" - pkg.install_file "#{tools_bindir}/zlib1.dll", "#{settings[:bindir]}/zlib1.dll" - - # zlib, gdbm, yaml-cpp and iconv are all runtime dependancies of ruby, and their libraries need - # to exist inside our primary ruby's bin dir - ruby_bindir = settings[:ruby_bindir] - pkg.install_file "#{tools_bindir}/zlib1.dll", "#{ruby_bindir}/zlib1.dll" - pkg.install_file "#{tools_bindir}/libgdbm-4.dll", "#{ruby_bindir}/libgdbm-4.dll" - pkg.install_file "#{tools_bindir}/libgdbm_compat-4.dll", "#{ruby_bindir}/libgdbm_compat-4.dll" - pkg.install_file "#{tools_bindir}/libiconv-2.dll", "#{ruby_bindir}/libiconv-2.dll" - pkg.install_file "#{tools_bindir}/libffi-6.dll", "#{ruby_bindir}/libffi-6.dll" if settings[:ruby_version].start_with?('2') - - # Copy the DLLs into additional ruby install bindirs as well. - if settings.has_key?(:additional_rubies) - settings[:additional_rubies].each do |rubyver, local_settings| - local_bindir = local_settings[:ruby_bindir] - pkg.install_file "#{tools_bindir}/zlib1.dll", "#{local_bindir}/zlib1.dll" - pkg.install_file "#{tools_bindir}/libgdbm-4.dll", "#{local_bindir}/libgdbm-4.dll" - pkg.install_file "#{tools_bindir}/libgdbm_compat-4.dll", "#{local_bindir}/libgdbm_compat-4.dll" - pkg.install_file "#{tools_bindir}/libiconv-2.dll", "#{local_bindir}/libiconv-2.dll" - pkg.install_file "#{tools_bindir}/libffi-6.dll", "#{local_bindir}/libffi-6.dll" if rubyver.start_with?('2') - end - end - - elsif platform.is_macos? - - # Do nothing - - else # Linux and Solaris systems - if (platform.is_el? && platform.os_version.to_i >= 8) || - (platform.is_debian? && platform.os_version.to_i >= 10) || - (platform.is_ubuntu? && platform.os_version.split('.').first.to_i >= 20) - # On newer linux platforms we are no longer using the pl-build-tools - # package and instead relying on standard distribution versions of - # gcc, etc. - libdir = "/usr/lib64" - else - libdir = "/opt/pl-build-tools/lib64" - end - - pkg.add_source "file://resources/files/runtime/runtime.sh" - pkg.install do - "bash runtime.sh #{libdir}" - end - end -end diff --git a/configs/components/virt-what.rb b/configs/components/virt-what.rb index ed9ac33a..d45a91d2 100644 --- a/configs/components/virt-what.rb +++ b/configs/components/virt-what.rb @@ -8,8 +8,8 @@ # SHOULD NOT USE as this is a fork. ##### component "virt-what" do |pkg, settings, platform| - pkg.version "1.25" - pkg.md5sum "2345f1ec5fa0836bff4071659730ac8f" + pkg.version '1.27' + pkg.sha256sum 'd4d9bd9d4ae59095597443fac663495315c7eb4330b872aa5f062df38ac69bf1' # 2025-08-05: The upstream site was down, so using a mirror here. Revert this back to the # original URL next time we bump this. diff --git a/configs/projects/_pdk-components.rb b/configs/projects/_pdk-components.rb deleted file mode 100644 index 3f19ea66..00000000 --- a/configs/projects/_pdk-components.rb +++ /dev/null @@ -1,106 +0,0 @@ -# This file is used to define the components that make up the PDK runtime package. - -if proj.ruby_major_version >= 3 - # Ruby 3.2 does not package these two libraries so we need to add them - proj.component 'libffi' - proj.component 'libyaml' -end - -# Always build the default openssl version -proj.component "openssl-#{proj.openssl_version}" - -# Common deps -proj.component 'curl' - -# Git and deps -proj.component 'git' - -# Ruby and deps -proj.component 'runtime-pdk' -proj.component 'puppet-ca-bundle' - -proj.component 'readline' if platform.is_macos? -proj.component 'augeas' unless platform.is_windows? -proj.component 'libxml2' unless platform.is_windows? -proj.component 'libxslt' unless platform.is_windows? -proj.component "ruby-#{proj.ruby_version}" - -proj.component 'ruby-augeas' unless platform.is_windows? -# We only build ruby-selinux for EL, Fedora, Debian and Ubuntu (amd64/i386) -if platform.is_el? || platform.is_fedora? || platform.is_debian? || (platform.is_ubuntu? && platform.architecture !~ /ppc64el$/) - proj.component 'ruby-selinux' -end - -# Additional Rubies -if proj.respond_to?(:additional_rubies) - proj.additional_rubies.each_key do |rubyver| - raise "Not sure which openssl version to use for ruby #{rubyver}" unless rubyver.start_with?("2.7") - - # old ruby versions don't support openssl 3 - proj.component "pre-additional-rubies" - proj.component "openssl-1.1.1" - proj.component "ruby-#{rubyver}" - - ruby_minor = rubyver.split('.')[0, 2].join('.') - - # Added to prevent conflicts with Bolt - proj.component 'rubygem-CFPropertyList' - - proj.component "ruby-#{ruby_minor}-augeas" unless platform.is_windows? - proj.component "ruby-#{ruby_minor}-selinux" if platform.is_el? || platform.is_fedora? - proj.component "post-additional-rubies" - end -end - -# PDK Rubygems -proj.component 'rubygem-ffi' -proj.component 'rubygem-locale' -proj.component 'rubygem-text' -proj.component 'rubygem-gettext' -proj.component 'rubygem-fast_gettext' -proj.component 'rubygem-gettext-setup' -proj.component 'rubygem-minitar' -proj.component 'rubygem-faraday' -proj.component 'rubygem-faraday-follow_redirects' -proj.component 'rubygem-semantic_puppet' -proj.component 'rubygem-faraday-net_http' - -# Bundler -proj.component 'rubygem-bundler' - -# Cri and deps -proj.component 'rubygem-cri' - -# Childprocess and deps -proj.component 'rubygem-childprocess' -proj.component 'rubygem-hitimes' - -## tty-reader and deps -proj.component 'rubygem-tty-screen' -proj.component 'rubygem-tty-cursor' -proj.component 'rubygem-wisper' -proj.component 'rubygem-tty-reader' - -## pastel and deps -proj.component 'rubygem-tty-color' -proj.component 'rubygem-pastel' - -## root tty gems -proj.component 'rubygem-tty-prompt' -proj.component 'rubygem-tty-spinner' -proj.component 'rubygem-tty-which' - -# json-schema and deps -proj.component 'rubygem-public_suffix' -proj.component 'rubygem-addressable' -proj.component 'rubygem-json-schema' - -# Other deps -proj.component 'rubygem-deep_merge' -proj.component 'rubygem-diff-lcs' -proj.component 'rubygem-pathspec' -proj.component 'rubygem-puppet_forge' -# PDK build -proj.component 'rubygem-puppet-modulebuilder' - -proj.component 'ansicon' if platform.is_windows? diff --git a/configs/projects/agent-runtime-7.x.rb b/configs/projects/agent-runtime-7.x.rb index 92d09aee..c1e7e4f2 100644 --- a/configs/projects/agent-runtime-7.x.rb +++ b/configs/projects/agent-runtime-7.x.rb @@ -2,10 +2,6 @@ # Set preferred component versions if they differ from defaults: proj.setting :ruby_version, '2.7.8' - proj.setting :rubygem_deep_merge_version, '1.2.2' - proj.setting :rubygem_fast_gettext_version, '1.1.2' - proj.setting :rubygem_gettext_version, '3.2.2' - proj.setting :rubygem_gettext_setup_version, '0.34' # Solaris and AIX depend on libedit which breaks augeas compliation starting with 1.13.0 if platform.is_solaris? || platform.is_aix? diff --git a/configs/projects/agent-runtime-main.rb b/configs/projects/agent-runtime-main.rb index c201013b..af2210e3 100644 --- a/configs/projects/agent-runtime-main.rb +++ b/configs/projects/agent-runtime-main.rb @@ -3,8 +3,6 @@ # Set preferred component versions if they differ from defaults: proj.setting :ruby_version, '3.2' # Leave the .Z out for Ruby 3.2 proj.setting :rubygem_highline_version, '3.0.1' - proj.setting :rubygem_hocon_version, '1.4.0' - proj.setting :rubygem_net_ssh_version, '7.2.3' # Solaris and AIX depend on libedit which breaks augeas compliation starting with 1.13.0 if platform.is_solaris? || platform.name == 'aix-7.1-ppc' diff --git a/configs/projects/bolt-runtime.rb b/configs/projects/bolt-runtime.rb index 2a175bed..5a231936 100644 --- a/configs/projects/bolt-runtime.rb +++ b/configs/projects/bolt-runtime.rb @@ -5,16 +5,7 @@ proj.setting(:openssl_version, '3.0') # Legacy algos must be enabled in OpenSSL >= 3.0 for Bolt's WinRM transport to work. proj.setting(:use_legacy_openssl_algos, true) - proj.setting(:rubygem_net_ssh_version, '7.2.3') proj.setting(:augeas_version, '1.14.1') - # TODO: Can runtime projects use these updated versions? - proj.setting(:rubygem_deep_merge_version, '1.2.2') - proj.setting(:rubygem_puppet_forge_version, '5.0.4') - proj.setting(:rubygem_faraday_version, '2.12.0') - proj.setting(:rubygem_faraday_net_http_version, '3.3.0') - proj.setting(:rubygem_faraday_net_http_persistent_version, '2.3.0') - proj.setting(:rubygem_r10k_version, '4.1.0') - proj.setting(:rubygem_puppet_version, '8.10.0') platform = proj.get_platform From ff54460af8a60eef30e8814ef8448140e6b6297a Mon Sep 17 00:00:00 2001 From: nmburgan <13688219+nmburgan@users.noreply.github.com> Date: Wed, 3 Sep 2025 13:54:42 -0700 Subject: [PATCH 2/4] Update ruby-shadow-rbconfig.patch for new version --- resources/patches/ruby_32/ruby-shadow-rbconfig.patch | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/resources/patches/ruby_32/ruby-shadow-rbconfig.patch b/resources/patches/ruby_32/ruby-shadow-rbconfig.patch index d8205c75..08c44732 100644 --- a/resources/patches/ruby_32/ruby-shadow-rbconfig.patch +++ b/resources/patches/ruby_32/ruby-shadow-rbconfig.patch @@ -12,14 +12,15 @@ diff --git a/extconf.rb b/extconf.rb index ac54233..55dcff5 100644 --- a/extconf.rb +++ b/extconf.rb -@@ -10,10 +10,11 @@ require 'rbconfig' +@@ -10,11 +10,11 @@ require 'rbconfig' $CFLAGS = case RUBY_VERSION when /^1\.9/; '-DRUBY19' when /^2\./; '-DRUBY19' +- when /^3\./; '-DRUBY19' + when /^3\./; RUBY_PLATFORM =~ /darwin/ ? '-DRUBY19 -fms-extensions' : '-DRUBY19' else; '' end - + -implementation = case CONFIG['host_os'] +implementation = case RbConfig::CONFIG['host_os'] when /linux/i; 'shadow' From f4fce6facac282ed888c433d51b815c7d47d3261 Mon Sep 17 00:00:00 2001 From: nmburgan <13688219+nmburgan@users.noreply.github.com> Date: Thu, 4 Sep 2025 00:10:21 -0700 Subject: [PATCH 3/4] Add logger and base64 gems Needed by OpenFact since it supports Ruby 3.4, and will be needed by the agent and OpenBolt once we have Ruby 3.4+ support for them. --- configs/components/rubygem-base64.rb | 11 +++++++++++ configs/components/rubygem-logger.rb | 11 +++++++++++ configs/projects/_shared-agent-components.rb | 6 ++++++ configs/projects/bolt-runtime.rb | 6 ++++++ 4 files changed, 34 insertions(+) create mode 100644 configs/components/rubygem-base64.rb create mode 100644 configs/components/rubygem-logger.rb diff --git a/configs/components/rubygem-base64.rb b/configs/components/rubygem-base64.rb new file mode 100644 index 00000000..5d445eeb --- /dev/null +++ b/configs/components/rubygem-base64.rb @@ -0,0 +1,11 @@ +##### +# Component release information: +# https://rubygems.org/gems/base64 +# https://github.com/ruby/base64/releases +##### +component 'rubygem-base64' do |pkg, settings, platform| + pkg.version '0.3.0' + pkg.sha256sum '27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b' + + instance_eval File.read('configs/components/_base-rubygem.rb') +end diff --git a/configs/components/rubygem-logger.rb b/configs/components/rubygem-logger.rb new file mode 100644 index 00000000..5e25a4e8 --- /dev/null +++ b/configs/components/rubygem-logger.rb @@ -0,0 +1,11 @@ +##### +# Component release information: +# https://rubygems.org/gems/logger +# https://github.com/ruby/logger/releases +##### +component 'rubygem-logger' do |pkg, settings, platform| + pkg.version '1.7.0' + pkg.sha256sum '196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203' + + instance_eval File.read('configs/components/_base-rubygem.rb') +end diff --git a/configs/projects/_shared-agent-components.rb b/configs/projects/_shared-agent-components.rb index 25cc08aa..ed0ce1ef 100644 --- a/configs/projects/_shared-agent-components.rb +++ b/configs/projects/_shared-agent-components.rb @@ -62,6 +62,12 @@ proj.component 'rubygem-fast_gettext' proj.component 'rubygem-ffi' +# These gems are still included in Ruby 3.2, but we include them because +# OpenFact requires them for Ruby 3.4 support, and the agent will need to +# do the same once we get to Ruby 3.4+ in OpenVox 9. +proj.component 'rubygem-logger' +proj.component 'rubygem-base64' + # We add rexml explicitly in here because even though ruby 3 ships with rexml as its default gem, the version # of rexml it ships with contains CVE-2024-41946, CVE-2024-41123, CVE-2024-35176 and CVE-2024-39908. # So, we add it here to update to a higher version diff --git a/configs/projects/bolt-runtime.rb b/configs/projects/bolt-runtime.rb index 5a231936..8043f44b 100644 --- a/configs/projects/bolt-runtime.rb +++ b/configs/projects/bolt-runtime.rb @@ -120,6 +120,12 @@ proj.component 'rubygem-bcrypt_pbkdf' proj.component 'rubygem-ed25519' + # These gems are still included in Ruby 3.2, but we include them because + # OpenFact requires them for Ruby 3.4 support, and Bolt will need to + # do the same once we get to Ruby 3.4+ support. + proj.component 'rubygem-logger' + proj.component 'rubygem-base64' + # Puppet dependencies proj.component 'rubygem-hocon' proj.component 'rubygem-deep_merge' From 595a936144cce97620f4d247c0272dc452c54594 Mon Sep 17 00:00:00 2001 From: nmburgan <13688219+nmburgan@users.noreply.github.com> Date: Thu, 4 Sep 2025 12:45:00 -0700 Subject: [PATCH 4/4] Remove client-tools-runtime This is used for pe-client-tools, which we will never build, and already have openvoxdb-cli that doesn't rely on this. --- configs/components/boost.rb | 237 ------------------ configs/components/libicu.rb | 114 --------- configs/components/runtime-client-tools.rb | 23 -- .../projects/_shared-client-tools-runtime.rb | 115 --------- configs/projects/client-tools-runtime-main.rb | 6 - 5 files changed, 495 deletions(-) delete mode 100644 configs/components/boost.rb delete mode 100644 configs/components/libicu.rb delete mode 100644 configs/components/runtime-client-tools.rb delete mode 100644 configs/projects/_shared-client-tools-runtime.rb delete mode 100644 configs/projects/client-tools-runtime-main.rb diff --git a/configs/components/boost.rb b/configs/components/boost.rb deleted file mode 100644 index 702e8a63..00000000 --- a/configs/components/boost.rb +++ /dev/null @@ -1,237 +0,0 @@ -##### -# Component release information: https://github.com/boostorg/boost/releases -# Notes: -# Updated to 1.82 for Windows because we have to in order to compile it -# under modern Cygwin, and el10 also has problems with the old 1.73. -# However, later versions (at least 1.87) break pxp-agent. Do not bother updating -# this component. We will remove it when we remove pxp-agent. -##### -component "boost" do |pkg, settings, platform| - pkg.version "1.82.0" - pkg.md5sum "f7050f554a65f6a42ece221eaeec1660" - - # Apparently boost doesn't use dots to version they use underscores....arg - pkg.url "http://downloads.sourceforge.net/project/boost/boost/#{pkg.get_version}/boost_#{pkg.get_version.gsub('.','_')}.tar.gz" - pkg.mirror "#{settings[:buildsources_url]}/boost_#{pkg.get_version.gsub('.','_')}.tar.gz" - - if platform.is_solaris? - pkg.apply_patch 'resources/patches/boost/0001-fix-build-for-solaris.patch' - pkg.apply_patch 'resources/patches/boost/force-SONAME-option-for-solaris.patch' - end - - if platform.name == 'aix-7.1-ppc' - pkg.apply_patch 'resources/patches/boost/no-O_CLOEXEC-on-aix71.patch' - end - - if platform.architecture == "aarch64" - #pkg.apply_patch 'resources/patches/boost/boost-aarch64-flags.patch' - end - - if platform.is_windows? - pkg.apply_patch 'resources/patches/boost/windows-thread-declare-do_try_join_until-as-inline.patch' - end - - # Build-time Configuration - - boost_libs = settings[:boost_libs] || ['atomic', 'chrono', 'container', 'date_time', 'exception', 'filesystem', - 'graph', 'graph_parallel', 'iostreams', 'locale', 'log', 'math', - 'program_options', 'random', 'regex', 'serialization', 'signals', 'system', - 'test', 'thread', 'timer', 'wave'] - cflags = settings[:cflags] + " -fPIC -std=c99" - cxxflags = settings[:cflags] + " -std=c++11 -fPIC" - - # These are all places where windows differs from *nix. These are the default *nix settings. - toolset = 'gcc' - with_toolset = "--with-toolset=#{toolset}" - boost_dir = "" - bootstrap_suffix = ".sh" - bootstrap_flags = settings[:boost_bootstrap_flags] || "" - execute = "./" - addtl_flags = "" - gpp = "#{settings[:tools_root]}/bin/g++" - b2flags = settings[:boost_b2_flags] || "" - b2installflags = settings[:boost_b2_install_flags] || "" - link_option = settings[:boost_link_option] - b2location = "#{settings[:prefix]}/bin/b2" - bjamlocation = "#{settings[:prefix]}/bin/bjam" - - if platform.is_cross_compiled_linux? - pkg.environment "PATH", "/opt/pl-build-tools/bin:$(PATH)" - linkflags = "-Wl,-rpath=#{settings[:libdir]}" - # The boost b2 build requires a c++11 compatible compiler, - # so we need to install g++ and force the b2 build to use - # the system g++ for the build of the build tool by using - # the CXX env var - # - # Once the b2 tool has finished building, the actual boost - # library build will go back to using the cross-compiled - # g++. - pkg.environment "CXX", "/usr/bin/g++" - gpp = "/opt/pl-build-tools/bin/#{settings[:platform_triple]}-g++" - elsif platform.is_macos? - # clang 16 used in Sequoia throws a warning without this. This is actually a bug in boost, which was - # fixed in 1.81. When we upgrade to 1.81+, we should remove this. - # https://github.com/llvm/llvm-project/issues/59036#issuecomment-2517829718 - cxxflags = "-Wno-enum-constexpr-conversion" - linkflags = "" - gpp = if platform.is_cross_compiled? && platform.name =~ /osx-11/ - 'clang++ -target arm64-apple-macos11' - elsif platform.is_cross_compiled? && platform.name =~ /osx-12/ - 'clang++ -target arm64-apple-macos12' - else - 'clang++' - end - toolset = 'gcc' - with_toolset = "--with-toolset=clang" - elsif platform.is_solaris? - pkg.environment 'PATH', '/opt/pl-build-tools/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/ccs/bin:/opt/csw/bin:/usr/sfw/bin' - linkflags = "-Wl,-rpath=#{settings[:libdir]},-L/opt/pl-build-tools/#{settings[:platform_triple]}/lib,-L/usr/lib" - b2flags = "define=_XOPEN_SOURCE=600" - if platform.architecture == "sparc" - b2flags = "#{b2flags} instruction-set=v9" - end - gpp = "/opt/pl-build-tools/bin/#{settings[:platform_triple]}-g++" - with_toolset = toolset - pkg.environment("LD_LIBRARY_PATH", '/opt/pl-build-tools/lib') if platform.name =~ /solaris-10/ - elsif platform.is_windows? - arch = platform.architecture == "x64" ? "64" : "32" - pkg.environment "PATH", "#{settings[:gcc_bindir]}:$(PATH)" - pkg.environment "CYGWIN", "nodosfilewarning" - b2location = "#{settings[:prefix]}/b2.exe" - bjamlocation = "#{settings[:prefix]}/bjam.exe" - # bootstrap.bat does not take the `--with-toolset` flag - toolset = "gcc" - with_toolset = "mingw" - # we do not need to reference the .bat suffix when calling the bootstrap script - bootstrap_suffix = "" - # we need to make sure we link against non-cygwin libraries - execute = "cmd.exe /c " - - gpp = "x86_64-w64-mingw32-g++.exe" - - # Set the address model so we only build one arch - # - # By default, boost gets built with WINVER set to the value for Windows XP. - # We want it to be Vista/Server 2008 - # - # Set layout to system to avoid nasty version numbers and arches in filenames - b2flags = "address-model=#{arch} \ - define=WINVER=0x0600 \ - define=_WIN32_WINNT=0x0600 \ - --layout=system" - - # We don't have iconv available on windows yet - install_only_flags = "boost.locale.iconv=off" - elsif platform.is_aix? - pkg.environment "NO_CXX11_CHECK", "1" - if platform.name == 'aix-7.1-ppc' - pkg.environment "CXX", "/opt/freeware/bin/g++-8" - else - pkg.environment "CXX", "/opt/freeware/bin/g++-10" - gpp = "/opt/freeware/bin/g++" - end - pkg.environment "CXXFLAGS", "-pthread" - pkg.environment "PATH", "/opt/freeware/bin:/opt/pl-build-tools/bin:$(PATH)" - linkflags = "-Wl,-L#{settings[:libdir]},-L/opt/pl-build-tools/lib" - elsif platform.name =~ /el-[56]|redhatfips-7|sles-(:?11|12)/ - pkg.environment "PATH", "/opt/pl-build-tools/bin:#{settings[:bindir]}:$(PATH)" - linkflags = "-Wl,-rpath=#{settings[:libdir]},-rpath=#{settings[:libdir]}64" - elsif platform.name =~ /el-7/ - pkg.environment "PATH", "/opt/rh/devtoolset-7/root/usr/bin:$(PATH)" - # Not sure this actually does anything - pkg.environment "CMAKE_CXX_COMPILER", "/opt/rh/devtoolset-7/root/usr/bin/gcc" - - linkflags = "-Wl,-rpath=#{settings[:libdir]},-rpath=#{settings[:libdir]}64" - gpp = '/opt/rh/devtoolset-7/root/usr/bin/g++' - else - linkflags = "#{settings[:ldflags]},-rpath=#{settings[:libdir]}64" - gpp = '/usr/bin/g++' - end - - # Set user-config.jam - if platform.is_windows? - userconfigjam = %Q{using gcc : : #{gpp} ;} - else - if platform.architecture =~ /arm/ - userconfigjam = %Q{using gcc : 5.2.0 : #{gpp} : "#{linkflags}" "#{cflags}" "#{cxxflags}" ;} - elsif platform.is_aix? - if platform.name == 'aix-7.1-ppc' - userconfigjam = %Q{using gcc : 5.2.0 : #{gpp} : "#{linkflags}" "#{cflags}" "#{cxxflags}" ;} - else - userconfigjam = %Q{using gcc : 10.3.0 : #{gpp} : "#{linkflags}" "#{cflags}" "#{cxxflags}" ;} - end - else - userconfigjam = %Q{using gcc : 4.8.2 : #{gpp} : "#{linkflags}" "#{cflags}" "#{cxxflags}" ;} - end - end - - # Build Commands - - # On some platforms, we have multiple means of specifying paths. Sometimes, we need to use either one - # form or another. `special_prefix` allows us to do this. i.e., on windows, we need to have the - # windows specific path (C:/), whereas for everything else, we can default to the drive root currently - # in use (/cygdrive/c). This has to do with how the program is built, where it is expecting to find - # libraries and binaries, and how it tries to find them. - pkg.build do - [ - %Q{echo '#{userconfigjam}' > ~/user-config.jam}, - "cd tools/build", - "#{execute}bootstrap#{bootstrap_suffix} #{with_toolset} #{bootstrap_flags}", - "./b2 \ - install \ - variant=release \ - #{link_option} \ - toolset=#{toolset} \ - #{b2flags} \ - -d+2 \ - --prefix=#{settings[:prefix]} \ - --debug-configuration" - ] - end - - pkg.install do - [ - "#{b2location} \ - install \ - variant=release \ - #{link_option} \ - toolset=#{toolset} \ - #{b2flags} \ - #{b2installflags} \ - -d+2 \ - --debug-configuration \ - --prefix=#{settings[:prefix]} \ - --build-dir=. \ - #{boost_libs.map {|lib| "--with-#{lib}"}.join(" ")} \ - #{install_only_flags}", - "chmod 0644 #{settings[:includedir]}/boost/graph/vf2_sub_graph_iso.hpp", - "chmod 0644 #{settings[:includedir]}/boost/thread/v2/shared_mutex.hpp", - # Remove extraneous Boost.Build stuff: - "rm -f ~/user-config.jam", - "rm -rf #{settings[:prefix]}/share/boost-build", - "rm -f #{b2location}", - "rm -f #{bjamlocation}", - ] - end - - # Boost.Build's behavior around setting the install_name for dylibs on macOS - # is not easily configurable. By default, it will hard-code the relative build - # directory there, making the libraries unusable once they're moved to the - # puppet libdir. Instead of dealing with this in a jamfile somewhere, we'll - # use a script to manually rewrite the finshed dylibs' install_names to use - # @rpath instead of the build directory. - if platform.is_macos? - pkg.add_source("file://resources/files/boost/macos_rpath_install_names.sh") - pkg.configure do - [ - "cp ../macos_rpath_install_names.sh macos_rpath_install_names.sh", - "chmod +x macos_rpath_install_names.sh", - ] - end - pkg.install do - [ - "LIBDIR=#{settings[:libdir]} ./macos_rpath_install_names.sh", - ] - end - end -end diff --git a/configs/components/libicu.rb b/configs/components/libicu.rb deleted file mode 100644 index 3a6655ce..00000000 --- a/configs/components/libicu.rb +++ /dev/null @@ -1,114 +0,0 @@ -##### -# Component release information: https://github.com/unicode-org/icu/releases -# Notes: -# This is incredibly out of date. Need to investigate if we can and should -# update it. -###### -component 'libicu' do |pkg, settings, platform| - ## SOURCE METADATA - pkg.version '62.1' - underscore_version = pkg.get_version.gsub('.', '_') - dash_version = pkg.get_version.gsub('.', '-') - pkg.md5sum '490ad9d920158e0314e10ba74ae9a150' - pkg.url "https://github.com/unicode-org/icu/releases/download/release-#{dash_version}/icu4c-#{underscore_version}-src.tgz" - pkg.mirror "#{settings[:buildsources_url]}/icu4c-#{underscore_version}-src.tgz" - pkg.dirname "icu/source" - - # Instead of using the pre-built data library included in the icu source, we - # build our own custom library with certain unnecessary bits of data removed - # to reduce filesize. - pkg.add_source("#{settings[:buildsources_url]}/icu4c-#{underscore_version}-data.zip", sum: "07e03444244883ef9789a56fc25010c0") - - # These rules restrict the set of locales we build, which significantly - # reduces the size of the resulting package. - %w[curr lang locales region unit zone].each do |dir| - pkg.add_source("file://resources/files/libicu/#{dir}_reslocal.mk") - end - - if platform.is_linux? - if platform.name =~ /el-6|redhatfips-7/ - pkg.build_requires 'pl-gcc' - else - pkg.build_requires 'gcc' - end - pkg.build_requires 'unzip' - elsif platform.is_windows? - pkg.build_requires '7zip.commandline' - end - - ## BUILD CONFIGURATION - if platform.is_windows? - pkg.environment 'PATH', "$(shell cygpath -u #{settings[:gcc_bindir]}):$(shell cygpath -u #{settings[:chocolatey_bin]}):$(PATH)" - pkg.environment 'CYGWIN', settings[:cygwin] - pkg.environment 'CC', settings[:cc] - pkg.environment 'CXX', settings[:cxx] - pkg.environment 'MAKE', platform[:make] - elsif platform.is_macos? - pkg.environment 'PATH', '/opt/pl-build-tools/bin:$(PATH):/usr/local/bin' - else - pkg.environment 'PATH', '/opt/pl-build-tools/bin:$(PATH):/usr/local/bin' - end - - ## BUILD COMMANDS - pkg.configure do - if platform.is_windows? - icu_platform = 'MinGW' - icu_flags = "--host #{platform.platform_triple}" - # Workaround for http://bugs.icu-project.org/trac/ticket/12896 - cxx_flags = '-DU_USE_STRTOD_L=0' - elsif platform.is_macos? - icu_platform = 'MacOSX' - icu_flags = '--enable-rpath' - else - icu_platform = 'Linux/gcc' - end - - [# Remove the pre-built data library from the source tarball and copy in - # the data sources - "rm -rf data && mv ../../icu4c-#{underscore_version}-data/data data", - # Removing these makefiles prevents building conversion tables for - # encodings we don't need, reducing the resulting filesize - "rm data/mappings/ucmfiles.mk data/mappings/ucmebcdic.mk", - "for file in ../../*_reslocal.mk; do mv $$file data/$$(basename $$file _reslocal.mk)/reslocal.mk; done", - "LDFLAGS='#{settings[:ldflags]}' CXXFLAGS='#{cxx_flags}' ./runConfigureICU #{icu_platform} #{icu_flags} --prefix=#{settings[:prefix]}"] - end - - pkg.build do - if platform.is_macos? && platform.is_cross_compiled? - # In order to cross compile icu on macOS, we have to build twice. Once for - # the current build platform, then again for the intended host platform in - # a different directory, while passing the first directory as the - # `with-cross-build` option. - # - # The `runConfigureICU` script doesn't support cross-compiling, so copy - # the icu_flags from above and call `./configure` directly with the - # options needed to cross compile. - icu_flags = '--enable-rpath' - [ - "#{platform[:make]} -j$(shell expr $(shell #{platform[:num_cores]}) + 1) VERBOSE=1", - "mkdir build.arm64", - "cd build.arm64", - "CXX='clang++ -target arm64-apple-macos12' CC='clang -target arm64-apple-macos12' ../configure #{icu_flags} --prefix=#{settings[:prefix]} --host=arm-apple-darwin --build=x86_64-apple-darwin --with-cross-build=$$PWD/..", - "#{platform[:make]} -j$(shell expr $(shell #{platform[:num_cores]}) + 1) VERBOSE=1" - ] - else - ["#{platform[:make]} -j$(shell expr $(shell #{platform[:num_cores]}) + 1)"] - end - end - - pkg.install do - if platform.is_macos? && platform.is_cross_compiled? - install_cmds = ["cd build.arm64 && #{platform[:make]} -j$(shell expr $(shell #{platform[:num_cores]}) + 1) install"] - else - install_cmds = ["#{platform[:make]} -j$(shell expr $(shell #{platform[:num_cores]}) + 1) install"] - end - - # ICU incorrectly installs its .dlls to lib instead of bin on windows, so - # we have to move them... - if platform.is_windows? - install_cmds << "mv #{settings[:libdir]}/icu*.dll #{settings[:bindir]}" - end - install_cmds - end -end - diff --git a/configs/components/runtime-client-tools.rb b/configs/components/runtime-client-tools.rb deleted file mode 100644 index 3d4f049d..00000000 --- a/configs/components/runtime-client-tools.rb +++ /dev/null @@ -1,23 +0,0 @@ -# This component exists to link in the gcc and stdc++ runtime libraries. -component "runtime-client-tools" do |pkg, settings, platform| - pkg.environment "PROJECT_SHORTNAME", "client-tools" - - if platform.is_windows? - lib_type = platform.architecture == "x64" ? "seh" : "sjlj" - ["libgcc_s_#{lib_type}-1.dll", 'libstdc++-6.dll', 'libwinpthread-1.dll'].each do |dll| - pkg.install_file File.join(settings[:gcc_bindir], dll), File.join(settings[:bindir], dll) - end - - # zlib is a runtime dependency of libcurl - pkg.build_requires "pl-zlib-#{platform.architecture}" - pkg.install_file "#{settings[:tools_root]}/bin/zlib1.dll", "#{settings[:bindir]}/zlib1.dll" - elsif platform.name =~ /el-6|redhatfips-7/ - libbase = platform.architecture =~ /64/ ? 'lib64' : 'lib' - libdir = "/opt/pl-build-tools/#{libbase}" - pkg.add_source "file://resources/files/runtime/runtime.sh" - pkg.install do - "bash runtime.sh #{libdir}" - end - end - # Nothing needed for platforms without pl-build-tools -end diff --git a/configs/projects/_shared-client-tools-runtime.rb b/configs/projects/_shared-client-tools-runtime.rb deleted file mode 100644 index 784dfd9b..00000000 --- a/configs/projects/_shared-client-tools-runtime.rb +++ /dev/null @@ -1,115 +0,0 @@ -# This project is designed for reuse by branch-specific client-tools-runtime configs; -# See configs/projects/client-tools-runtime-.rb -unless defined?(proj) - warn('This is the base project for the client-tools runtime.') - warn('Please choose one of the other client-tools projects instead.') - exit 1 -end - -proj.setting(:runtime_project, 'client-tools') - -proj.generate_archives true -proj.generate_packages false - -proj.description "The client-tools runtime contains third-party components needed for client-tools" -proj.license "See components" -proj.vendor "Vox Pupuli " -proj.homepage "https://github.com/OpenVoxProject" -proj.identifier "org.voxpupuli" -proj.version_from_git - -platform = proj.get_platform - -if proj.settings[:openssl_version] - # already defined in the project -elsif platform.name =~ /^redhatfips-*/ - proj.setting(:openssl_version, '1.1.1-fips') -else - proj.setting(:openssl_version, '1.1.1') -end - -if platform.is_windows? - # Windows Installer settings. - proj.setting(:company_id, "PuppetLabs") - proj.setting(:product_id, "Client") - if platform.architecture == "x64" - proj.setting(:base_dir, "ProgramFiles64Folder") - else - proj.setting(:base_dir, "ProgramFilesFolder") - end - - proj.setting(:prefix, File.join("C:", proj.base_dir, proj.company_id, proj.product_id, 'tools')) -else - proj.setting(:prefix, "/opt/puppetlabs/client-tools") -end - -proj.setting(:bindir, File.join(proj.prefix, "bin")) -proj.setting(:libdir, File.join(proj.prefix, "lib")) -proj.setting(:includedir, File.join(proj.prefix, "include")) -proj.setting(:datadir, File.join(proj.prefix, "share")) -proj.setting(:mandir, File.join(proj.datadir, "man")) - -proj.setting(:host, "--host #{platform.platform_triple}") if platform.is_windows? -proj.setting(:platform_triple, platform.platform_triple) - -# These are the boost libraries we care about for leatherman -proj.setting(:boost_libs, ["chrono", "date_time", "filesystem", "locale", "log", "program_options", - "regex", "system", "thread"]) -proj.setting(:boost_link_option, "") -proj.setting(:boost_bootstrap_flags, "--without-icu") -proj.setting(:boost_b2_flags, "--disable-icu") -proj.setting(:boost_b2_install_flags, "boost.locale.icu=off") - -if platform.is_macos? - # For macOS, we should optimize for an older architecture than Apple - # currently ships for; there's a lot of older xeon chips based on - # that architecture still in use throughout the Mac ecosystem. - # Additionally, macOS doesn't use RPATH for linking. We shouldn't - # define it or try to force it in the linker, because this might - # break gcc or clang if they try to use the RPATH values we forced. - proj.setting(:cppflags, "-I#{proj.includedir}") - proj.setting(:ldflags, "-L#{proj.libdir} ") - if platform.is_cross_compiled? - # The core2 architecture is not available on M1 Macs - proj.setting(:cflags, "#{proj.cppflags}") - proj.setting(:host, "--host aarch64-apple-darwin --build x86_64-apple-darwin --target aarch64-apple-darwin") - elsif platform.architecture == 'arm64' - proj.setting(:cflags, "#{proj.cppflags}") - else - proj.setting(:cflags, "-march=core2 -msse4 #{proj.cppflags}") - end -elsif platform.is_windows? - arch = platform.architecture == "x64" ? "64" : "32" - proj.setting(:gcc_root, "C:/tools/mingw#{arch}") - proj.setting(:gcc_bindir, "#{proj.gcc_root}/bin") - proj.setting(:tools_root, "C:/tools/pl-build-tools") - proj.setting(:chocolatey_bin, 'C:/ProgramData/chocolatey/bin') - proj.setting(:cppflags, "-I#{proj.tools_root}/include -I#{proj.gcc_root}/include -I#{proj.includedir}") - proj.setting(:cflags, "#{proj.cppflags}") - proj.setting(:ldflags, "-L#{proj.tools_root}/lib -L#{proj.gcc_root}/lib -L#{proj.libdir} -Wl,--nxcompat -Wl,--dynamicbase") - proj.setting(:cygwin, "nodosfilewarning winsymlinks:native") -else - proj.setting(:tools_root, "/opt/pl-build-tools") - proj.setting(:cppflags, "-I#{proj.includedir} -I/opt/pl-build-tools/include") - proj.setting(:cflags, "#{proj.cppflags}") - proj.setting(:ldflags, "-L#{proj.libdir} -L/opt/pl-build-tools/lib -Wl,-rpath=#{proj.libdir}") -end - -# What to build? -# -------------- - -# Common deps -proj.component "runtime-client-tools" -proj.component "openssl-#{proj.openssl_version}" -proj.component "curl" -proj.component "puppet-ca-bundle" -proj.component "libicu" -proj.component "boost" - -# What to include in package? -proj.directory proj.prefix - -# Export the settings for the current project and platform as yaml during builds -proj.publish_yaml_settings - -proj.timeout 7200 if platform.is_windows? diff --git a/configs/projects/client-tools-runtime-main.rb b/configs/projects/client-tools-runtime-main.rb deleted file mode 100644 index 3447eb01..00000000 --- a/configs/projects/client-tools-runtime-main.rb +++ /dev/null @@ -1,6 +0,0 @@ -project 'client-tools-runtime-main' do |proj| - proj.setting(:openssl_version, '3.0') - - # Common settings - instance_eval File.read(File.join(File.dirname(__FILE__), '_shared-client-tools-runtime.rb')) -end