dockly 3.3.0 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -24,8 +24,9 @@ Gem::Specification.new do |gem|
24
24
  gem.add_dependency 'minigit', '~> 0.0.4'
25
25
  gem.add_development_dependency 'cane'
26
26
  gem.add_development_dependency 'pry'
27
- gem.add_development_dependency 'rake'
27
+ gem.add_development_dependency 'rake', '< 11.0'
28
28
  gem.add_development_dependency 'rspec', '~> 2.14.1'
29
29
  gem.add_development_dependency 'vcr'
30
- gem.add_development_dependency 'webmock'
30
+ gem.add_development_dependency 'webmock', '<= 1.18.0'
31
+ gem.add_development_dependency 'addressable', '<= 2.3.6'
31
32
  end
@@ -126,7 +126,14 @@ private
126
126
  add_files(@dir_package)
127
127
  add_docker_auth_config(@dir_package)
128
128
  add_docker(@dir_package)
129
- add_startup_script(@dir_package) if package_startup_script
129
+
130
+ if package_startup_script.is_a?(String)
131
+ raise ArgumentError,
132
+ 'package_startup_script filename must not be empty if specified' if package_startup_script.empty?
133
+ add_startup_script(@dir_package, package_startup_script)
134
+ elsif package_startup_script
135
+ add_startup_script(@dir_package)
136
+ end
130
137
 
131
138
  convert_package
132
139
 
@@ -229,16 +236,16 @@ private
229
236
  scripts.join("\n")
230
237
  end
231
238
 
232
- def add_startup_script(package)
239
+ def add_startup_script(package, startup_script = "dockly-startup.sh")
233
240
  ensure_present! :build_dir
234
- startup_script_path = File.join(build_dir, "dockly-startup.sh")
241
+ startup_script_path = File.join(build_dir, startup_script)
235
242
  File.open(startup_script_path, 'w+') do |f|
236
243
  f.write(post_startup_script)
237
244
  f.chmod(0755)
238
245
  end
239
246
  package.attributes[:prefix] = "/opt/dockly"
240
247
  Dir.chdir(build_dir) do
241
- package.input("dockly-startup.sh")
248
+ package.input(startup_script)
242
249
  end
243
250
  package.attributes[:prefix] = nil
244
251
  end
@@ -1,6 +1,6 @@
1
1
  module Dockly
2
2
  MAJOR = 3
3
- MINOR = 3
3
+ MINOR = 4
4
4
  PATCH = 0
5
5
  RELEASE = nil
6
6
 
@@ -156,7 +156,7 @@ describe Dockly::BuildCache::Docker, :docker do
156
156
  context "when parameter command returns successfully" do
157
157
  let(:command) { "uname -r" }
158
158
  it 'returns the output of the parameter_command' do
159
- expect(build_cache.parameter_output(command)).to match(/\A3\.\d{2}\.\d-\d{1,2}-\w+\Z/)
159
+ expect(build_cache.parameter_output(command)).to match(/\A\d.\d.\d+-\w+-\w+\z/)
160
160
  end
161
161
  end
162
162
 
@@ -175,6 +175,25 @@ describe Dockly::Deb do
175
175
  expect(`dpkg --contents #{filename}`).to_not include("dockly-startup.sh")
176
176
  end
177
177
  end
178
+
179
+ context 'when package_startup_script is a string' do
180
+ context 'when the string is empty' do
181
+ before { subject.package_startup_script('') }
182
+
183
+ it 'does not place a startup script with the provided name in the package' do
184
+ expect{subject.create_package!}.to raise_error(ArgumentError)
185
+ end
186
+ end
187
+
188
+ context 'when the string is not empty' do
189
+ before { subject.package_startup_script('special-startup.sh') }
190
+
191
+ it 'places a startup script with the provided name in the package' do
192
+ subject.create_package!
193
+ expect(`dpkg --contents #{filename}`).to include("special-startup.sh")
194
+ end
195
+ end
196
+ end
178
197
  end
179
198
 
180
199
  describe '#exists?' do
