luban 0.3.6 → 0.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/lib/luban/deployment/cli/application/repository.rb +11 -2
- data/lib/luban/deployment/cli/package/base.rb +2 -2
- data/lib/luban/deployment/cli/package/installer/core.rb +0 -7
- data/lib/luban/deployment/cli/package/installer/install.rb +37 -21
- data/lib/luban/deployment/cli/package/installer/paths.rb +4 -0
- data/lib/luban/deployment/helpers/utils.rb +1 -1
- data/lib/luban/deployment/packages/bundler.rb +1 -0
- data/lib/luban/deployment/packages/openssl.rb +1 -2
- data/lib/luban/deployment/packages/ruby.rb +1 -1
- data/lib/luban/deployment/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0849b76c82b53782709b36c5e7a9fa7d6e150489
|
4
|
+
data.tar.gz: dd9f9ef9b8dc3872a38b3fba9b4b10bd730cb248
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ea498ab032c5cf463d7cb2f3719ba2a96d0921474977ffbaf9889ccb9fae3cfe3402c5e67dcfa3127674204478a2812bb9b6c32a572fcaabddf5eb96ad435b4
|
7
|
+
data.tar.gz: a8606aa61c94693410e1a7d2f5a8c646732c532d29efa43580d02fc87604df0b48516fe6ab9526a0770c37d5be80379bc4620cc4b7812fc63806cecf359403ae
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,16 @@
|
|
1
1
|
# Change log
|
2
2
|
|
3
|
+
## Version 0.4.0 (May 11, 2016)
|
4
|
+
|
5
|
+
Minor enhancements:
|
6
|
+
* Upgraded Bundler for Ruby to version 1.12.3
|
7
|
+
* Used OpenSSL ftp site to download its source code package
|
8
|
+
* Optimized md5 signature generation for both source code package as well as gems downloaded
|
9
|
+
|
10
|
+
Bug fixes:
|
11
|
+
* Fixed a bug in md5 calculation for a given file
|
12
|
+
* Fixed broken installer for Bundler
|
13
|
+
|
3
14
|
## Version 0.3.6 (May 09, 2016)
|
4
15
|
|
5
16
|
Minor enhancements:
|
@@ -158,9 +158,18 @@ module Luban
|
|
158
158
|
info "Package gems bundled in Gemfile"
|
159
159
|
execute(:bundle, :package, "--all --quiet")
|
160
160
|
end
|
161
|
-
gem_files = capture(:ls, '-xt', gems_cache).split
|
161
|
+
gem_files = capture(:ls, '-xt', gems_cache.join('*.gem')).split
|
162
162
|
gem_files.each do |gem_file|
|
163
|
-
|
163
|
+
gem_name = File.basename(gem_file)
|
164
|
+
md5_file = "#{gem_file}.md5"
|
165
|
+
gems[gem_name] =
|
166
|
+
if file?(md5_file)
|
167
|
+
gems[gem_name] = capture(:cat, md5_file)
|
168
|
+
else
|
169
|
+
md5_for_file(gem_file).tap { |md5|
|
170
|
+
execute(:echo, "#{md5} > #{md5_file}")
|
171
|
+
}
|
172
|
+
end
|
164
173
|
end
|
165
174
|
end
|
166
175
|
bundled_gems[:gems_cache] = workspace_path.join(gems_cache)
|
@@ -99,8 +99,8 @@ module Luban
|
|
99
99
|
end
|
100
100
|
|
101
101
|
def install(args:, opts:)
|
102
|
-
|
103
|
-
install_package(args: args, opts: opts
|
102
|
+
download_package(args: args, opts: opts)
|
103
|
+
install_package(args: args, opts: opts)
|
104
104
|
end
|
105
105
|
|
106
106
|
def install_all(args:, opts:)
|
@@ -67,13 +67,6 @@ module Luban
|
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
70
|
-
def compose_build_env_variables
|
71
|
-
build_env_vars.inject({}) do |vars, (k, v)|
|
72
|
-
vars[k] = "'#{v.join(' ').strip}'" unless v.all?(&:empty?)
|
73
|
-
vars
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
70
|
def configure_build_options
|
78
71
|
@configure_opts = default_configure_opts | (task.opts.__remaining__ || [])
|
79
72
|
@configure_opts.unshift(install_prefix)
|
@@ -4,7 +4,9 @@ module Luban
|
|
4
4
|
class Installer
|
5
5
|
class InstallFailure < Luban::Deployment::Error; end
|
6
6
|
|
7
|
-
def src_file_md5
|
7
|
+
def src_file_md5
|
8
|
+
@src_file_md5 ||= capture(:cat, src_md5_file_path)
|
9
|
+
end
|
8
10
|
|
9
11
|
def required_packages
|
10
12
|
@required_packages ||=
|
@@ -36,13 +38,13 @@ module Luban
|
|
36
38
|
def download
|
37
39
|
info "Downloading #{package_full_name}"
|
38
40
|
if downloaded?
|
39
|
-
|
40
|
-
|
41
|
+
create_src_md5_file unless file?(src_md5_file_path)
|
42
|
+
update_result "Skipped! #{package_full_name} has been downloaded ALREADY."
|
41
43
|
else
|
42
44
|
download_package!
|
43
45
|
if downloaded?
|
44
|
-
|
45
|
-
|
46
|
+
create_src_md5_file unless file?(src_md5_file_path)
|
47
|
+
update_result "Successfully downloaded #{package_full_name}."
|
46
48
|
else
|
47
49
|
update_result "Failed to download #{package_full_name}. " +
|
48
50
|
"Please check install log for details: #{install_log_file_path}",
|
@@ -178,6 +180,25 @@ module Luban
|
|
178
180
|
bootstrap_download
|
179
181
|
validate_download_url
|
180
182
|
end
|
183
|
+
download_required_packages(:before_install)
|
184
|
+
end
|
185
|
+
|
186
|
+
def after_download
|
187
|
+
download_required_packages(:after_install)
|
188
|
+
end
|
189
|
+
|
190
|
+
def download_required_packages(type)
|
191
|
+
manage_required_packages(type, :download)
|
192
|
+
end
|
193
|
+
|
194
|
+
def manage_required_packages(type, cmd)
|
195
|
+
required_packages[type].each do |d|
|
196
|
+
self.class.worker_class(:installer, package: d.name).new(
|
197
|
+
config: config, backend: backend,
|
198
|
+
cmd: cmd, args: {},
|
199
|
+
opts: d.options.merge(name: d.name, version: d.version, current: true, parent: self)
|
200
|
+
).run
|
201
|
+
end
|
181
202
|
end
|
182
203
|
|
183
204
|
def before_install
|
@@ -191,13 +212,7 @@ module Luban
|
|
191
212
|
end
|
192
213
|
|
193
214
|
def install_required_packages(type)
|
194
|
-
|
195
|
-
self.class.worker_class(:installer, package: d.name).new(
|
196
|
-
config: config, backend: backend,
|
197
|
-
cmd: :install, args: {},
|
198
|
-
opts: d.options.merge(name: d.name, version: d.version, current: true, parent: self)
|
199
|
-
).run
|
200
|
-
end
|
215
|
+
manage_required_packages(type, :install)
|
201
216
|
end
|
202
217
|
|
203
218
|
def validate_download_url!
|
@@ -210,12 +225,7 @@ module Luban
|
|
210
225
|
def install!
|
211
226
|
upload_package
|
212
227
|
uncompress_package
|
213
|
-
|
214
|
-
#with compose_build_env_variables do
|
215
|
-
# build_package
|
216
|
-
#end
|
217
|
-
build_package
|
218
|
-
end
|
228
|
+
build_package
|
219
229
|
cleanup_build!
|
220
230
|
end
|
221
231
|
|
@@ -299,6 +309,10 @@ module Luban
|
|
299
309
|
end
|
300
310
|
end
|
301
311
|
|
312
|
+
def create_src_md5_file
|
313
|
+
execute(:echo, "#{md5_for_file(src_file_path)} > #{src_md5_file_path}")
|
314
|
+
end
|
315
|
+
|
302
316
|
def upload_package
|
303
317
|
info "Uploading #{package_full_name} source package"
|
304
318
|
if cached?
|
@@ -328,9 +342,11 @@ module Luban
|
|
328
342
|
end
|
329
343
|
|
330
344
|
def build_package
|
331
|
-
|
332
|
-
|
333
|
-
|
345
|
+
within build_path do
|
346
|
+
configure_package
|
347
|
+
make_package
|
348
|
+
install_package
|
349
|
+
end
|
334
350
|
end
|
335
351
|
|
336
352
|
def configure_package
|
@@ -20,6 +20,10 @@ module Luban
|
|
20
20
|
@src_file_path ||= package_downloads_path.join(src_file_name)
|
21
21
|
end
|
22
22
|
|
23
|
+
def src_md5_file_path
|
24
|
+
@src_md5_file_path ||= package_downloads_path.join("#{src_file_name}.md5")
|
25
|
+
end
|
26
|
+
|
23
27
|
def source_repo
|
24
28
|
raise NotImplementedError, "#{self.class.name}#source_repo is an abstract method."
|
25
29
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: luban
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rubyist Lei
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-05-
|
11
|
+
date: 2016-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: luban-cli
|