chef-cli 5.6.20 → 5.6.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f219b019dc29d8ccf36df3de27450d1353ce9afc04b88c99c1700b9f828725ab
4
- data.tar.gz: a0230c8cde5ba86ce76b8d347bd700cf24b75faf42517b1c1bb7f09a854e9dda
3
+ metadata.gz: '0484f407c36de3f4a1f395826238d937aa802d26f188fc6b2a981e53eeee206f'
4
+ data.tar.gz: d86fe03440295c206011d2f7d7232341fe99a3d0c7786027bff6920542477c18
5
5
  SHA512:
6
- metadata.gz: fc9e29b56a5ad7904ffc6fc802fbb4bc87a0ddb19c2e51a7fd3abc491e53112769dda9e00370a970a6a220bde816cd0d17a0f4b7cafc4616ea14770173d6d7ac
7
- data.tar.gz: d0774dde0d1ac8c48d55a90c6ee7b658467b3ed97f451c1f2e21a966f1c6d68305a923d6259dd0ccaee684f3a529b080fbcc77c2fddcbc2950035d54c1bd81da
6
+ metadata.gz: 97dd2adb6a8f5faa636b72e60d672017b0bc4fa35e1d18290127c7dc1c003db073ed43234320c6d8c8d16f9656d1dfdc0397e1d765a43c320afd845a91e3af53
7
+ data.tar.gz: 52ed991df1bf48b581702d400e605a1a77e1a63e6b6a6c905facf73a6373a9d4819fd67a68f0ca8c2fa325203a156c2018396f6cc5cb83fa97c6e4887351c96a
data/Gemfile CHANGED
@@ -4,6 +4,9 @@ gemspec
4
4
 
5
5
  gem "logger", "< 1.6" # 1.6 causes errors with mixlib-log < 3.1.1
6
6
 
7
+ # Pin psych < 5.2 to avoid build issues on Windows Ruby 3.3 where libyaml headers are unavailable
8
+ gem "psych", "< 5.2" if RUBY_PLATFORM.match?(/mingw|mswin/) && RUBY_VERSION.start_with?("3.3")
9
+
7
10
  group :test do
8
11
  gem "rake"
9
12
  gem "rspec", "~> 3.8"
@@ -17,7 +20,7 @@ end
17
20
 
18
21
  group :development do
19
22
  gem "pry"
20
- gem "pry-byebug"
23
+ gem "pry-byebug", platforms: :ruby # byebug doesn't work on Windows
21
24
  gem "rb-readline"
22
25
  end
23
26
 
data/chef-cli.gemspec CHANGED
@@ -42,7 +42,7 @@ Gem::Specification.new do |gem|
42
42
  gem.add_dependency "mixlib-cli", ">= 1.7", "< 3.0"
43
43
  gem.add_dependency "mixlib-shellout", ">= 2.0", "< 4.0"
44
44
  gem.add_dependency "ffi-yajl", ">= 1.0", "< 3.0"
45
- gem.add_dependency "minitar", "~> 0.6"
45
+ gem.add_dependency "minitar", "~> 1.0"
46
46
  gem.add_dependency "chef", "~> 18.0"
47
47
  gem.add_dependency "solve", "< 5.0", "> 2.0"
48
48
  gem.add_dependency "addressable", ">= 2.3.5", "< 2.9"
@@ -66,7 +66,10 @@ module ChefCLI
66
66
  end
67
67
 
68
68
  def client_for_thread
69
- Thread.current[:chef_server_api_multi] ||= Chef::ServerAPI.new(@url, @opts)
69
+ # Use thread_variable_* methods instead of Thread.current[] to avoid
70
+ # fiber-local variable issues and provide better thread isolation
71
+ Thread.current.thread_variable_get(:chef_server_api_multi) ||
72
+ Thread.current.thread_variable_set(:chef_server_api_multi, Chef::ServerAPI.new(@url, @opts))
70
73
  end
71
74
 
72
75
  end
@@ -20,7 +20,7 @@ require "fileutils" unless defined?(FileUtils)
20
20
  require "tmpdir" unless defined?(Dir.mktmpdir)
21
21
  require "zlib" unless defined?(Zlib)
22
22
 
23
- require "archive/tar/minitar"
23
+ require "minitar"
24
24
 
25
25
  require "chef/cookbook/chefignore"
26
26
 
@@ -16,7 +16,7 @@
16
16
  #
17
17
 
18
18
  require "zlib" unless defined?(Zlib)
19
- require "archive/tar/minitar"
19
+ require "minitar"
20
20
 
21
21
  require_relative "../service_exceptions"
22
22
  require_relative "../policyfile_lock"
@@ -16,5 +16,5 @@
16
16
  #
17
17
 
18
18
  module ChefCLI
19
- VERSION = "5.6.20".freeze
19
+ VERSION = "5.6.23".freeze
20
20
  end
@@ -44,7 +44,7 @@ describe ChefCLI::ChefServerAPIMulti do
44
44
  before do
45
45
  # clean out thread local storage or else `chef_server_api` instance double
46
46
  # will get re-used across test examples and rspec will complain:
47
- Thread.current[:chef_server_api_multi] = nil
47
+ Thread.current.thread_variable_set(:chef_server_api_multi, nil)
48
48
  allow(Chef::ServerAPI).to receive(:new).with(url, expected_server_api_opts).and_return(chef_server_api)
49
49
  end
50
50
 
@@ -57,8 +57,8 @@ describe ChefCLI::ChefServerAPIMulti do
57
57
  end
58
58
 
59
59
  it "creates a thread-local Chef::ServerAPI object for requests" do
60
- server_api_multi.client_for_thread # force `||=` to run
61
- expect(server_api_multi.client_for_thread).to eq(Thread.current[:chef_server_api_multi])
60
+ server_api_multi.client_for_thread # force lazy initialization to run
61
+ expect(server_api_multi.client_for_thread).to eq(Thread.current.thread_variable_get(:chef_server_api_multi))
62
62
  end
63
63
 
64
64
  describe "when keepalives are disabled" do
@@ -24,7 +24,7 @@ describe ChefCLI::PolicyfileServices::PushArchive do
24
24
 
25
25
  def create_archive
26
26
  Zlib::GzipWriter.open(archive_file_path) do |gz_file|
27
- Archive::Tar::Minitar::Writer.open(gz_file) do |tar|
27
+ Minitar::Writer.open(gz_file) do |tar|
28
28
 
29
29
  archive_dirs.each do |dir|
30
30
  tar.mkdir(dir, mode: 0755)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.6.20
4
+ version: 5.6.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chef Software, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-05-09 00:00:00.000000000 Z
11
+ date: 2025-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mixlib-cli
@@ -76,14 +76,14 @@ dependencies:
76
76
  requirements:
77
77
  - - "~>"
78
78
  - !ruby/object:Gem::Version
79
- version: '0.6'
79
+ version: '1.0'
80
80
  type: :runtime
81
81
  prerelease: false
82
82
  version_requirements: !ruby/object:Gem::Requirement
83
83
  requirements:
84
84
  - - "~>"
85
85
  - !ruby/object:Gem::Version
86
- version: '0.6'
86
+ version: '1.0'
87
87
  - !ruby/object:Gem::Dependency
88
88
  name: chef
89
89
  requirement: !ruby/object:Gem::Requirement