omnibus 5.2.0 → 5.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,11 +10,13 @@ module Omnibus
10
10
  project.build_version('1.2.3')
11
11
  project.build_iteration('2')
12
12
  project.maintainer('Chef Software')
13
+ project.license(project_license) if project_license
13
14
  end
14
15
  end
15
16
 
16
17
  subject { described_class.new(project) }
17
18
 
19
+ let(:project_license) { nil }
18
20
  let(:project_root) { File.join(tmp_path, 'project/root') }
19
21
  let(:package_dir) { File.join(tmp_path, 'package/dir') }
20
22
  let(:staging_dir) { File.join(tmp_path, 'staging/dir') }
@@ -48,12 +50,20 @@ module Omnibus
48
50
  end
49
51
 
50
52
  it 'has a default value' do
51
- expect(subject.license).to eq('unknown')
53
+ expect(subject.license).to eq('Unspecified')
52
54
  end
53
55
 
54
56
  it 'must be a string' do
55
57
  expect { subject.license(Object.new) }.to raise_error(InvalidValue)
56
58
  end
59
+
60
+ context 'with project license' do
61
+ let(:project_license) { 'custom-license' }
62
+
63
+ it 'uses project license' do
64
+ expect(subject.license).to eq('custom-license')
65
+ end
66
+ end
57
67
  end
58
68
 
59
69
  describe '#priority' do
@@ -107,6 +117,10 @@ module Omnibus
107
117
  end
108
118
 
109
119
  describe '#write_control_file' do
120
+ before do
121
+ allow(subject).to receive(:safe_architecture).and_return("amd64")
122
+ end
123
+
110
124
  it 'generates the file' do
111
125
  subject.write_control_file
112
126
  expect("#{staging_dir}/DEBIAN/control").to be_a_file
@@ -118,7 +132,7 @@ module Omnibus
118
132
 
119
133
  expect(contents).to include("Package: project")
120
134
  expect(contents).to include("Version: 1.2.3")
121
- expect(contents).to include("License: unknown")
135
+ expect(contents).to include("License: Unspecified")
122
136
  expect(contents).to include("Vendor: Omnibus <omnibus@getchef.com>")
123
137
  expect(contents).to include("Architecture: amd64")
124
138
  expect(contents).to include("Maintainer: Chef Software")
@@ -224,6 +238,7 @@ module Omnibus
224
238
  before do
225
239
  allow(subject).to receive(:shellout!)
226
240
  allow(Dir).to receive(:chdir) { |_, &b| b.call }
241
+ allow(subject).to receive(:safe_architecture).and_return("amd64")
227
242
  end
228
243
 
229
244
  it 'logs a message' do
@@ -318,94 +333,20 @@ module Omnibus
318
333
  end
319
334
 
320
335
  describe '#safe_architecture' do
321
- context 'when 64-bit' do
322
- before do
323
- stub_ohai(platform: 'ubuntu', version: '12.04') do |data|
324
- data['kernel']['machine'] = 'x86_64'
325
- end
326
- end
327
-
328
- it 'returns amd64' do
329
- expect(subject.safe_architecture).to eq('amd64')
330
- end
331
- end
332
-
333
- context 'when not 64-bit' do
334
- before do
335
- stub_ohai(platform: 'ubuntu', version: '12.04') do |data|
336
- data['kernel']['machine'] = 'i386'
337
- end
338
- end
339
-
340
- it 'returns the value' do
341
- expect(subject.safe_architecture).to eq('i386')
342
- end
343
- end
344
-
345
- context 'when i686' do
346
- before do
347
- stub_ohai(platform: 'ubuntu', version: '12.04') do |data|
348
- data['kernel']['machine'] = 'i686'
349
- end
350
- end
336
+ let(:shellout) { double("Mixlib::ShellOut", :run_command => true, :error! => nil) }
351
337
 
352
- it 'returns i386' do
353
- expect(subject.safe_architecture).to eq('i386')
354
- end
338
+ before do
339
+ allow(Mixlib::ShellOut).to receive(:new).and_return(shellout)
355
340
  end
356
341
 
