berkshelf 5.4.0 → 5.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5e3a4dcddb8f6d12c77772490069f719ead98156
4
- data.tar.gz: dba1a0d5105358905a3c0ca3d54047e02d295ae8
3
+ metadata.gz: 5a3f9e9bd7d92a7838beb8793edcd04cc798c02d
4
+ data.tar.gz: a672c2e4b45781178d2cb349cb223ca6dffd3d0b
5
5
  SHA512:
6
- metadata.gz: f933116dd5dbbe78186a8798e50cb9f15c92749e632fde5a7bdee589a74404d27ad049a020106e8dd5dbde4bba05befab68e2bd0850a388757a021bdcda08b76
7
- data.tar.gz: 5d239e8b15c8a78138776a16a7e1795ea199c26a1978b506441124b23c6f54d54ee3cb5e836071103d6dd6cb919d808b8e674b71f3e6b307c1870c08d0c53e55
6
+ metadata.gz: 3c3144282091497c4ea2ea80e2e360b365a7731123b16184af5aac29fc430265d940c1c5464a2d5d82942055eda7243f67aa47d163bf8e157d1678016f05c7c7
7
+ data.tar.gz: '01729fc8d5d3f4c946cdc507e0b727a0bb808d0cda011d6455b73c0c44338dbe6d76db3bb6f568d6bd9b3ba7dafc88905815bfa2d70c6fe11a04c41311e1bb4c'
@@ -34,7 +34,7 @@ GIT
34
34
  PATH
35
35
  remote: .
36
36
  specs:
37
- berkshelf (5.4.0)
37
+ berkshelf (5.5.0)
38
38
  addressable (~> 2.3, >= 2.3.4)
39
39
  berkshelf-api-client (>= 2.0.2, < 4.0)
40
40
  buff-config (~> 2.0)
@@ -60,7 +60,8 @@ GEM
60
60
  minitest (~> 5.1)
61
61
  thread_safe (~> 0.3, >= 0.3.4)
62
62
  tzinfo (~> 1.1)
63
- addressable (2.4.0)
63
+ addressable (2.5.0)
64
+ public_suffix (~> 2.0, >= 2.0.2)
64
65
  archive (0.0.6)
65
66
  ffi (~> 1.9.3)
66
67
  artifactory (2.5.1)
@@ -87,18 +88,18 @@ GEM
87
88
  buff-ruby_engine (1.0.0)
88
89
  buff-shell_out (1.1.0)
89
90
  buff-ruby_engine (~> 1.0)
90
- builder (3.2.2)
91
+ builder (3.2.3)
91
92
  celluloid (0.16.0)
92
93
  timers (~> 4.0.0)
93
94
  celluloid-io (0.16.2)
94
95
  celluloid (>= 0.16.0)
95
96
  nio4r (>= 1.1.0)
96
- chef-config (12.16.42)
97
+ chef-config (12.17.44)
97
98
  addressable
98
99
  fuzzyurl
99
100
  mixlib-config (~> 2.0)
100
101
  mixlib-shellout (~> 2.0)
101
- chef-zero (5.1.0)
102
+ chef-zero (5.1.1)
102
103
  ffi-yajl (~> 2.2)
103
104
  hashie (>= 2.0, < 4.0)
104
105
  mixlib-log (~> 1.3)
@@ -132,8 +133,8 @@ GEM
132
133
  ffi (~> 1.9)
133
134
  descendants_tracker (0.0.4)
134
135
  thread_safe (~> 0.3, >= 0.3.1)
135
- diff-lcs (1.2.5)
136
- domain_name (0.5.20161021)
136
+ diff-lcs (1.3)
137
+ domain_name (0.5.20161129)
137
138
  unf (>= 0.0.5, < 1.0.0)
138
139
  equalizer (0.0.11)
139
140
  erubis (2.7.0)
@@ -141,7 +142,7 @@ GEM
141
142
  multipart-post (>= 1.2, < 3)