@@ -29,9 +29,9 @@ describe Dockly::Foreman do
29
29
  subject.create!
30
30
  File.exist?('build/foreman/foreman.target').should be_true
31
31
  File.exist?('build/foreman/foreman-web.target').should be_true
32
- File.exist?('build/foreman/foreman-web-1.service').should be_true
33
- File.read('build/foreman/foreman-web-1.service')
34
- .lines.grep(/^ExecStart=\/bin\/bash -lc '\/bin\/sh start_my_server'$/)
32
+ File.exist?('build/foreman/foreman-web@.service').should be_true
33
+ File.open('build/foreman/foreman-web@.service')
34
+ .grep(/^ExecStart=\/bin\/bash -lc 'exec \/bin\/sh start_my_server'$/)
35
35
  .length.should == 1
36
36
  end
37
37
  end
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dockly
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.4.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Swipely, Inc.
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2016-06-21 00:00:00.000000000 Z
12
+ date: 2018-03-27 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: clamp
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ~>
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ~>
25
28
  - !ruby/object:Gem::Version
@@ -27,6 +30,7 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: docker-api
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - ! '>='
32
36
  - !ruby/object:Gem::Version
@@ -34,6 +38,7 @@ dependencies:
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - ! '>='
39
44
  - !ruby/object:Gem::Version
@@ -41,6 +46,7 @@ dependencies:
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: dockly-util
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
51
  - - ! '>='
46
52
  - !ruby/object:Gem::Version
@@ -51,6 +57,7 @@ dependencies:
51
57
  type: :runtime
52
58
  prerelease: false
53
59
  version_requirements: !ruby/object:Gem::Requirement
60
+ none: false
54
61
  requirements:
55
62
  - - ! '>='
56
63
  - !ruby/object:Gem::Version
@@ -61,6 +68,7 @@ dependencies:
61
68
  - !ruby/object:Gem::Dependency
62
69
  name: excon
63
70
  requirement: !ruby/object:Gem::Requirement
71
+ none: false
64
72
  requirements:
65
73
  - - ! '>='
66
74
  - !ruby/object:Gem::Version
@@ -68,6 +76,7 @@ dependencies:
68
76
  type: :runtime
69
77
  prerelease: false
70
78
  version_requirements: !ruby/object:Gem::Requirement
79
+ none: false
71
80
  requirements:
72
81
  - - ! '>='
73
82
  - !ruby/object:Gem::Version
@@ -75,6 +84,7 @@ dependencies:
75
84
  - !ruby/object:Gem::Dependency
76
85
  name: aws-sdk
77
86
  requirement: !ruby/object:Gem::Requirement
87
+ none: false
78
88
  requirements:
79
89
  - - ~>
80
90
  - !ruby/object:Gem::Version
@@ -82,6 +92,7 @@ dependencies:
82
92
  type: :runtime
83
93
  prerelease: false
84
94
  version_requirements: !ruby/object:Gem::Requirement
95
+ none: false
85
96
  requirements:
86
97
  - - ~>
87
98
  - !ruby/object:Gem::Version
@@ -89,6 +100,7 @@ dependencies:
89
100
  - !ruby/object:Gem::Dependency
90
101
  name: foreman
91
102
  requirement: !ruby/object:Gem::Requirement
103
+ none: false
92
104
  requirements:
93
105
  - - ! '>='
94
106
  - !ruby/object:Gem::Version
@@ -96,6 +108,7 @@ dependencies:
96
108
  type: :runtime
97
109
  prerelease: false
98
110
  version_requirements: !ruby/object:Gem::Requirement
111
+ none: false
99
112
  requirements:
100
113
  - - ! '>='
101
114
  - !ruby/object:Gem::Version
@@ -103,6 +116,7 @@ dependencies:
103
116
  - !ruby/object:Gem::Dependency
104
117
  name: fpm
105
118
  requirement: !ruby/object:Gem::Requirement
119
+ none: false
106
120
  requirements:
107
121
  - - ~>
108
122
  - !ruby/object:Gem::Version
