dockly 3.3.0 → 3.4.0

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.
@@ -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=