142
143
  faraday-http-cache (2.0.0)
143
144
  faraday (~> 0.8)
144
- ffi (1.9.14)
145
+ ffi (1.9.17)
145
146
  ffi-yajl (2.3.0)
146
147
  libyajl2 (~> 1.2)
147
148
  formatador (0.2.5)
@@ -150,7 +151,7 @@ GEM
150
151
  ruby-progressbar (~> 1.4)
151
152
  fuzzyurl (0.9.0)
152
153
  gherkin (4.0.0)
153
- grape (0.18.0)
154
+ grape (0.19.1)
154
155
  activesupport
155
156
  builder
156
157
  hashie (>= 2.1.0)
@@ -187,7 +188,7 @@ GEM
187
188
  guard (~> 2.0)
188
189
  guard-compat (~> 1.0)
189
190
  spork (>= 0.8.4)
190
- hashdiff (0.3.1)
191
+ hashdiff (0.3.2)
191
192
  hashie (3.4.6)
192
193
  hitimes (1.2.4)
193
194
  http (2.1.0)
@@ -199,25 +200,25 @@ GEM
199
200
  domain_name (~> 0.5)
200
201
  http-form_data (1.0.1)
201
202
  http_parser.rb (0.6.0)
202
- httpclient (2.8.2.4)
203
+ httpclient (2.8.3)
203
204
  i18n (0.7.0)
204
205
  ice_nine (0.11.2)
205
- json (1.8.3)
206
+ json (1.8.6)
206
207
  libyajl2 (1.2.0)
207
208
  listen (3.1.5)
208
209
  rb-fsevent (~> 0.9, >= 0.9.4)
209
210
  rb-inotify (~> 0.9, >= 0.9.7)
210
211
  ruby_dep (~> 1.2)
211
- lumberjack (1.0.10)
212
+ lumberjack (1.0.11)
212
213
  method_source (0.8.2)
213
214
  minitar (0.5.4)
214
- minitest (5.9.1)
215
- mixlib-archive (0.2.0)
215
+ minitest (5.10.1)
216
+ mixlib-archive (0.3.0)
216
217
  mixlib-log
217
218
  mixlib-authentication (1.4.1)
218
219
  mixlib-log
219
220
  mixlib-config (2.2.4)
220
- mixlib-install (2.1.7)
221
+ mixlib-install (2.1.9)
221
222
  artifactory
222
223
  mixlib-shellout
223
224
  mixlib-versioning
@@ -229,7 +230,7 @@ GEM
229
230
  msgpack (1.0.2)
230
231
  multi_json (1.12.1)
231
232
  multi_test (0.1.2)
232
- multi_xml (0.5.5)
233
+ multi_xml (0.6.0)
233
234
  multipart-post (2.0.0)
234
235
  mustermann (0.4.0)
235
236
  tool (~> 0.2)
@@ -238,10 +239,10 @@ GEM
238
239
  nenv (0.3.0)
239
240
  net-scp (1.2.1)
240
241
  net-ssh (>= 2.6.5)
241
- net-ssh (3.2.0)
242
+ net-ssh (4.0.1)
242
243
  net-ssh-gateway (1.2.0)
243
244
  net-ssh (>= 2.6.5)
244
- nio4r (1.2.1)
245
+ nio4r (2.0.0)
245
246
  notiffany (0.1.1)
246
247
  nenv (~> 0.1)
247
248
  shellany (~> 0.0)
@@ -251,11 +252,12 @@ GEM
251
252
  coderay (~> 1.1.0)
252
253
  method_source (~> 0.8.1)
253
254
  slop (~> 3.4)
255
+ public_suffix (2.0.5)
254
256
  rack (2.0.1)
255
257
  rack-accept (0.4.5)
256
258
  rack (>= 0.4)
257
259
  rainbow (2.2.1)
258
- rake (11.3.0)
260
+ rake (12.0.0)
259
261
  rb-fsevent (0.9.8)
260
262
  rb-inotify (0.9.7)
