From d2a42c9c74af732c500c0e60c2b670c31766868e Mon Sep 17 00:00:00 2001 From: John McCrae Date: Fri, 26 Sep 2025 15:32:08 +0000 Subject: [PATCH 01/13] updating rest-client and oc-chef-pedant Signed-off-by: John McCrae --- Gemfile | 4 ++-- chef-zero.gemspec | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 2903d67..b7444b9 100644 --- a/Gemfile +++ b/Gemfile @@ -2,10 +2,10 @@ source "https://rubygems.org" gemspec -# gem 'rest-client', :git => 'https://github.com/chef/rest-client.git' +gem 'rest-client', :git => 'https://github.com/chef/rest-client.git', branch: 'jfm/ucrt_update1' group :pedant do - gem "oc-chef-pedant", git: "https://github.com/chef/chef-server.git", branch: "main" + gem "oc-chef-pedant", git: "https://github.com/chef/chef-server.git", branch: "jfm/chef-activesupport-update" end gem "ffi", ">= 1.15.5" diff --git a/chef-zero.gemspec b/chef-zero.gemspec index 672d7c3..5868a67 100644 --- a/chef-zero.gemspec +++ b/chef-zero.gemspec @@ -16,7 +16,7 @@ Gem::Specification.new do |s| # Note: 7.1.0 does not defaults its cache_format_version to 7.1 but 6.1 instead which gives deprecation warnings # Remove the version constraint when we can upgrade to 7.1.1 post stable release of Activesupport 7.1 # Similar issue with 7.0 existed: https://github.com/rails/rails/pull/45293 - s.add_dependency "activesupport", ">= 7", "< 8.1" + s.add_dependency "activesupport", "~> 7.1.5" s.add_dependency "mixlib-log", ">= 2.0", "< 4.0" s.add_dependency "hashie", ">= 2.0", "< 6.0" s.add_dependency "uuidtools", "~> 2.1" From 0699f8488321191a77a97de3f33504d458fc9b8d Mon Sep 17 00:00:00 2001 From: John McCrae Date: Fri, 26 Sep 2025 15:50:01 +0000 Subject: [PATCH 02/13] updating rest-client and oc-chef-pedant Signed-off-by: John McCrae --- Gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index b7444b9..a7c1ca8 100644 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,7 @@ source "https://rubygems.org" gemspec -gem 'rest-client', :git => 'https://github.com/chef/rest-client.git', branch: 'jfm/ucrt_update1' +gem "rest-client", git: "https://github.com/chef/rest-client.git", branch: "jfm/ucrt_update1" group :pedant do gem "oc-chef-pedant", git: "https://github.com/chef/chef-server.git", branch: "jfm/chef-activesupport-update" From 6564dfa0645f54ad2a25557ff0007720c3148337 Mon Sep 17 00:00:00 2001 From: John McCrae Date: Fri, 26 Sep 2025 16:32:23 +0000 Subject: [PATCH 03/13] pinning fiddle to 1.1.0 so dependencies dont bring in newer versions Signed-off-by: John McCrae --- chef-zero.gemspec | 1 + 1 file changed, 1 insertion(+) diff --git a/chef-zero.gemspec b/chef-zero.gemspec index 5868a67..7c0dddb 100644 --- a/chef-zero.gemspec +++ b/chef-zero.gemspec @@ -25,6 +25,7 @@ Gem::Specification.new do |s| s.add_dependency "rackup", "~> 2.2", ">= 2.2.1" s.add_dependency "unf_ext", "~> 0.0.8" s.add_dependency "webrick" + s.add_dependency "fiddle", "1.1.0" s.bindir = "bin" s.executables = ["chef-zero"] From f5247a1426b56a97b45696258197c6441629a37d Mon Sep 17 00:00:00 2001 From: John McCrae Date: Fri, 26 Sep 2025 16:46:44 +0000 Subject: [PATCH 04/13] pinning fiddle to 1.1.0 so dependencies dont bring in newer versions Signed-off-by: John McCrae --- chef-zero.gemspec | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/chef-zero.gemspec b/chef-zero.gemspec index 7c0dddb..e676931 100644 --- a/chef-zero.gemspec +++ b/chef-zero.gemspec @@ -25,7 +25,16 @@ Gem::Specification.new do |s| s.add_dependency "rackup", "~> 2.2", ">= 2.2.1" s.add_dependency "unf_ext", "~> 0.0.8" s.add_dependency "webrick" - s.add_dependency "fiddle", "1.1.0" + + # We are running into some challenging things with activesupport and fiddle. + # Chef-18 requires Ruby 3.1 and Chef-19 requires Ruby 3.4. They have incompatible dependencies on activesupport and fiddle + # Activesupport 7.1.3.2 also has a CVE in it which requires an upgrade to 7.1.5.2. Activesupport 7.1.5 requires fiddle = 1.1.0, but Chef-19 requires fiddle >= 1.1.6. + # Also, fiddle is a built-in gem for Ruby 3.1 but is broken out into a separate gem starting in Ruby 3.2. + if Gem::Version.new(RUBY_VERSION) <= Gem::Version.new("3.1.7") + s.add_dependency "fiddle", "= 1.1.0" + else + s.add_dependency "fiddle", ">= 1.1.6" + end s.bindir = "bin" s.executables = ["chef-zero"] From 4a5cf8e60b61dc572b4dc81cfb0ad9816d06f1f4 Mon Sep 17 00:00:00 2001 From: John McCrae Date: Fri, 26 Sep 2025 16:48:03 +0000 Subject: [PATCH 05/13] pinning fiddle to 1.1.0 so dependencies dont bring in newer versions Signed-off-by: John McCrae --- chef-zero.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chef-zero.gemspec b/chef-zero.gemspec index e676931..a6fe950 100644 --- a/chef-zero.gemspec +++ b/chef-zero.gemspec @@ -26,7 +26,7 @@ Gem::Specification.new do |s| s.add_dependency "unf_ext", "~> 0.0.8" s.add_dependency "webrick" - # We are running into some challenging things with activesupport and fiddle. + # We are running into some challenging things with activesupport and fiddle. # Chef-18 requires Ruby 3.1 and Chef-19 requires Ruby 3.4. They have incompatible dependencies on activesupport and fiddle # Activesupport 7.1.3.2 also has a CVE in it which requires an upgrade to 7.1.5.2. Activesupport 7.1.5 requires fiddle = 1.1.0, but Chef-19 requires fiddle >= 1.1.6. # Also, fiddle is a built-in gem for Ruby 3.1 but is broken out into a separate gem starting in Ruby 3.2. From b9b214b147f0e82feb14d73deb24bdf750e52377 Mon Sep 17 00:00:00 2001 From: John McCrae Date: Fri, 26 Sep 2025 16:55:46 +0000 Subject: [PATCH 06/13] pinning fiddle to 1.1.0 so dependencies dont bring in newer versions Signed-off-by: John McCrae --- chef-zero.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chef-zero.gemspec b/chef-zero.gemspec index a6fe950..86573cf 100644 --- a/chef-zero.gemspec +++ b/chef-zero.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |s| if Gem::Version.new(RUBY_VERSION) <= Gem::Version.new("3.1.7") s.add_dependency "fiddle", "= 1.1.0" else - s.add_dependency "fiddle", ">= 1.1.6" + s.add_dependency "fiddle", ">= 1.1.8" end s.bindir = "bin" From d3024182cb0cf92fb050670bfad89cc0fc97495a Mon Sep 17 00:00:00 2001 From: John McCrae Date: Mon, 29 Sep 2025 16:28:23 +0000 Subject: [PATCH 07/13] updating dependencies Signed-off-by: John McCrae --- Gemfile | 14 +++++++------- chef-zero.gemspec | 6 ++---- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/Gemfile b/Gemfile index a7c1ca8..d3e85d9 100644 --- a/Gemfile +++ b/Gemfile @@ -21,13 +21,13 @@ group :style do gem "cookstyle", "~> 8.2" end -if ENV["GEMFILE_MOD"] - puts "GEMFILE_MOD: #{ENV["GEMFILE_MOD"]}" - instance_eval(ENV["GEMFILE_MOD"]) -else - gem "chef", "~> 18.7" - gem "ohai", "~> 18.1" -end +# if ENV["GEMFILE_MOD"] +# puts "GEMFILE_MOD: #{ENV["GEMFILE_MOD"]}" +# instance_eval(ENV["GEMFILE_MOD"]) +# else +# gem "chef", "~> 18.7" +# gem "ohai", "~> 18.1" +# end group :debug do gem "pry" diff --git a/chef-zero.gemspec b/chef-zero.gemspec index 86573cf..f2018cf 100644 --- a/chef-zero.gemspec +++ b/chef-zero.gemspec @@ -13,10 +13,6 @@ Gem::Specification.new do |s| s.required_ruby_version = ">= 3.0" - # Note: 7.1.0 does not defaults its cache_format_version to 7.1 but 6.1 instead which gives deprecation warnings - # Remove the version constraint when we can upgrade to 7.1.1 post stable release of Activesupport 7.1 - # Similar issue with 7.0 existed: https://github.com/rails/rails/pull/45293 - s.add_dependency "activesupport", "~> 7.1.5" s.add_dependency "mixlib-log", ">= 2.0", "< 4.0" s.add_dependency "hashie", ">= 2.0", "< 6.0" s.add_dependency "uuidtools", "~> 2.1" @@ -32,8 +28,10 @@ Gem::Specification.new do |s| # Also, fiddle is a built-in gem for Ruby 3.1 but is broken out into a separate gem starting in Ruby 3.2. if Gem::Version.new(RUBY_VERSION) <= Gem::Version.new("3.1.7") s.add_dependency "fiddle", "= 1.1.0" + s.add_dependency "activesupport", "~> 7.1.5" else s.add_dependency "fiddle", ">= 1.1.8" + s.add_dependency "activesupport", "~> 7.2.2" end s.bindir = "bin" From 8b2102e7a63ce64b46af97b4a175bb5800c0aa8c Mon Sep 17 00:00:00 2001 From: John McCrae Date: Mon, 29 Sep 2025 17:40:23 +0000 Subject: [PATCH 08/13] updating dependencies Signed-off-by: John McCrae --- Gemfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Gemfile b/Gemfile index d3e85d9..98f4626 100644 --- a/Gemfile +++ b/Gemfile @@ -21,6 +21,12 @@ group :style do gem "cookstyle", "~> 8.2" end +if Gem::Version.new(RUBY_VERSION) <= Gem::Version.new("3.1.7") + gem "chef", git: "https://github.com/chef/chef.git", branch: "chef-18" +else + gem "chef", git: "https://github.com/chef/chef.git", branch: "main" +end + # if ENV["GEMFILE_MOD"] # puts "GEMFILE_MOD: #{ENV["GEMFILE_MOD"]}" # instance_eval(ENV["GEMFILE_MOD"]) From 3cc1ac35449cc631df6fbe461910c19223c67022 Mon Sep 17 00:00:00 2001 From: John McCrae Date: Mon, 29 Sep 2025 17:55:40 +0000 Subject: [PATCH 09/13] updating dependencies Signed-off-by: John McCrae --- Gemfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Gemfile b/Gemfile index 98f4626..1af1f80 100644 --- a/Gemfile +++ b/Gemfile @@ -23,8 +23,10 @@ end if Gem::Version.new(RUBY_VERSION) <= Gem::Version.new("3.1.7") gem "chef", git: "https://github.com/chef/chef.git", branch: "chef-18" + gem "chef-utils", git: "https://github.com/chef/chef.git", branch: "chef-18", glob: "chef-utils/chef-utils.gemspec" else gem "chef", git: "https://github.com/chef/chef.git", branch: "main" + gem "chef-utils", git: "https://github.com/chef/chef.git", branch: "main", glob: "chef-utils/chef-utils.gemspec" end # if ENV["GEMFILE_MOD"] From f10a139a2844e80494040b4b2d18870fa38ddf6e Mon Sep 17 00:00:00 2001 From: John McCrae Date: Mon, 29 Sep 2025 19:03:43 +0000 Subject: [PATCH 10/13] updating dependencies Signed-off-by: John McCrae --- chef-zero.gemspec | 1 + 1 file changed, 1 insertion(+) diff --git a/chef-zero.gemspec b/chef-zero.gemspec index f2018cf..cdc7a1e 100644 --- a/chef-zero.gemspec +++ b/chef-zero.gemspec @@ -21,6 +21,7 @@ Gem::Specification.new do |s| s.add_dependency "rackup", "~> 2.2", ">= 2.2.1" s.add_dependency "unf_ext", "~> 0.0.8" s.add_dependency "webrick" + s.add_dependency "chef-utils" # We are running into some challenging things with activesupport and fiddle. # Chef-18 requires Ruby 3.1 and Chef-19 requires Ruby 3.4. They have incompatible dependencies on activesupport and fiddle From 00e90255b866b824090507a2ec37e701e2b83ebe Mon Sep 17 00:00:00 2001 From: John McCrae Date: Mon, 29 Sep 2025 19:09:39 +0000 Subject: [PATCH 11/13] updating dependencies Signed-off-by: John McCrae --- chef-zero.gemspec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/chef-zero.gemspec b/chef-zero.gemspec index cdc7a1e..a43a7ec 100644 --- a/chef-zero.gemspec +++ b/chef-zero.gemspec @@ -22,17 +22,15 @@ Gem::Specification.new do |s| s.add_dependency "unf_ext", "~> 0.0.8" s.add_dependency "webrick" s.add_dependency "chef-utils" - + s.add_dependency "activesupport", "~> 7.1.5" # We are running into some challenging things with activesupport and fiddle. # Chef-18 requires Ruby 3.1 and Chef-19 requires Ruby 3.4. They have incompatible dependencies on activesupport and fiddle # Activesupport 7.1.3.2 also has a CVE in it which requires an upgrade to 7.1.5.2. Activesupport 7.1.5 requires fiddle = 1.1.0, but Chef-19 requires fiddle >= 1.1.6. # Also, fiddle is a built-in gem for Ruby 3.1 but is broken out into a separate gem starting in Ruby 3.2. if Gem::Version.new(RUBY_VERSION) <= Gem::Version.new("3.1.7") s.add_dependency "fiddle", "= 1.1.0" - s.add_dependency "activesupport", "~> 7.1.5" else s.add_dependency "fiddle", ">= 1.1.8" - s.add_dependency "activesupport", "~> 7.2.2" end s.bindir = "bin" From 21a77b2ef1d39a7c27035be804930edf15b0d611 Mon Sep 17 00:00:00 2001 From: John McCrae Date: Mon, 29 Sep 2025 19:12:23 +0000 Subject: [PATCH 12/13] updating dependencies Signed-off-by: John McCrae --- Gemfile | 4 ++-- chef-zero.gemspec | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 1af1f80..6841ae0 100644 --- a/Gemfile +++ b/Gemfile @@ -22,11 +22,11 @@ group :style do end if Gem::Version.new(RUBY_VERSION) <= Gem::Version.new("3.1.7") - gem "chef", git: "https://github.com/chef/chef.git", branch: "chef-18" gem "chef-utils", git: "https://github.com/chef/chef.git", branch: "chef-18", glob: "chef-utils/chef-utils.gemspec" + gem "chef", git: "https://github.com/chef/chef.git", branch: "chef-18" else - gem "chef", git: "https://github.com/chef/chef.git", branch: "main" gem "chef-utils", git: "https://github.com/chef/chef.git", branch: "main", glob: "chef-utils/chef-utils.gemspec" + gem "chef", git: "https://github.com/chef/chef.git", branch: "main" end # if ENV["GEMFILE_MOD"] diff --git a/chef-zero.gemspec b/chef-zero.gemspec index a43a7ec..f48a30f 100644 --- a/chef-zero.gemspec +++ b/chef-zero.gemspec @@ -21,7 +21,6 @@ Gem::Specification.new do |s| s.add_dependency "rackup", "~> 2.2", ">= 2.2.1" s.add_dependency "unf_ext", "~> 0.0.8" s.add_dependency "webrick" - s.add_dependency "chef-utils" s.add_dependency "activesupport", "~> 7.1.5" # We are running into some challenging things with activesupport and fiddle. # Chef-18 requires Ruby 3.1 and Chef-19 requires Ruby 3.4. They have incompatible dependencies on activesupport and fiddle From ca82e44cdd58c283e933912694ce3ca994d8ae98 Mon Sep 17 00:00:00 2001 From: John McCrae Date: Mon, 29 Sep 2025 19:23:57 +0000 Subject: [PATCH 13/13] updating dependencies Signed-off-by: John McCrae --- Gemfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 6841ae0..fd8b36b 100644 --- a/Gemfile +++ b/Gemfile @@ -22,10 +22,10 @@ group :style do end if Gem::Version.new(RUBY_VERSION) <= Gem::Version.new("3.1.7") - gem "chef-utils", git: "https://github.com/chef/chef.git", branch: "chef-18", glob: "chef-utils/chef-utils.gemspec" + gem "chef-utils", git: "https://github.com/chef/chef.git", branch: "chef-18", glob: "chef-utils/chef-utils.gemspec", require: "chef-utils" gem "chef", git: "https://github.com/chef/chef.git", branch: "chef-18" else - gem "chef-utils", git: "https://github.com/chef/chef.git", branch: "main", glob: "chef-utils/chef-utils.gemspec" + gem "chef-utils", git: "https://github.com/chef/chef.git", branch: "main", glob: "chef-utils/chef-utils.gemspec", require: "chef-utils" gem "chef", git: "https://github.com/chef/chef.git", branch: "main" end