chef 15.11.8-universal-mingw32 → 15.12.22-universal-mingw32
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 +4 -4
- data/Gemfile +2 -3
- data/README.md +3 -3
- data/chef.gemspec +3 -3
- data/distro/powershell/chef/chef.psm1 +3 -3
- data/distro/templates/powershell/chef/chef.psm1.erb +3 -3
- data/lib/chef/application/apply.rb +1 -1
- data/lib/chef/chef_fs/path_utils.rb +3 -3
- data/lib/chef/cookbook/file_system_file_vendor.rb +1 -1
- data/lib/chef/data_bag.rb +2 -2
- data/lib/chef/data_collector/error_handlers.rb +1 -1
- data/lib/chef/deprecated.rb +8 -0
- data/lib/chef/dsl/declare_resource.rb +1 -1
- data/lib/chef/dsl/platform_introspection.rb +2 -0
- data/lib/chef/knife/bootstrap.rb +3 -6
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +9 -9
- data/lib/chef/provider/package/cab.rb +1 -1
- data/lib/chef/provider/package/chocolatey.rb +1 -1
- data/lib/chef/provider/package/msu.rb +1 -0
- data/lib/chef/provider/package/powershell.rb +5 -1
- data/lib/chef/provider/package/snap.rb +96 -27
- data/lib/chef/provider/zypper_repository.rb +30 -10
- data/lib/chef/resource/archive_file.rb +28 -8
- data/lib/chef/resource/cron_access.rb +11 -3
- data/lib/chef/resource/hostname.rb +2 -1
- data/lib/chef/resource/msu_package.rb +5 -0
- data/lib/chef/version.rb +1 -1
- data/spec/functional/resource/msu_package_spec.rb +5 -2
- data/spec/functional/resource/windows_task_spec.rb +8 -8
- data/spec/unit/application_spec.rb +7 -0
- data/spec/unit/data_bag_spec.rb +1 -1
- data/spec/unit/knife/bootstrap_spec.rb +2 -2
- data/spec/unit/mixin/user_context_spec.rb +1 -9
- data/spec/unit/property_spec.rb +1 -1
- data/spec/unit/provider/package/powershell_spec.rb +95 -86
- data/spec/unit/provider/package/snap_spec.rb +1 -1
- data/spec/unit/provider/zypper_repository_spec.rb +75 -25
- data/spec/unit/resource/archive_file_spec.rb +11 -2
- data/spec/unit/resource/msu_package_spec.rb +4 -0
- data/spec/unit/resource/windows_dns_record_spec.rb +3 -3
- data/spec/unit/resource/windows_dns_zone_spec.rb +2 -2
- data/spec/unit/resource/windows_task_spec.rb +1 -1
- data/spec/unit/resource/windows_uac_spec.rb +2 -2
- data/spec/unit/resource/yum_repository_spec.rb +21 -21
- data/spec/unit/resource_spec.rb +1 -1
- data/spec/unit/util/threaded_job_queue_spec.rb +9 -0
- metadata +22 -16
@@ -169,7 +169,7 @@ describe Chef::Provider::Package::Snap do
|
|
169
169
|
|
170
170
|
it "does not throw an error if installed version not found" do
|
171
171
|
provider.load_current_resource
|
172
|
-
expect(provider.get_current_versions).to eq([
|
172
|
+
expect(provider.get_current_versions).to eq([])
|
173
173
|
end
|
174
174
|
end
|
175
175
|
end
|
@@ -18,22 +18,50 @@
|
|
18
18
|
|
19
19
|
require "spec_helper"
|
20
20
|
|
21
|
-
# Output of the command:
|
22
|
-
# => rpm -qa gpg-pubkey*
|
23
|
-
RPM_KEYS = <<~EOF.freeze
|
24
|
-
gpg-pubkey-307e3d54-4be01a65
|
25
|
-
gpg-pubkey-3dbdc284-53674dd4
|
26
|
-
EOF
|
27
|
-
|
28
|
-
# Output of the command:
|
29
|
-
# => gpg --with-fingerprint [FILE]
|
30
|
-
ZYPPER_GPG_FINGER = <<~EOF.freeze
|
31
|
-
pub 2048R/3DBDC284 2011-08-19 [expires: 2024-06-14]
|
32
|
-
Key fingerprint = 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
|
33
|
-
uid nginx signing key <signing-key@nginx.com>
|
34
|
-
EOF
|
35
|
-
|
36
21
|
describe Chef::Provider::ZypperRepository do
|
22
|
+
# Output of the command:
|
23
|
+
# => rpm -qa gpg-pubkey*
|
24
|
+
ZYPPER_RPM_KEYS = <<~EOF.freeze
|
25
|
+
gpg-pubkey-307e3d54-4be01a65
|
26
|
+
gpg-pubkey-3dbdc284-53674dd4
|
27
|
+
EOF
|
28
|
+
|
29
|
+
# Output of the command:
|
30
|
+
# => gpg --with-fingerprint [FILE]
|
31
|
+
ZYPPER_GPG_20 = <<~EOF.freeze
|
32
|
+
pub 2048R/3DBDC284 2011-08-19 [expires: 2024-06-14]
|
33
|
+
Key fingerprint = 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
|
34
|
+
uid nginx signing key <signing-key@nginx.com>
|
35
|
+
EOF
|
36
|
+
|
37
|
+
# Output of the command:
|
38
|
+
# => gpg --import-options import-show --dry-run --import --with-colons [FILE]
|
39
|
+
ZYPPER_GPG_22 = <<~EOF.freeze
|
40
|
+
pub:-:2048:1:ABF5BD827BD9BF62:1313747554:1718374819::-:::scSC::::::23::0:
|
41
|
+
fpr:::::::::573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62:
|
42
|
+
uid:-::::1466086904::F18C4DBBFCB45099ABB59088DB6B252FA7E9FB41::nginx signing key <signing-key@nginx.com>::::::::::0:
|
43
|
+
gpg: Total number processed: 1
|
44
|
+
EOF
|
45
|
+
|
46
|
+
# Output of the command:
|
47
|
+
# -> gpg --version
|
48
|
+
ZYPPER_GPG_VERSION = <<~EOF.freeze
|
49
|
+
gpg (GnuPG) 2.2.20
|
50
|
+
libgcrypt 1.8.5
|
51
|
+
Copyright (C) 2020 Free Software Foundation, Inc.
|
52
|
+
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
|
53
|
+
This is free software: you are free to change and redistribute it.
|
54
|
+
There is NO WARRANTY, to the extent permitted by law.
|
55
|
+
|
56
|
+
Home: /Users/tsmith/.gnupg
|
57
|
+
Supported algorithms:
|
58
|
+
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
|
59
|
+
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
|
60
|
+
CAMELLIA128, CAMELLIA192, CAMELLIA256
|
61
|
+
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
|
62
|
+
Compression: Uncompressed, ZIP, ZLIB, BZIP2
|
63
|
+
EOF
|
64
|
+
|
37
65
|
let(:new_resource) { Chef::Resource::ZypperRepository.new("Nginx Repository") }
|
38
66
|
let(:logger) { double("Mixlib::Log::Child").as_null_object }
|
39
67
|
let(:provider) do
|
@@ -45,11 +73,19 @@ describe Chef::Provider::ZypperRepository do
|
|
45
73
|
end
|
46
74
|
|
47
75
|
let(:rpm_key_finger) do
|
48
|
-
double("shell_out", stdout:
|
76
|
+
double("shell_out", stdout: ZYPPER_RPM_KEYS, exitstatus: 0, error?: false)
|
77
|
+
end
|
78
|
+
|
79
|
+
let(:gpg_20) do
|
80
|
+
double("shell_out", stdout: ZYPPER_GPG_20, exitstatus: 0, error?: false)
|
81
|
+
end
|
82
|
+
|
83
|
+
let(:gpg_22) do
|
84
|
+
double("shell_out", stdout: ZYPPER_GPG_22, exitstatus: 0, error?: false)
|
49
85
|
end
|
50
86
|
|
51
|
-
let(:
|
52
|
-
double("shell_out", stdout:
|
87
|
+
let(:gpg_ver) do
|
88
|
+
double("shell_out", stdout: ZYPPER_GPG_VERSION, exitstatus: 0, error?: false)
|
53
89
|
end
|
54
90
|
|
55
91
|
it "responds to load_current_resource" do
|
@@ -96,24 +132,38 @@ describe Chef::Provider::ZypperRepository do
|
|
96
132
|
|
97
133
|
describe "#key_installed?" do
|
98
134
|
before do
|
99
|
-
expect(provider).to receive(:shell_out).with("rpm -qa gpg-pubkey*").and_return(rpm_key_finger)
|
135
|
+
expect(provider).to receive(:shell_out).with("/bin/rpm -qa gpg-pubkey*").and_return(rpm_key_finger)
|
100
136
|
end
|
101
137
|
|
102
138
|
it "returns true if the key is installed" do
|
103
|
-
expect(provider).to receive(:
|
139
|
+
expect(provider).to receive(:short_key_id).and_return("3dbdc284")
|
104
140
|
expect(provider.key_installed?("/foo/nginx.key")).to be_truthy
|
105
141
|
end
|
106
142
|
|
107
143
|
it "returns false if the key is not installed" do
|
108
|
-
expect(provider).to receive(:
|
144
|
+
expect(provider).to receive(:short_key_id).and_return("BOGUS")
|
109
145
|
expect(provider.key_installed?("/foo/nginx.key")).to be_falsey
|
110
146
|
end
|
111
147
|
end
|
112
148
|
|
113
|
-
describe "#
|
114
|
-
it "returns the
|
115
|
-
expect(provider).to receive(:shell_out!).with("gpg --
|
116
|
-
expect(provider.
|
149
|
+
describe "#gpg_version" do
|
150
|
+
it "returns the gpg version by shelling out to gpg" do
|
151
|
+
expect(provider).to receive(:shell_out!).with("gpg --version").and_return(gpg_ver)
|
152
|
+
expect(provider.gpg_version).to eq(Gem::Version.new("2.2.20"))
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
describe "#short_key_id" do
|
157
|
+
it "returns the short key ID via running a dry-run import on gpg 2.2+" do
|
158
|
+
expect(provider).to receive(:gpg_version).and_return(Gem::Version.new("2.2"))
|
159
|
+
expect(provider).to receive(:shell_out!).with("gpg --import-options import-show --dry-run --import --with-colons /foo/nginx.key").and_return(gpg_22)
|
160
|
+
expect(provider.short_key_id("/foo/nginx.key")).to eq("7bd9bf62")
|
161
|
+
end
|
162
|
+
|
163
|
+
it "returns the short key ID via --with-fingerpint on gpg < 2.2" do
|
164
|
+
expect(provider).to receive(:gpg_version).and_return(Gem::Version.new("2.0"))
|
165
|
+
expect(provider).to receive(:shell_out!).with("gpg --with-fingerprint /foo/nginx.key").and_return(gpg_20)
|
166
|
+
expect(provider.short_key_id("/foo/nginx.key")).to eq("3dbdc284")
|
117
167
|
end
|
118
168
|
end
|
119
169
|
|
@@ -18,8 +18,11 @@
|
|
18
18
|
require "spec_helper"
|
19
19
|
|
20
20
|
describe Chef::Resource::ArchiveFile do
|
21
|
-
|
22
|
-
let(:
|
21
|
+
let(:node) { Chef::Node.new }
|
22
|
+
let(:events) { Chef::EventDispatch::Dispatcher.new }
|
23
|
+
let(:run_context) { Chef::RunContext.new(node, {}, events) }
|
24
|
+
let(:resource) { Chef::Resource::ArchiveFile.new("foo", run_context) }
|
25
|
+
let(:provider) { resource.provider_for_action(:extract) }
|
23
26
|
|
24
27
|
it "has a resource name of :archive_file" do
|
25
28
|
expect(resource.resource_name).to eql(:archive_file)
|
@@ -41,6 +44,12 @@ describe Chef::Resource::ArchiveFile do
|
|
41
44
|
expect(resource.mode).to eql("755")
|
42
45
|
end
|
43
46
|
|
47
|
+
it "mode property throws a deprecation warning if Integers are passed" do
|
48
|
+
expect(Chef::Log).to receive(:deprecation)
|
49
|
+
resource.mode 755
|
50
|
+
provider.define_resource_requirements
|
51
|
+
end
|
52
|
+
|
44
53
|
it "options property defaults to [:time]" do
|
45
54
|
expect(resource.options).to eql([:time])
|
46
55
|
end
|
@@ -29,15 +29,15 @@ describe Chef::Resource::WindowsDnsRecord do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it "the record_type property accepts 'CNAME'" do
|
32
|
-
expect { resource.record_type "CNAME" }.not_to raise_error
|
32
|
+
expect { resource.record_type "CNAME" }.not_to raise_error
|
33
33
|
end
|
34
34
|
|
35
35
|
it "the record_type property accepts 'ARecord'" do
|
36
|
-
expect { resource.record_type "ARecord" }.not_to raise_error
|
36
|
+
expect { resource.record_type "ARecord" }.not_to raise_error
|
37
37
|
end
|
38
38
|
|
39
39
|
it "the record_type property accepts 'PTR'" do
|
40
|
-
expect { resource.record_type "PTR" }.not_to raise_error
|
40
|
+
expect { resource.record_type "PTR" }.not_to raise_error
|
41
41
|
end
|
42
42
|
|
43
43
|
it "the resource raises an ArgumentError if invalid record_type is set" do
|
@@ -29,11 +29,11 @@ describe Chef::Resource::WindowsDnsZone do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it "the server_type property accepts 'Standalone'" do
|
32
|
-
expect { resource.server_type "Standalone" }.not_to raise_error
|
32
|
+
expect { resource.server_type "Standalone" }.not_to raise_error
|
33
33
|
end
|
34
34
|
|
35
35
|
it "the server_type property accepts 'Domain'" do
|
36
|
-
expect { resource.server_type "Domain" }.not_to raise_error
|
36
|
+
expect { resource.server_type "Domain" }.not_to raise_error
|
37
37
|
end
|
38
38
|
|
39
39
|
it "the resource raises an ArgumentError if invalid server_type is set" do
|
@@ -144,7 +144,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
|
|
144
144
|
resource.frequency :once
|
145
145
|
resource.random_delay "20"
|
146
146
|
resource.start_time "15:00"
|
147
|
-
expect { resource.after_created }.to_not raise_error
|
147
|
+
expect { resource.after_created }.to_not raise_error
|
148
148
|
end
|
149
149
|
|
150
150
|
it "raises error for invalid random_delay" do
|
@@ -26,7 +26,7 @@ describe Chef::Resource::WindowsUac do
|
|
26
26
|
|
27
27
|
%i{no_prompt secure_prompt_for_creds secure_prompt_for_consent prompt_for_creds prompt_for_consent prompt_for_consent_non_windows_binaries}.each do |val|
|
28
28
|
it "the consent_behavior_admins property accepts :#{val}" do
|
29
|
-
expect { resource.consent_behavior_admins val }.not_to raise_error
|
29
|
+
expect { resource.consent_behavior_admins val }.not_to raise_error
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
@@ -36,7 +36,7 @@ describe Chef::Resource::WindowsUac do
|
|
36
36
|
|
37
37
|
%i{auto_deny secure_prompt_for_creds prompt_for_creds}.each do |val|
|
38
38
|
it "the consent_behavior_users property accepts :#{val}" do
|
39
|
-
expect { resource.consent_behavior_users val }.not_to raise_error
|
39
|
+
expect { resource.consent_behavior_users val }.not_to raise_error
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
@@ -73,52 +73,52 @@ describe Chef::Resource::YumRepository do
|
|
73
73
|
end
|
74
74
|
|
75
75
|
it "the timeout property expects numeric Strings" do
|
76
|
-
expect { resource.timeout "123" }.not_to raise_error
|
76
|
+
expect { resource.timeout "123" }.not_to raise_error
|
77
77
|
expect { resource.timeout "123foo" }.to raise_error(ArgumentError)
|
78
78
|
end
|
79
79
|
|
80
80
|
it "the priority property expects numeric Strings from '1' to '99'" do
|
81
|
-
expect { resource.priority "99" }.not_to raise_error
|
82
|
-
expect { resource.priority "1" }.not_to raise_error
|
81
|
+
expect { resource.priority "99" }.not_to raise_error
|
82
|
+
expect { resource.priority "1" }.not_to raise_error
|
83
83
|
expect { resource.priority "100" }.to raise_error(ArgumentError)
|
84
84
|
expect { resource.priority "0" }.to raise_error(ArgumentError)
|
85
85
|
end
|
86
86
|
|
87
87
|
it "the failovermethod property accepts 'priority' or 'roundrobin'" do
|
88
|
-
expect { resource.failovermethod "priority" }.not_to raise_error
|
89
|
-
expect { resource.failovermethod "roundrobin" }.not_to raise_error
|
88
|
+
expect { resource.failovermethod "priority" }.not_to raise_error
|
89
|
+
expect { resource.failovermethod "roundrobin" }.not_to raise_error
|
90
90
|
expect { resource.failovermethod "bob" }.to raise_error(ArgumentError)
|
91
91
|
end
|
92
92
|
|
93
93
|
it "the http_caching property accepts 'packages', 'all', or 'none'" do
|
94
|
-
expect { resource.http_caching "packages" }.not_to raise_error
|
95
|
-
expect { resource.http_caching "all" }.not_to raise_error
|
96
|
-
expect { resource.http_caching "none" }.not_to raise_error
|
94
|
+
expect { resource.http_caching "packages" }.not_to raise_error
|
95
|
+
expect { resource.http_caching "all" }.not_to raise_error
|
96
|
+
expect { resource.http_caching "none" }.not_to raise_error
|
97
97
|
expect { resource.http_caching "bob" }.to raise_error(ArgumentError)
|
98
98
|
end
|
99
99
|
|
100
100
|
it "the metadata_expire property accepts a time value or 'never'" do
|
101
|
-
expect { resource.metadata_expire "100" }.not_to raise_error
|
102
|
-
expect { resource.metadata_expire "100d" }.not_to raise_error
|
103
|
-
expect { resource.metadata_expire "100h" }.not_to raise_error
|
104
|
-
expect { resource.metadata_expire "100m" }.not_to raise_error
|
105
|
-
expect { resource.metadata_expire "never" }.not_to raise_error
|
101
|
+
expect { resource.metadata_expire "100" }.not_to raise_error
|
102
|
+
expect { resource.metadata_expire "100d" }.not_to raise_error
|
103
|
+
expect { resource.metadata_expire "100h" }.not_to raise_error
|
104
|
+
expect { resource.metadata_expire "100m" }.not_to raise_error
|
105
|
+
expect { resource.metadata_expire "never" }.not_to raise_error
|
106
106
|
expect { resource.metadata_expire "100s" }.to raise_error(ArgumentError)
|
107
107
|
end
|
108
108
|
|
109
109
|
it "the mirror_expire property accepts a time value" do
|
110
|
-
expect { resource.mirror_expire "100" }.not_to raise_error
|
111
|
-
expect { resource.mirror_expire "100d" }.not_to raise_error
|
112
|
-
expect { resource.mirror_expire "100h" }.not_to raise_error
|
113
|
-
expect { resource.mirror_expire "100m" }.not_to raise_error
|
110
|
+
expect { resource.mirror_expire "100" }.not_to raise_error
|
111
|
+
expect { resource.mirror_expire "100d" }.not_to raise_error
|
112
|
+
expect { resource.mirror_expire "100h" }.not_to raise_error
|
113
|
+
expect { resource.mirror_expire "100m" }.not_to raise_error
|
114
114
|
expect { resource.mirror_expire "never" }.to raise_error(ArgumentError)
|
115
115
|
end
|
116
116
|
|
117
117
|
it "the mirrorlist_expire property accepts a time value" do
|
118
|
-
expect { resource.mirrorlist_expire "100" }.not_to raise_error
|
119
|
-
expect { resource.mirrorlist_expire "100d" }.not_to raise_error
|
120
|
-
expect { resource.mirrorlist_expire "100h" }.not_to raise_error
|
121
|
-
expect { resource.mirrorlist_expire "100m" }.not_to raise_error
|
118
|
+
expect { resource.mirrorlist_expire "100" }.not_to raise_error
|
119
|
+
expect { resource.mirrorlist_expire "100d" }.not_to raise_error
|
120
|
+
expect { resource.mirrorlist_expire "100h" }.not_to raise_error
|
121
|
+
expect { resource.mirrorlist_expire "100m" }.not_to raise_error
|
122
122
|
expect { resource.mirrorlist_expire "never" }.to raise_error(ArgumentError)
|
123
123
|
end
|
124
124
|
|
data/spec/unit/resource_spec.rb
CHANGED
@@ -378,7 +378,7 @@ describe Chef::Resource do
|
|
378
378
|
it "does not propagate validation errors" do
|
379
379
|
resource_class = Class.new(Chef::Resource) { property :foo, String, required: true }
|
380
380
|
resource = resource_class.new("required_property_tests")
|
381
|
-
expect { resource.to_text }.to_not raise_error
|
381
|
+
expect { resource.to_text }.to_not raise_error
|
382
382
|
end
|
383
383
|
end
|
384
384
|
end
|
@@ -21,6 +21,15 @@ end
|
|
21
21
|
describe Chef::Util::ThreadedJobQueue do
|
22
22
|
let(:queue) { Chef::Util::ThreadedJobQueue.new }
|
23
23
|
|
24
|
+
around(:example) do |example|
|
25
|
+
old_value = Thread.report_on_exception
|
26
|
+
Thread.report_on_exception = false
|
27
|
+
|
28
|
+
example.run
|
29
|
+
|
30
|
+
Thread.report_on_exception = old_value
|
31
|
+
end
|
32
|
+
|
24
33
|
it "should pass mutex to jobs with an arity of 1" do
|
25
34
|
job = double
|
26
35
|
expect(job).to receive(:arity).at_least(:once).and_return(1)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 15.
|
4
|
+
version: 15.12.22
|
5
5
|
platform: universal-mingw32
|
6
6
|
authors:
|
7
7
|
- Adam Jacob
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chef-config
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 15.
|
19
|
+
version: 15.12.22
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 15.
|
26
|
+
version: 15.12.22
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: chef-utils
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 15.
|
33
|
+
version: 15.12.22
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 15.
|
40
|
+
version: 15.12.22
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: train-core
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -249,7 +249,7 @@ dependencies:
|
|
249
249
|
version: '4.2'
|
250
250
|
- - "<"
|
251
251
|
- !ruby/object:Gem::Version
|
252
|
-
version: '
|
252
|
+
version: '7'
|
253
253
|
type: :runtime
|
254
254
|
prerelease: false
|
255
255
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -259,7 +259,7 @@ dependencies:
|
|
259
259
|
version: '4.2'
|
260
260
|
- - "<"
|
261
261
|
- !ruby/object:Gem::Version
|
262
|
-
version: '
|
262
|
+
version: '7'
|
263
263
|
- !ruby/object:Gem::Dependency
|
264
264
|
name: net-ssh-multi
|
265
265
|
requirement: !ruby/object:Gem::Requirement
|
@@ -284,22 +284,22 @@ dependencies:
|
|
284
284
|
name: net-sftp
|
285
285
|
requirement: !ruby/object:Gem::Requirement
|
286
286
|
requirements:
|
287
|
-
- - "~>"
|
288
|
-
- !ruby/object:Gem::Version
|
289
|
-
version: '2.1'
|
290
287
|
- - ">="
|
291
288
|
- !ruby/object:Gem::Version
|
292
289
|
version: 2.1.2
|
290
|
+
- - "<"
|
291
|
+
- !ruby/object:Gem::Version
|
292
|
+
version: '4.0'
|
293
293
|
type: :runtime
|
294
294
|
prerelease: false
|
295
295
|
version_requirements: !ruby/object:Gem::Requirement
|
296
296
|
requirements:
|
297
|
-
- - "~>"
|
298
|
-
- !ruby/object:Gem::Version
|
299
|
-
version: '2.1'
|
300
297
|
- - ">="
|
301
298
|
- !ruby/object:Gem::Version
|
302
299
|
version: 2.1.2
|
300
|
+
- - "<"
|
301
|
+
- !ruby/object:Gem::Version
|
302
|
+
version: '4.0'
|
303
303
|
- !ruby/object:Gem::Dependency
|
304
304
|
name: ed25519
|
305
305
|
requirement: !ruby/object:Gem::Requirement
|
@@ -400,16 +400,22 @@ dependencies:
|
|
400
400
|
name: ffi-libarchive
|
401
401
|
requirement: !ruby/object:Gem::Requirement
|
402
402
|
requirements:
|
403
|
+
- - "~>"
|
404
|
+
- !ruby/object:Gem::Version
|
405
|
+
version: '1.0'
|
403
406
|
- - ">="
|
404
407
|
- !ruby/object:Gem::Version
|
405
|
-
version:
|
408
|
+
version: 1.0.3
|
406
409
|
type: :runtime
|
407
410
|
prerelease: false
|
408
411
|
version_requirements: !ruby/object:Gem::Requirement
|
409
412
|
requirements:
|
413
|
+
- - "~>"
|
414
|
+
- !ruby/object:Gem::Version
|
415
|
+
version: '1.0'
|
410
416
|
- - ">="
|
411
417
|
- !ruby/object:Gem::Version
|
412
|
-
version:
|
418
|
+
version: 1.0.3
|
413
419
|
- !ruby/object:Gem::Dependency
|
414
420
|
name: chef-zero
|
415
421
|
requirement: !ruby/object:Gem::Requirement
|