261
263
  ffi (>= 0.5.0)
@@ -311,12 +313,12 @@ GEM
311
313
  molinillo (>= 0.5)
312
314
  semverse (>= 1.1, < 3.0)
313
315
  spork (0.9.2)
314
- test-kitchen (1.14.0)
316
+ test-kitchen (1.15.0)
315
317
  mixlib-install (>= 1.2, < 3.0)
316
318
  mixlib-shellout (>= 1.2, < 3.0)
317
319
  net-scp (~> 1.1)
318
- net-ssh (>= 2.9, < 4.0)
319
- net-ssh-gateway (~> 1.2.0)
320
+ net-ssh (>= 2.9, < 5.0)
321
+ net-ssh-gateway (~> 1.2)
320
322
  safe_yaml (~> 1.0)
321
323
  thor (~> 0.18)
322
324
  thor (0.19.1)
@@ -339,14 +341,14 @@ GEM
339
341
  coercible (~> 1.0)
340
342
  descendants_tracker (~> 0.0, >= 0.0.3)
341
343
  equalizer (~> 0.0, >= 0.0.9)
342
- webmock (2.1.0)
344
+ webmock (2.3.2)
343
345
  addressable (>= 2.3.6)
344
346
  crack (>= 0.3.2)
345
347
  hashdiff
346
- websocket-driver (0.6.4)
348
+ websocket-driver (0.6.5)
347
349
  websocket-extensions (>= 0.1.0)
348
350
  websocket-extensions (0.1.2)
349
- yard (0.9.5)
351
+ yard (0.9.8)
350
352
 
351
353
  PLATFORMS
352
354
  ruby
@@ -376,4 +378,4 @@ DEPENDENCIES
376
378
  yard (>= 0.8)
377
379
 
378
380
  BUNDLED WITH
379
- 1.13.7
381
+ 1.14.2
@@ -629,6 +629,8 @@ module Berkshelf
629
629
  Dir.mktmpdir('vendor') do |scratch|
630
630
  chefignore = nil
631
631
  cached_cookbooks = install
632
+ raw_metadata_files = []
633
+
632
634
  return nil if cached_cookbooks.empty?
633
635
 
634
636
  cached_cookbooks.each do |cookbook|
@@ -647,10 +649,27 @@ module Berkshelf
647
649
  cookbook.compile_metadata(cookbook_destination)
648
650
  end
649
651
 
652
+ raw_metadata_files << File::join(cookbook.cookbook_name, 'metadata.rb')
653
+
650
654
  FileUtils.cp_r(files, cookbook_destination)
651
655
  end
652
656
 
653
- FileSyncer.sync(scratch, destination, exclude: EXCLUDED_VCS_FILES_WHEN_VENDORING, delete: @delete)
657
+ # Don't vendor the raw metadata (metadata.rb). The raw metadata is
658
+ # unecessary for the client, and this is required until compiled metadata
659
+ # (metadata.json) takes precedence over raw metadata in the Chef-Client.
660
+ #
661
+ # We can change back to including the raw metadata in the future after
662
+ # this has been fixed or just remove these comments. There is no
663
+ # circumstance that I can currently think of where raw metadata should
664
+ # ever be read by the client.
665
+ #
666
+ # - Jamie
667
+ #
668
+ # See the following tickets for more information:
669
+ #
670
+ # * https://tickets.opscode.com/browse/CHEF-4811
671
+ # * https://tickets.opscode.com/browse/CHEF-4810
672
+ FileSyncer.sync(scratch, destination, exclude: raw_metadata_files + EXCLUDED_VCS_FILES_WHEN_VENDORING, delete: @delete)
654
673
  end
655
674
 
656
675
  destination
@@ -80,7 +80,7 @@ module Berkshelf
80
80
  Celluloid.logger = nil unless ENV["DEBUG_CELLULOID"]
81
81
  Ridley.open(credentials) { |r| r.cookbook.download(name, version) }
82
82
  when :github