357
- context 'when ppc64le' do
358
- before do
359
- stub_ohai(platform: 'ubuntu', version: '14.04') do |data|
360
- data['kernel']['machine'] = 'ppc64le'
361
- end
362
- end
363
-
364
- it 'returns ppc64el' do
365
- expect(subject.safe_architecture).to eq('ppc64el')
366
- end
342
+ it "shells out to dpkg and returns the output" do
343
+ allow(shellout).to receive(:stdout).and_return("test_arch\n")
344
+ expect(subject.safe_architecture).to eq("test_arch")
367
345
  end
368
346
 
369
- context 'Raspberry Pi' do
370
- context 'Raspbian on Pi v1' do
371
- before do
372
- # There's no Raspbian in Fauxhai :(
373
- stub_ohai(platform: 'debian', version: '7.6') do |data|
374
- data['platform'] = 'raspbian'
375
- data['platform_version'] = '7.6'
376
- data['kernel']['machine'] = 'armv6l'
377
- end
378
- end
379
-
380
- it 'returns armhf' do
381
- expect(subject.safe_architecture).to eq('armhf')
382
- end
383
- end
384
-
385
- context 'Ubuntu on Pi v2' do
386
- before do
387
- # There's no Raspbian in Fauxhai :(
388
- stub_ohai(platform: 'ubuntu', version: '14.04') do |data|
389
- data['kernel']['machine'] = 'armv7l'
390
- end
391
- end
392
-
393
- it 'returns armhf' do
394
- expect(subject.safe_architecture).to eq('armhf')
395
- end
396
- end
397
- end
398
-
399
- context '64bit ARM platform' do
400
- before do
401
- stub_ohai(platform: 'ubuntu', version: '14.04') do |data|
402
- data['kernel']['machine'] = 'aarch64'
403
- end
404
- end
405
-
406
- it 'returns arm64' do
407
- expect(subject.safe_architecture).to eq('arm64')
408
- end
347
+ it "returns noarch if no architecture is returned by dpkg" do
348
+ allow(shellout).to receive(:stdout).and_return("")
349
+ expect(subject.safe_architecture).to eq("noarch")
409
350
  end
410
351
  end
411
352
  end
@@ -11,11 +11,13 @@ module Omnibus
11
11
  project.build_iteration('2')
12
12
  project.maintainer('Chef Software')
13
13
  project.replace('old-project')
14
+ project.license(project_license) if project_license
14
15
  end
15
16
  end
16
17
 
17
18
  subject { described_class.new(project) }
18
19
 
20
+ let(:project_license) { nil }
19
21
  let(:project_root) { File.join(tmp_path, 'project/root') }
20
22
  let(:package_dir) { File.join(tmp_path, 'package/dir') }
21
23
  let(:staging_dir) { File.join(tmp_path, 'staging/dir') }
@@ -69,12 +71,20 @@ module Omnibus
69
71
  end
70
72
 
71
73
  it 'has a default value' do
72
- expect(subject.license).to eq('unknown')
74
+ expect(subject.license).to eq('Unspecified')
73
75
  end
74
76
 
75
77
  it 'must be a string' do
76
78
  expect { subject.license(Object.new) }.to raise_error(InvalidValue)
77
79
  end
80
+
81
+ context 'with project license' do
82
+ let(:project_license) { 'custom-license' }
83
+
84
+ it 'uses project license' do
85
+ expect(subject.license).to eq('custom-license')
86
+ end
87
+ end
78
88
  end
79
89
 
80
90
  describe '#priority' do
@@ -173,7 +183,7 @@ module Omnibus
173
183
  expect(contents).to include("BuildRoot: %buildroot")
174
184
  expect(contents).to include("Prefix: /")
175
185
  expect(contents).to include("Group: default")
176
- expect(contents).to include("License: unknown")
186
+ expect(contents).to include("License: Unspecified")
177
187
  expect(contents).to include("Vendor: Omnibus <omnibus@getchef.com>")
178
188
  expect(contents).to include("URL: https://example.com")
179
189
  expect(contents).to include("Packager: Chef Software")
@@ -131,9 +131,58 @@ module Omnibus
131
131
  end
132
132
  end