@@ -110,6 +124,7 @@ dependencies:
110
124
  type: :runtime
111
125
  prerelease: false
112
126
  version_requirements: !ruby/object:Gem::Requirement
127
+ none: false
113
128
  requirements:
114
129
  - - ~>
115
130
  - !ruby/object:Gem::Version
@@ -117,6 +132,7 @@ dependencies:
117
132
  - !ruby/object:Gem::Dependency
118
133
  name: minigit
119
134
  requirement: !ruby/object:Gem::Requirement
135
+ none: false
120
136
  requirements:
121
137
  - - ~>
122
138
  - !ruby/object:Gem::Version
@@ -124,6 +140,7 @@ dependencies:
124
140
  type: :runtime
125
141
  prerelease: false
126
142
  version_requirements: !ruby/object:Gem::Requirement
143
+ none: false
127
144
  requirements:
128
145
  - - ~>
129
146
  - !ruby/object:Gem::Version
@@ -131,6 +148,7 @@ dependencies:
131
148
  - !ruby/object:Gem::Dependency
132
149
  name: cane
133
150
  requirement: !ruby/object:Gem::Requirement
151
+ none: false
134
152
  requirements:
135
153
  - - ! '>='
136
154
  - !ruby/object:Gem::Version
@@ -138,6 +156,7 @@ dependencies:
138
156
  type: :development
139
157
  prerelease: false
140
158
  version_requirements: !ruby/object:Gem::Requirement
159
+ none: false
141
160
  requirements:
142
161
  - - ! '>='
143
162
  - !ruby/object:Gem::Version
@@ -145,6 +164,7 @@ dependencies:
145
164
  - !ruby/object:Gem::Dependency
146
165
  name: pry
147
166
  requirement: !ruby/object:Gem::Requirement
167
+ none: false
148
168
  requirements:
149
169
  - - ! '>='
150
170
  - !ruby/object:Gem::Version
@@ -152,6 +172,7 @@ dependencies:
152
172
  type: :development
153
173
  prerelease: false
154
174
  version_requirements: !ruby/object:Gem::Requirement
175
+ none: false
155
176
  requirements:
156
177
  - - ! '>='
157
178
  - !ruby/object:Gem::Version
@@ -159,20 +180,23 @@ dependencies:
159
180
  - !ruby/object:Gem::Dependency
160
181
  name: rake
161
182
  requirement: !ruby/object:Gem::Requirement
183
+ none: false
162
184
  requirements:
163
- - - ! '>='
185
+ - - <
164
186
  - !ruby/object:Gem::Version
165
- version: '0'
187
+ version: '11.0'
166
188
  type: :development
167
189
  prerelease: false
168
190
  version_requirements: !ruby/object:Gem::Requirement
191
+ none: false
169
192
  requirements:
170
- - - ! '>='
193
+ - - <
171
194
  - !ruby/object:Gem::Version
172
- version: '0'
195
+ version: '11.0'
173
196
  - !ruby/object:Gem::Dependency
174
197
  name: rspec
175
198
  requirement: !ruby/object:Gem::Requirement
199
+ none: false
176
200
  requirements:
177
201
  - - ~>
178
202
  - !ruby/object:Gem::Version
@@ -180,6 +204,7 @@ dependencies:
180
204
  type: :development
181
205
  prerelease: false
182
206
  version_requirements: !ruby/object:Gem::Requirement
207
+ none: false
183
208
  requirements:
184
209
  - - ~>
185
210
  - !ruby/object:Gem::Version
@@ -187,6 +212,7 @@ dependencies:
187
212
  - !ruby/object:Gem::Dependency
188
213
  name: vcr
189
214
  requirement: !ruby/object:Gem::Requirement
215
+ none: false
190
216
  requirements:
191
217
  - - ! '>='
192
218
  - !ruby/object:Gem::Version
@@ -194,6 +220,7 @@ dependencies:
194
220
  type: :development
195
221
  prerelease: false
196
222
  version_requirements: !ruby/object:Gem::Requirement
223
+ none: false
197
224
  requirements:
198
225
  - - ! '>='
199
226
  - !ruby/object:Gem::Version
@@ -201,17 +228,35 @@ dependencies:
201
228
  - !ruby/object:Gem::Dependency
202
229
  name: webmock
203
230
  requirement: !ruby/object:Gem::Requirement
231
+ none: false
204
232
  requirements:
205
- - - ! '>='
233
+ - - <=
206
234
  - !ruby/object:Gem::Version
207
- version: '0'
235
+ version: 1.18.0
208
236
  type: :development
209
237
  prerelease: false
210
238
  version_requirements: !ruby/object:Gem::Requirement
239
+ none: false
211
240
  requirements:
212
- - - ! '>='
241
+ - - <=
213
242
  - !ruby/object:Gem::Version
214
- version: '0'
243
+ version: 1.18.0
244
+ - !ruby/object:Gem::Dependency
245
+ name: addressable
246
+ requirement: !ruby/object:Gem::Requirement
247
+ none: false
248
+ requirements:
249
+ - - <=
250
+ - !ruby/object:Gem::Version
251
+ version: 2.3.6
252
+ type: :development
253
+ prerelease: false
254
+ version_requirements: !ruby/object:Gem::Requirement
255
+ none: false
256
+ requirements:
257
+ - - <=
258
+ - !ruby/object:Gem::Version
259
+ version: 2.3.6
215
260
  description: Packaging made easy
216
261
  email:
217
262
  - tomhulihan@swipely.com
@@ -293,26 +338,27 @@ files:
293
338
  homepage: https://github.com/swipely/dockly
294
339
  licenses:
295
340
  - MIT
296
- metadata: {}
297
341
  post_install_message:
298
342
  rdoc_options: []
299
343
  require_paths:
300
344
  - lib
301
345
  required_ruby_version: !ruby/object:Gem::Requirement
346
+ none: false
302
347
  requirements:
303
348
  - - ! '>='
304
349
  - !ruby/object:Gem::Version
305
350
  version: '0'
306
351
  required_rubygems_version: !ruby/object:Gem::Requirement
352
+ none: false
307
353
  requirements:
308
354
  - - ! '>='
309
355
  - !ruby/object:Gem::Version
310
356
  version: '0'
311
357
  requirements: []
312
358
  rubyforge_project:
313
- rubygems_version: 2.6.2
359
+ rubygems_version: 1.8.23.2
314
360
  signing_key:
315
- specification_version: 4
361
+ specification_version: 3
316
362
  summary: Packaging made easy
317
363
  test_files:
318
364
  - spec/dockly/bash_builder_spec.rb
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ODI3Y2E3MmU4NzIzNGM3Y2Q5MzA5MzQ0MTU0MmM5OTA5N2VjZTc3Mg==
5
- data.tar.gz: !binary |-
6
- M2RkM2IzMjJlNzhiMGMwZTdjNGI2NDIzYTliMDEyOGRhNThkOTQ3ZQ==
7
- SHA512:
8
- metadata.gz: !binary |-
9
- OTBmZjQ3OWUwOTU2N2RkYjk4ODYyY2M2ZmQ2ZDM5YmUzNjhkNGUwNWUzNmQ1
10
- MWNlYmE4ZjlmZmYyMTczZDQ1MTRmODhhNjBhNjc3YzA2Nzg4NDdkODMwOWYw
11
- ZjgyOTMxZWRjZDc4YmU2YzdiZmIxZTc3Nzg1Zjg1YWI4NDVmYjc=
12
- data.tar.gz: !binary |-
13
- YTZjYjU2OTYzZDc2ZmViM2IyNmUwZTE4NzQ3ZmYyNmM4OGQwMWM1NDc4NGE3
14
- N2FjZjIzZjNiYWI4ZGNiNTJlODg3MmRjMjRjZTcxMDcyMTQwODg1OGQ4MjYz
15
- ZWI4NWQ4NDNhMmJlYTFjNDA3ODdjNGIyOTFmMjI5ZGM1ZWUwNzg=