83
- Thread.exclusive { require 'octokit' unless defined?(Octokit) }
83
+ require 'octokit'
84
84
 
85
85
  tmp_dir = Dir.mktmpdir
86
86
  archive_path = File.join(tmp_dir, "#{name}-#{version}.tar.gz")
@@ -124,7 +124,7 @@ module Berkshelf
124
124
 
125
125
  File.join(unpack_dir, cookbook_directory)
126
126
  when :uri
127
- Thread.exclusive { require 'open-uri' unless defined?(OpenURI) }
127
+ require 'open-uri'
128
128
 
129
129
  tmp_dir = Dir.mktmpdir
130
130
  archive_path = Pathname.new(tmp_dir) + "#{name}-#{version}.tar.gz"
@@ -145,8 +145,6 @@ module Berkshelf
145
145
 
146
146
  (unpack_dir + cookbook_directory).to_s
147
147
  when :gitlab
148
- #Thread.exclusive { require 'octokit' unless defined?(Octokit) }
149
-
150
148
  tmp_dir = Dir.mktmpdir
151
149
  archive_path = Pathname.new(tmp_dir) + "#{name}-#{version}.tar.gz"
152
150
  unpack_dir = Pathname.new(tmp_dir) + "#{name}-#{version}"
@@ -1,3 +1,3 @@
1
1
  module Berkshelf
2
- VERSION = "5.4.0"
2
+ VERSION = "5.5.0"
3
3
  end
@@ -387,9 +387,10 @@ describe Berkshelf::Berksfile do
387
387
  describe '#vendor' do
388
388
  let(:cached_cookbook) { double(Berkshelf::CachedCookbook, cookbook_name: 'my_cookbook', path: '/my_cookbook/path', compiled_metadata?: true) }
389
389
  let(:installer) { double(Berkshelf::Installer, run: [cached_cookbook]) }
390
+ let(:raw_metadata_files) { [File::join(cached_cookbook.cookbook_name, 'metadata.rb')] }
390
391
 
391
392
  let(:destination) { '/a/destination/path' }
392
- let(:options) { { :exclude => Berkshelf::Berksfile::EXCLUDED_VCS_FILES_WHEN_VENDORING, delete: nil } }
393
+ let(:options) { { :exclude => raw_metadata_files + Berkshelf::Berksfile::EXCLUDED_VCS_FILES_WHEN_VENDORING, delete: nil } }
393
394
 
394
395
  before do
395
396
  allow(Berkshelf::Installer).to receive(:new).and_return(installer)
@@ -401,9 +402,9 @@ describe Berkshelf::Berksfile do
401
402
  subject.vendor(destination)
402
403
  end
403
404
 
404
- it 'includes the top-level metadata.rb file' do
405
+ it 'excludes the top-level metadata.rb file' do
405
406
  expect(options[:exclude].any? { |exclude| File.fnmatch?(exclude, 'my_cookbook/recipes/metadata.rb', File::FNM_DOTMATCH) }).to be(false)
406
- expect(options[:exclude].any? { |exclude| File.fnmatch?(exclude, 'my_cookbook/metadata.rb', File::FNM_DOTMATCH) }).to be(false)
407
+ expect(options[:exclude].any? { |exclude| File.fnmatch?(exclude, 'my_cookbook/metadata.rb', File::FNM_DOTMATCH) }).to be(true)
407
408
  end
408
409
  end
409
410
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: berkshelf
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.4.0
4
+ version: 5.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jamie Winsor
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2017-01-19 00:00:00.000000000 Z
15
+ date: 2017-01-24 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: addressable
@@ -478,7 +478,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
478
478
  version: 2.0.0
479
479
  requirements: []
480
480
  rubyforge_project:
481
- rubygems_version: 2.5.1
481
+ rubygems_version: 2.6.9
482
482
  signing_key:
483
483
  specification_version: 4
484
484
  summary: Manages a Cookbook's, or an Application's, Cookbook dependencies