133
133
 
134
- context 'on solaris2' do
134
+ context 'on solaris_11' do
135
+ before do
136
+ stub_ohai(platform: 'solaris2', version: '5.11') do |data|
137
+ # For some reason, this isn't set in Fauxhai
138
+ data['platform'] = 'solaris2'
139
+ end
140
+ end
141
+
142
+ it 'sets the defaults' do
143
+ expect(subject.with_standard_compiler_flags).to eq(
144
+ "CC" => "gcc -m64 -static-libgcc",
145
+ "CFLAGS" => "-I/opt/project/embedded/include -O2",
146
+ "CPPFLAGS" => "-I/opt/project/embedded/include -O2",
147
+ "CXXFLAGS" => "-I/opt/project/embedded/include -O2",
148
+ "LDFLAGS" => "-Wl,-rpath,/opt/project/embedded/lib -L/opt/project/embedded/lib -static-libgcc",
149
+ "LD_OPTIONS" => "-R/opt/project/embedded/lib",
150
+ "LD_RUN_PATH" => "/opt/project/embedded/lib",
151
+ "PKG_CONFIG_PATH" => "/opt/project/embedded/lib/pkgconfig"
152
+ )
153
+ end
154
+
155
+ context 'when loader mapping file is specified' do
156
+ # Let the unit tests run on windows where auto-path translation occurs.
157
+ let(:project_root) { File.join(tmp_path, '/root/project') }
158
+ before do
159
+ stub_ohai(platform: 'solaris2', version: '5.11') do |data|
160
+ # For some reason, this isn't set in Fauxhai
161
+ data['platform'] = 'solaris2'
162
+ end
163
+ Config.project_root(project_root)
164
+ Config.solaris_linker_mapfile('files/mapfile/solaris')
165
+ allow(File).to receive(:exist?).and_return(true)
166
+ end
167
+
168
+ it 'sets LD_OPTIONS correctly' do
169
+ expect(subject.with_standard_compiler_flags).to eq(
170
+ "CC" => "gcc -m64 -static-libgcc",
171
+ "CFLAGS" => "-I/opt/project/embedded/include -O2",
172
+ "CPPFLAGS" => "-I/opt/project/embedded/include -O2",
173
+ "CXXFLAGS" => "-I/opt/project/embedded/include -O2",
174
+ "LDFLAGS" => "-Wl,-rpath,/opt/project/embedded/lib -L/opt/project/embedded/lib -static-libgcc",
175
+ "LD_OPTIONS" => "-R/opt/project/embedded/lib",
176
+ "LD_RUN_PATH" => "/opt/project/embedded/lib",
177
+ "PKG_CONFIG_PATH" => "/opt/project/embedded/lib/pkgconfig"
178
+ )
179
+ end
180
+ end
181
+ end
182
+
183
+ context 'on solaris_10' do
135
184
  before do
136
- stub_ohai(platform: 'solaris2', version: '5.11') do |data|
185
+ stub_ohai(platform: 'solaris2', version: '5.10') do |data|
137
186
  # For some reason, this isn't set in Fauxhai
138
187
  data['platform'] = 'solaris2'
139
188
  end
@@ -156,7 +205,7 @@ module Omnibus
156
205
  # Let the unit tests run on windows where auto-path translation occurs.
157
206
  let(:project_root) { File.join(tmp_path, '/root/project') }
158
207
  before do
159
- stub_ohai(platform: 'solaris2', version: '5.11') do |data|
208
+ stub_ohai(platform: 'solaris2', version: '5.10') do |data|
160
209
  # For some reason, this isn't set in Fauxhai
161
210
  data['platform'] = 'solaris2'
162
211
  end
@@ -235,6 +284,24 @@ module Omnibus
235
284
  'PKG_CONFIG_PATH' => '/opt/project/embedded/lib/pkgconfig',
236
285
  )
237
286
  end
287
+
288
+ context 'with gcc 4.9 installed' do
289
+ before do
290
+ allow(subject).to receive(:which).and_return('/usr/local/bin/gcc49')
291
+ end
292
+
293
+ it 'sets the compiler args' do
294
+ expect(subject.with_standard_compiler_flags).to eq(
295
+ 'CC' => 'gcc49',
296
+ 'CXX' => 'g++49',
297
+ 'CFLAGS' => '-I/opt/project/embedded/include -O2',
298
+ 'CXXFLAGS' => '-I/opt/project/embedded/include -O2',
299
+ 'CPPFLAGS' => '-I/opt/project/embedded/include -O2',
300
+ 'LDFLAGS' => '-L/opt/project/embedded/lib',
301
+ 'LD_RUN_PATH' => '/opt/project/embedded/lib',
302
+ 'PKG_CONFIG_PATH' => '/opt/project/embedded/lib/pkgconfig', )
303
+ end
304
+ end
238
305
  end
239
306
 
240
307
  context 'on freebsd 10' do
@@ -267,9 +334,9 @@ module Omnibus
267
334
  context 'in 32-bit mode' do
268
335
  it 'sets the default' do
269
336
  expect(subject.with_standard_compiler_flags).to eq(
270
- 'CFLAGS' => '-I/opt/project/embedded/include -m32 -O3 -mfpmath=sse -msse2 -march=i686',
271
- 'CXXFLAGS' => '-I/opt/project/embedded/include -m32 -O3 -mfpmath=sse -msse2 -march=i686',
272
- 'CPPFLAGS' => '-I/opt/project/embedded/include -m32 -O3 -mfpmath=sse -msse2 -march=i686',
337
+ 'CFLAGS' => '-I/opt/project/embedded/include -m32 -O3 -march=i686',
338
+ 'CXXFLAGS' => '-I/opt/project/embedded/include -m32 -O3 -march=i686',
339
+ 'CPPFLAGS' => '-I/opt/project/embedded/include -m32 -O3 -march=i686',
273
340
  'LDFLAGS' => '-L/opt/project/embedded/lib -m32',
274
341
  'LD_RUN_PATH' => '/opt/project/embedded/lib',
275
342
  'PKG_CONFIG_PATH' => '/opt/project/embedded/lib/pkgconfig'
@@ -278,9 +345,9 @@ module Omnibus
278
345
 
279
346
  it 'sets BFD flags if requested' do
280
347
  expect(subject.with_standard_compiler_flags({}, bfd_flags: true)).to eq(
281
- 'CFLAGS' => '-I/opt/project/embedded/include -m32 -O3 -mfpmath=sse -msse2 -march=i686',
282
- 'CXXFLAGS' => '-I/opt/project/embedded/include -m32 -O3 -mfpmath=sse -msse2 -march=i686',
283
- 'CPPFLAGS' => '-I/opt/project/embedded/include -m32 -O3 -mfpmath=sse -msse2 -march=i686',
348
+ 'CFLAGS' => '-I/opt/project/embedded/include -m32 -O3 -march=i686',
349
+ 'CXXFLAGS' => '-I/opt/project/embedded/include -m32 -O3 -march=i686',
350
+ 'CPPFLAGS' => '-I/opt/project/embedded/include -m32 -O3 -march=i686',
284
351
  'LDFLAGS' => '-L/opt/project/embedded/lib -m32',
285
352
  'RCFLAGS' => '--target=pe-i386',
286
353
  'ARFLAGS' => '--target=pe-i386',
@@ -295,9 +362,9 @@ module Omnibus
295
362
 
296
363
  it 'sets the default' do
297
364
  expect(subject.with_standard_compiler_flags).to eq(
298
- 'CFLAGS' => '-I/opt/project/embedded/include -m64 -O3 -mfpmath=sse -msse2 -march=x86-64',
299
- 'CXXFLAGS' => '-I/opt/project/embedded/include -m64 -O3 -mfpmath=sse -msse2 -march=x86-64',
300
- 'CPPFLAGS' => '-I/opt/project/embedded/include -m64 -O3 -mfpmath=sse -msse2 -march=x86-64',
365
+ 'CFLAGS' => '-I/opt/project/embedded/include -m64 -O3 -march=x86-64',
366
+ 'CXXFLAGS' => '-I/opt/project/embedded/include -m64 -O3 -march=x86-64',
367
+ 'CPPFLAGS' => '-I/opt/project/embedded/include -m64 -O3 -march=x86-64',
301
368
  'LDFLAGS' => '-L/opt/project/embedded/lib -m64',
302
369
  'LD_RUN_PATH' => '/opt/project/embedded/lib',
303
370
  'PKG_CONFIG_PATH' => '/opt/project/embedded/lib/pkgconfig'
@@ -306,9 +373,9 @@ module Omnibus
306
373
 
307
374
  it 'sets BFD flags if requested' do
308
375
  expect(subject.with_standard_compiler_flags({}, bfd_flags: true)).to eq(
309
- 'CFLAGS' => '-I/opt/project/embedded/include -m64 -O3 -mfpmath=sse -msse2 -march=x86-64',
310
- 'CXXFLAGS' => '-I/opt/project/embedded/include -m64 -O3 -mfpmath=sse -msse2 -march=x86-64',
311
- 'CPPFLAGS' => '-I/opt/project/embedded/include -m64 -O3 -mfpmath=sse -msse2 -march=x86-64',
376
+ 'CFLAGS' => '-I/opt/project/embedded/include -m64 -O3 -march=x86-64',
377
+ 'CXXFLAGS' => '-I/opt/project/embedded/include -m64 -O3 -march=x86-64',
378
+ 'CPPFLAGS' => '-I/opt/project/embedded/include -m64 -O3 -march=x86-64',
312
379
  'LDFLAGS' => '-L/opt/project/embedded/lib -m64',
313
380
  'RCFLAGS' => '--target=pe-x86-64',
314
381
  'ARFLAGS' => '--target=pe-x86-64',
@@ -549,6 +616,64 @@ module Omnibus
549
616
  end
550
617
  end
551
618
 
619
+ context 'when software source is a github spec' do
620
+ let(:source) do
621
+ {
622
+ github: 'chef/ohai'
623
+ }
624
+ end
625
+
626
+ it 'fetches from a fully expanded git path' do
627
+ expect(subject.source).to eq(git: "https://github.com/chef/ohai.git")
628
+ expect(Omnibus::Fetcher).to receive(:resolve_version).with("1.2.3", git: "https://github.com/chef/ohai.git").and_return("1.2.8")
629
+ subject.send(:fetcher)
630
+ end
631
+
632
+ context 'and override source is a git spec' do
633
+ before { project.override(:software, source: { git: "https://blah.com/git.git" }) }
634
+
635
+ it 'fetches from the override path' do
636
+ expect(subject.source).to eq(git: "https://blah.com/git.git")
637
+ expect(Omnibus::Fetcher).to receive(:resolve_version).with("1.2.3", git: "https://blah.com/git.git").and_return("1.2.8")
638
+ subject.send(:fetcher)
639
+ end
640
+ end
641
+
642
+ context 'and override source is a github spec' do
643
+ before { project.override(:software, source: { github: "a/b" }) }
644
+
645
+ it 'fetches from the override path' do
646
+ expect(subject.source).to eq(git: "https://github.com/a/b.git")
647
+ expect(Omnibus::Fetcher).to receive(:resolve_version).with("1.2.3", git: "https://github.com/a/b.git").and_return("1.2.8")
648
+ subject.send(:fetcher)
649
+ end
650
+ end
651
+ end
652
+
653
+ context 'when software source is a git spec' do
654
+ let(:source) do
655
+ {
656
+ git: "https://blah.com/git.git"
657
+ }
658
+ end
659
+
660
+ it 'fetches from the git spec' do
661
+ expect(subject.source).to eq(git: "https://blah.com/git.git")
662
+ expect(Omnibus::Fetcher).to receive(:resolve_version).with("1.2.3", git: "https://blah.com/git.git").and_return("1.2.8")
663
+ subject.send(:fetcher)
664
+ end
665
+
666
+ context 'and override source is a github spec' do
667
+ before { project.override(:software, source: { github: "a/b" }) }
668
+
669
+ it 'fetches from the override path' do
670
+ expect(subject.source).to eq(git: "https://github.com/a/b.git")
671
+ expect(Omnibus::Fetcher).to receive(:resolve_version).with("1.2.3", git: "https://github.com/a/b.git").and_return("1.2.8")
672
+ subject.send(:fetcher)
673
+ end
674
+ end
675
+ end
676
+
552
677
  describe '#fetcher' do
553
678
  before do
554
679
  expect(Omnibus::Fetcher).to receive(:resolve_version).with("1.2.3", source).and_return("1.2.8")
@@ -659,6 +784,20 @@ module Omnibus
659
784
  end
660
785
  end
661
786
 
787
+ describe "#canonicalize_source" do
788
+ it 'canonicalize_source(github: "chef/chef") yields git: "https://github.com/chef/chef.git"' do
789
+ expect(subject.send(:canonicalize_source, github: "chef/chef")).to eq(git: "https://github.com/chef/chef.git")
790
+ end
791
+ it 'canonicalize_source(github: "chef/chef", submodules: true) yields git: "https://github.com/chef/chef.git", submodules: true' do
792
+ expect(subject.send(:canonicalize_source, github: "chef/chef", submodules: true)).to eq(git: "https://github.com/chef/chef.git", submodules: true)
793
+ end
794
+ it 'canonicalize_source does not overwrite the original' do
795
+ original = { github: "chef/chef", submodules: true }
796
+ expect(subject.send(:canonicalize_source, original)).to eq(git: "https://github.com/chef/chef.git", submodules: true)
797
+ expect(original).to eq(github: "chef/chef", submodules: true)
798
+ end
799
+ end
800
+
662
801
  describe '#shasum' do
663
802
  context 'when a filepath is given' do
664
803
  let(:path) { '/software.rb' }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omnibus
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.0
4
+ version: 5.3.0
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: 2016-03-15 00:00:00.000000000 Z
11
+ date: 2016-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chef-sugar
@@ -170,14 +170,14 @@ dependencies:
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: '2.3'
173
+ version: '3.2'
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: '2.3'
180
+ version: '3.2'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: rspec
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -248,6 +248,20 @@ dependencies:
248
248
  - - ">="
249
249
  - !ruby/object:Gem::Version
250
250
  version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: pry
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
251
265
  description: Omnibus is a framework for building self-installing, full-stack software
252
266
  builds.
253
267
  email: releng@getchef.com
@@ -256,6 +270,8 @@ executables:
256
270
  extensions: []
257
271
  extra_rdoc_files: []
258
272
  files:
273
+ - ".github/ISSUE_TEMPLATE.md"
274
+ - ".github/PULL_REQUEST_TEMPLATE.md"
259
275
  - ".gitignore"
260
276
  - ".rspec"
261
277
  - ".rubocop.yml"
@@ -276,6 +292,7 @@ files:
276
292
  - features/commands/build.feature
277
293
  - features/commands/clean.feature
278
294
  - features/commands/list.feature
295
+ - features/commands/manifest.feature
279
296
  - features/commands/new.feature
280
297
  - features/commands/publish.feature
281
298
  - features/commands/version.feature
@@ -304,6 +321,7 @@ files:
304
321
  - lib/omnibus/core_extensions.rb
305
322
  - lib/omnibus/core_extensions/open_uri.rb
306
323
  - lib/omnibus/digestable.rb
324
+ - lib/omnibus/download_helpers.rb
307
325
  - lib/omnibus/exceptions.rb
308
326
  - lib/omnibus/fetcher.rb
309
327
  - lib/omnibus/fetchers/git_fetcher.rb
@@ -479,7 +497,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
479
497
  version: '0'
480
498
  requirements: []
481
499
  rubyforge_project:
482
- rubygems_version: 2.5.2
500
+ rubygems_version: 2.6.1
483
501
  signing_key:
484
502
  specification_version: 4
485
503
  summary: Omnibus is a framework for building self-installing, full-stack software
@@ -488,6 +506,7 @@ test_files:
488
506
  - features/commands/build.feature
489
507
  - features/commands/clean.feature
490
508
  - features/commands/list.feature
509
+ - features/commands/manifest.feature
491
510
  - features/commands/new.feature
492
511
  - features/commands/publish.feature
493
512
  - features/commands/version.feature