dapp 0.32.10 → 0.33.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/bin/dapp +1 -23
  3. data/config/en/net_status.yml +7 -0
  4. data/lib/dapp.rb +3 -3
  5. data/lib/dapp/dapp.rb +13 -0
  6. data/lib/dapp/dapp/dappfile.rb +2 -2
  7. data/lib/dapp/dapp/deps/base.rb +5 -37
  8. data/lib/dapp/dapp/deps/common.rb +25 -0
  9. data/lib/dapp/dapp/deps/gitartifact.rb +2 -25
  10. data/lib/dapp/dapp/deps/toolchain.rb +1 -23
  11. data/lib/dapp/dapp/logging/base.rb +3 -3
  12. data/lib/dapp/dapp/ruby2go.rb +96 -0
  13. data/lib/dapp/dapp/sentry.rb +0 -1
  14. data/lib/dapp/dapp/shellout/base.rb +4 -2
  15. data/lib/dapp/dimg/build/stage/artifact_base.rb +7 -6
  16. data/lib/dapp/dimg/build/stage/base.rb +37 -7
  17. data/lib/dapp/dimg/build/stage/from.rb +1 -1
  18. data/lib/dapp/dimg/builder/ansible.rb +1 -209
  19. data/lib/dapp/dimg/builder/base.rb +0 -5
  20. data/lib/dapp/dimg/builder/none.rb +1 -34
  21. data/lib/dapp/dimg/builder/ruby2go.rb +51 -0
  22. data/lib/dapp/dimg/builder/shell.rb +1 -25
  23. data/lib/dapp/dimg/cli/command/dimg/bp.rb +10 -15
  24. data/lib/dapp/dimg/cli/command/dimg/build.rb +0 -5
  25. data/lib/dapp/dimg/config/directive/docker/base.rb +1 -1
  26. data/lib/dapp/dimg/dapp/command/build_context/export.rb +1 -1
  27. data/lib/dapp/dimg/dapp/command/build_context/import.rb +1 -1
  28. data/lib/dapp/dimg/dapp/command/cleanup_repo.rb +59 -90
  29. data/lib/dapp/dimg/dapp/command/common.rb +60 -74
  30. data/lib/dapp/dimg/dapp/command/mrproper.rb +2 -17
  31. data/lib/dapp/dimg/dapp/command/stages/cleanup_local.rb +9 -6
  32. data/lib/dapp/dimg/dimg.rb +26 -43
  33. data/lib/dapp/dimg/docker_registry/base/authorization.rb +1 -16
  34. data/lib/dapp/dimg/git_artifact.rb +142 -21
  35. data/lib/dapp/dimg/git_repo/base.rb +11 -0
  36. data/lib/dapp/dimg/git_repo/local.rb +14 -0
  37. data/lib/dapp/dimg/git_repo/remote.rb +25 -34
  38. data/lib/dapp/dimg/image/argument.rb +12 -58
  39. data/lib/dapp/dimg/image/stage.rb +202 -43
  40. data/lib/dapp/kube/kubernetes/client.rb +0 -6
  41. data/lib/dapp/kube/kubernetes/manager/deployment.rb +18 -30
  42. data/lib/dapp/version.rb +1 -1
  43. metadata +8 -8
  44. data/lib/dapp/dimg/builder/ansible/assets.rb +0 -349
  45. data/lib/dapp/dimg/exception/introspect_image.rb +0 -7
  46. data/lib/dapp/dimg/image/docker.rb +0 -144
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6b6c8610f037fb2cf62988e4b190afbfa5abf1dcd8447103a30b74825f7d48f4
4
- data.tar.gz: aceda4cfd8865260aadc83984352e04dae38650fb66f69587bfed24d02e052f8
3
+ metadata.gz: 7fc1909cdd095becba425a53927039f907538f09d0edcd3b218555d2baed57c6
4
+ data.tar.gz: eeee7455c2b3e82ed7b6feba45878880291afaf318a9943412b883cf63063272
5
5
  SHA512:
6
- metadata.gz: '082f8f2f730992d15ef081ccd9e38969879c2c62ff0010507e93a98cb19a8585bd670b541a04c48998ae72f9451e46b649559aafc93f0a7c22091fd8ed9b711b'
7
- data.tar.gz: 2a59e9cd5ae03c03f2cc8cf4a10b8d4dc665046810408b43b4512a74f6a9a3d41e65cbaa7cef75b3bf5e6c9945a3a648391821386ae353de58aa4fcc923f379c
6
+ metadata.gz: 52804dc919d1c0c634e387bfee8ad75d7177da13b7ee47ec831789cc15c90e34db58a789b34eb6fee71131f7b33133745cdf174bec6a9af113a263185bad51ee
7
+ data.tar.gz: 0380034c4898b6eeeed23426b321a90c54be38398bf985b6aacadfa7d16aae761a2077b483465e399a4632c87251ad3c8802b108102eee0a3ace756580568af1
data/bin/dapp CHANGED
@@ -74,29 +74,7 @@ set_gitlab_cancel_handler if ENV["GITLAB_CI"]
74
74
  begin
75
75
  begin
76
76
  begin
77
- begin
78
- Dapp::CLI.new.run
79
- ensure
80
- if Time.now.to_date < Date.parse("2019-11-01")
81
- STDERR.puts
82
- STDERR.puts ::Paint["###################################################################", :red, :bold]
83
- STDERR.puts ::Paint["### DEPRECATION WARNING! ###", :red, :bold]
84
- STDERR.puts ::Paint["### Dapp will be deprecated for use starting with 01.11.2019! ###", :red, :bold]
85
- STDERR.puts ::Paint["### Please port your project to werf: ###", :red, :bold]
86
- STDERR.puts ::Paint["### https://werf.io ###", :red, :bold]
87
- STDERR.puts ::Paint["###################################################################", :red, :bold]
88
- STDERR.puts
89
- else
90
- STDERR.puts
91
- STDERR.puts ::Paint["######################################################################", :red, :bold]
92
- STDERR.puts ::Paint["### DEPRECATION WARNING! ###", :red, :bold]
93
- STDERR.puts ::Paint["### Dapp is deprecated for use and will not receive any support! ###", :red, :bold]
94
- STDERR.puts ::Paint["### Please port your project to werf: ###", :red, :bold]
95
- STDERR.puts ::Paint["### https://werf.io ###", :red, :bold]
96
- STDERR.puts ::Paint["######################################################################", :red, :bold]
97
- STDERR.puts
98
- end
99
- end
77
+ Dapp::CLI.new.run
100
78
  rescue Dapp::Error::Base => e
101
79
  unless (message = Dapp::Helper::NetStatus.before_error_message(e)).empty?
102
80
  $stderr.puts(message)
@@ -10,6 +10,10 @@ en:
10
10
  dappfile:
11
11
  incorrect: "Dappfile with `%{error}`:\n%{message}"
12
12
  build:
13
+ ruby2go_image_unexpected_exitstatus: 'ruby2go_image exited with unexpected code `%{status_code}`!'
14
+ ruby2go_image_command_failed: 'ruby2go_image command `%{command}` failed!'
15
+ ruby2go_image_command_failed_unexpected_error: 'ruby2go_image command `%{command}` failed: `%{message}`!'
16
+ ruby2go_builder_command_failed_unexpected_error: 'ruby2go_builder command `%{command}` failed: `%{message}`!'
13
17
  from_image_required: 'Missing from_image!'
14
18
  image_already_untagged: "Image `%{name}` untagged already!"
15
19
  image_not_exist: "Image `%{name}` doesn't exist!"
@@ -65,6 +69,9 @@ en:
65
69
  ci_environment_required: 'CI environment required (Travis or GitLab CI)!'
66
70
  git_branch_without_name: "Dimg has specific revision that isn't associated with a branch name!"
67
71
  download_failed_bad_dappfile_yml_checksum: "Cannot download dappfile-yml binary dependency from %{url}: checksum validation failed"
72
+ ruby2go_download_failed_bad_checksum: "Cannot download `%{progname}` binary dependency from %{url}: checksum validation failed"
73
+ ruby2go_command_unexpected_exitstatus: 'ruby2go `%{progname}` exited with unexpected code `%{status_code}`!'
74
+ ruby2go_dappdeps_command_failed_unexpected_error: 'ruby2go_dappdeps command `%{dappdeps}`/`%{command}` failed: `%{message}`!'
68
75
  config:
69
76
  dimg_name_required: 'Dimg name required!'
70
77
  dimg_name_incorrect: "Dimg has incorrect name `%{value}`: doesn't match regex `%{pattern}`!"
@@ -73,10 +73,12 @@ require 'dapp/dapp/chef'
73
73
  require 'dapp/dapp/dapp_config'
74
74
  require 'dapp/dapp/option_tags'
75
75
  require 'dapp/dapp/slug'
76
+ require 'dapp/dapp/ruby2go'
76
77
  require 'dapp/dapp/logging/base'
77
78
  require 'dapp/dapp/logging/process'
78
79
  require 'dapp/dapp/logging/paint'
79
80
  require 'dapp/dapp/logging/i18n'
81
+ require 'dapp/dapp/deps/common'
80
82
  require 'dapp/dapp/deps/toolchain'
81
83
  require 'dapp/dapp/deps/base'
82
84
  require 'dapp/dapp/deps/gitartifact'
@@ -149,17 +151,16 @@ require 'dapp/dimg/error/registry'
149
151
  require 'dapp/dimg/error/chef'
150
152
  require 'dapp/dimg/error/lock'
151
153
  require 'dapp/dimg/exception/base'
152
- require 'dapp/dimg/exception/introspect_image'
153
154
  require 'dapp/dimg/exception/registry'
154
155
  require 'dapp/dimg/builder'
155
156
  require 'dapp/dimg/builder/base'
157
+ require 'dapp/dimg/builder/ruby2go'
156
158
  require 'dapp/dimg/builder/chef'
157
159
  require 'dapp/dimg/builder/chef/cookbook_metadata'
158
160
  require 'dapp/dimg/builder/chef/berksfile'
159
161
  require 'dapp/dimg/builder/chef/cookbook'
160
162
  require 'dapp/dimg/builder/shell'
161
163
  require 'dapp/dimg/builder/ansible'
162
- require 'dapp/dimg/builder/ansible/assets'
163
164
  require 'dapp/dimg/builder/none'
164
165
  require 'dapp/dimg/build/stage/mod/logging'
165
166
  require 'dapp/dimg/build/stage/mod/group'
@@ -280,7 +281,6 @@ require 'dapp/dimg/git_repo/own'
280
281
  require 'dapp/dimg/git_repo/remote'
281
282
  require 'dapp/dimg/git_artifact'
282
283
  require 'dapp/dimg/image/argument'
283
- require 'dapp/dimg/image/docker'
284
284
  require 'dapp/dimg/image/stage'
285
285
  require 'dapp/dimg/image/dimg'
286
286
  require 'dapp/dimg/image/scratch'
@@ -21,6 +21,7 @@ module Dapp
21
21
 
22
22
  include SshAgent
23
23
  include Sentry
24
+ include Ruby2Go
24
25
 
25
26
  include Helper::Sha256
26
27
  extend Helper::Trivia
@@ -28,6 +29,7 @@ module Dapp
28
29
  include Helper::Tar
29
30
  include Helper::Url
30
31
 
32
+ include Deps::Common
31
33
  include Deps::Toolchain
32
34
  include Deps::Gitartifact
33
35
  include Deps::Base
@@ -36,6 +38,13 @@ module Dapp
36
38
 
37
39
  attr_reader :options
38
40
 
41
+ def get_ruby2go_state_hash
42
+ {
43
+ "Name" => name.to_s,
44
+ "WorkDir" => work_dir.to_s,
45
+ }
46
+ end
47
+
39
48
  def initialize(options: {})
40
49
  self.class.options.merge!(options)
41
50
  Logging::I18n.initialize
@@ -43,6 +52,9 @@ module Dapp
43
52
  Logging::Paint.initialize(option_color)
44
53
 
45
54
  @_call_before_terminate = []
55
+ @_call_after_before_terminate = []
56
+
57
+ ruby2go_init
46
58
  end
47
59
 
48
60
  def options
@@ -148,6 +160,7 @@ module Dapp
148
160
 
149
161
  def terminate
150
162
  @_call_before_terminate.each {|on_terminate| on_terminate.call(self)}
163
+ @_call_after_before_terminate.each {|on_terminate| on_terminate.call(self)}
151
164
  FileUtils.rmtree(host_docker_tmp_config_dir)
152
165
  end
153
166
 
@@ -126,12 +126,12 @@ module Dapp
126
126
  return if File.exists? dappfile_yml_bin_path
127
127
 
128
128
  log_process("Downloading dappfile-yml dapp dependency") do
129
- location = URI("https://dl.bintray.com/dapp/ruby2go/#{::Dapp::VERSION}/dappfile-yml")
129
+ location = URI("https://dl.bintray.com/flant/dapp/#{::Dapp::VERSION}/dappfile-yml")
130
130
 
131
131
  tmp_bin_path = File.join(self.class.tmp_base_dir, "dappfile-yml-#{SecureRandom.uuid}")
132
132
  ::Dapp::Downloader.download(location, tmp_bin_path, show_progress: true, progress_titile: dappfile_yml_bin_path)
133
133
 
134
- checksum_location = URI("https://dl.bintray.com/dapp/ruby2go/#{::Dapp::VERSION}/dappfile-yml.sha")
134
+ checksum_location = URI("https://dl.bintray.com/flant/dapp/#{::Dapp::VERSION}/dappfile-yml.sha")
135
135
  tmp_bin_checksum_path = tmp_bin_path + ".checksum"
136
136
  ::Dapp::Downloader.download(checksum_location, tmp_bin_checksum_path)
137
137
 
@@ -2,55 +2,23 @@ module Dapp
2
2
  class Dapp
3
3
  module Deps
4
4
  module Base
5
- BASE_VERSION = "0.2.3"
6
-
7
- def base_container_name # FIXME: hashsum(image) or dockersafe()
8
- "dappdeps_base_#{BASE_VERSION}"
9
- end
10
-
11
5
  def base_container
12
- @base_container ||= begin
13
- is_container_exist = proc{shellout("#{host_docker} inspect #{base_container_name}").exitstatus.zero?}
14
- if !is_container_exist.call
15
- lock("dappdeps.container.#{base_container_name}", default_timeout: 600) do
16
- if !is_container_exist.call
17
- log_secondary_process(t(code: 'process.base_container_creating', data: {name: base_container_name}), short: true) do
18
- shellout!(
19
- ["#{host_docker} create",
20
- "--name #{base_container_name}",
21
- "--volume /.dapp/deps/base/#{BASE_VERSION} dappdeps/base:#{BASE_VERSION}"].join(' ')
22
- )
23
- end
24
- end
25
- end
26
- end
27
- base_container_name
28
- end
6
+ dappdeps_container(:base)
29
7
  end
30
8
 
31
9
  def dappdeps_base_path
32
- "/.dapp/deps/base/#{BASE_VERSION}/embedded/bin:/.dapp/deps/base/#{BASE_VERSION}/embedded/sbin"
10
+ ruby2go_dappdeps_command(dappdeps: :base, command: :path)
33
11
  end
34
12
 
35
13
  %w(rm rsync diff date cat
36
14
  stat readlink test sleep mkdir
37
15
  install sed cp true find
38
- bash tar sudo base64).each do |cmd|
39
- define_method("#{cmd}_bin") { "/.dapp/deps/base/#{BASE_VERSION}/embedded/bin/#{cmd}" }
16
+ bash tar sudo base64).each do |bin|
17
+ define_method("#{bin}_bin") { ruby2go_dappdeps_command(dappdeps: :base, command: :bin, options: { bin: bin }) }
40
18
  end
41
19
 
42
20
  def sudo_command(owner: nil, group: nil)
43
- sudo = ''
44
- if owner || group
45
- sudo = "#{sudo_bin} -E "
46
- sudo += "-u #{sudo_format_user(owner)} " if owner
47
- sudo += "-g #{sudo_format_user(group)} " if group
48
- end
49
- sudo
50
- end
51
-
52
- def sudo_format_user(user)
53
- user.to_s.to_i.to_s == user.to_s ? "\\\##{user}" : user
21
+ ruby2go_dappdeps_command(dappdeps: :base, command: :sudo_command, options: { owner: owner, group: group })
54
22
  end
55
23
  end # Base
56
24
  end # Deps
@@ -0,0 +1,25 @@
1
+ module Dapp
2
+ class Dapp
3
+ module Deps
4
+ module Common
5
+ def dappdeps_container(dappdeps)
6
+ dappdeps_containers[dappdeps] ||= ruby2go_dappdeps_command(dappdeps: dappdeps, command: :container)
7
+ end
8
+
9
+ def dappdeps_containers
10
+ @dappdeps_containers ||= {}
11
+ end
12
+
13
+ def ruby2go_dappdeps_command(dappdeps:, command:, **options)
14
+ ruby2go_dappdeps(dappdeps: dappdeps, command: command, **options).tap do |res|
15
+ unless res["error"].nil?
16
+ raise Error::Dapp, code: :ruby2go_dappdeps_command_failed_unexpected_error,
17
+ data: { dappdeps: dappdeps, command: command, message: res["error"] }
18
+ end
19
+ break res['data']
20
+ end
21
+ end
22
+ end # Base
23
+ end # Deps
24
+ end # Dapp
25
+ end # Dapp
@@ -2,35 +2,12 @@ module Dapp
2
2
  class Dapp
3
3
  module Deps
4
4
  module Gitartifact
5
- GITARTIFACT_VERSION = "0.2.1"
6
-
7
- def gitartifact_container_name # FIXME: hashsum(image) or dockersafe()
8
- "dappdeps_gitartifact_#{GITARTIFACT_VERSION}"
9
- end
10
-
11
5
  def gitartifact_container
12
- @gitartifact_container ||= begin
13
- is_container_exist = proc{shellout("#{host_docker} inspect #{gitartifact_container_name}").exitstatus.zero?}
14
- if !is_container_exist.call
15
- lock("dappdeps.container.#{gitartifact_container_name}", default_timeout: 600) do
16
- if !is_container_exist.call
17
- log_secondary_process(t(code: 'process.gitartifact_container_creating', data: {name: gitartifact_container_name}), short: true) do
18
- shellout!(
19
- ["#{host_docker} create",
20
- "--name #{gitartifact_container_name}",
21
- "--volume /.dapp/deps/gitartifact/#{GITARTIFACT_VERSION}",
22
- "dappdeps/gitartifact:#{GITARTIFACT_VERSION}"].join(' ')
23
- )
24
- end
25
- end
26
- end
27
- end
28
- gitartifact_container_name
29
- end
6
+ dappdeps_container(:gitartifact)
30
7
  end
31
8
 
32
9
  def git_bin
33
- "/.dapp/deps/gitartifact/#{GITARTIFACT_VERSION}/bin/git"
10
+ ruby2go_dappdeps_command(dappdeps: :gitartifact, command: :bin)
34
11
  end
35
12
  end # Gitartifact
36
13
  end # Deps
@@ -2,30 +2,8 @@ module Dapp
2
2
  class Dapp
3
3
  module Deps
4
4
  module Toolchain
5
- TOOLCHAIN_VERSION = "0.1.1"
6
-
7
- def toolchain_container_name # FIXME: hashsum(image) or dockersafe()
8
- "dappdeps_toolchain_#{TOOLCHAIN_VERSION}"
9
- end
10
-
11
5
  def toolchain_container
12
- @toolchain_container ||= begin
13
- is_container_exist = proc {shellout("#{host_docker} inspect #{toolchain_container_name}").exitstatus.zero?}
14
- if !is_container_exist.call
15
- lock("dappdeps.container.#{toolchain_container_name}", default_timeout: 600) do
16
- if !is_container_exist.call
17
- log_secondary_process(t(code: 'process.toolchain_container_creating', data: {name: toolchain_container_name}), short: true) do
18
- shellout!(
19
- ["#{host_docker} create",
20
- "--name #{toolchain_container_name}",
21
- "--volume /.dapp/deps/toolchain/#{TOOLCHAIN_VERSION} dappdeps/toolchain:#{TOOLCHAIN_VERSION}"].join(' ')
22
- )
23
- end
24
- end
25
- end
26
- end
27
- toolchain_container_name
28
- end
6
+ dappdeps_container(:toolchain)
29
7
  end
30
8
  end # Toolchain
31
9
  end # Deps
@@ -27,15 +27,15 @@ module Dapp
27
27
  end
28
28
 
29
29
  def ignore_config_warning?
30
- options[:ignore_config_warning]
30
+ !!options[:ignore_config_warning]
31
31
  end
32
32
 
33
33
  def introspect_error?
34
- options[:introspect_error]
34
+ !!options[:introspect_error]
35
35
  end
36
36
 
37
37
  def introspect_before_error?
38
- options[:introspect_before_error]
38
+ !!options[:introspect_before_error]
39
39
  end
40
40
 
41
41
  def dry_run?
@@ -0,0 +1,96 @@
1
+ module Dapp
2
+ class Dapp
3
+ module Ruby2Go
4
+ def ruby2go_image(args_hash)
5
+ _ruby2go("image", args_hash)
6
+ end
7
+
8
+ def ruby2go_builder(args_hash)
9
+ _ruby2go("builder", args_hash)
10
+ end
11
+
12
+ def ruby2go_git_artifact(args_hash)
13
+ _ruby2go("git-artifact", args_hash)
14
+ end
15
+
16
+ def ruby2go_dappdeps(args_hash)
17
+ _ruby2go("dappdeps", args_hash)
18
+ end
19
+
20
+ def ruby2go_git_repo(args_hash)
21
+ _ruby2go("git-repo", args_hash)
22
+ end
23
+
24
+ def ruby2go_init
25
+ @_call_after_before_terminate << proc {
26
+ FileUtils.rmtree(@_ruby2go_tmp_dir) if @_ruby2go_tmp_dir
27
+ }
28
+ end
29
+
30
+ def _ruby2go_bin_path_env_var_name(progname)
31
+ "DAPP_BIN_#{progname.gsub("-", "_").upcase}"
32
+ end
33
+
34
+ def _ruby2go(progname, args_hash)
35
+ call_id = SecureRandom.uuid
36
+
37
+ args_file = File.join(_ruby2go_tmp_dir, "args.#{call_id}.json")
38
+ File.open(args_file, "w") {|f| f.write JSON.dump(args_hash)}
39
+
40
+ res_file = File.join(_ruby2go_tmp_dir, "res.#{call_id}.json")
41
+
42
+ if bin_path = ENV[_ruby2go_bin_path_env_var_name(progname)]
43
+ unless File.exists? bin_path
44
+ raise ::Dapp::Error::Dapp,
45
+ code: :ruby2go_bin_path_not_found,
46
+ data: {env_var_name: _ruby2go_bin_path_env_var_name(progname), path: bin_path}
47
+ end
48
+ else
49
+ bin_path = File.join(::Dapp::Dapp.home_dir, "bin", progname, ::Dapp::VERSION, progname)
50
+ unless File.exists? bin_path
51
+ _download_ruby2go_bin(progname, bin_path)
52
+ end
53
+ end
54
+
55
+ system("#{bin_path} -args-from-file #{args_file} -result-to-file #{res_file}")
56
+ status_code = $?.exitstatus
57
+ if [0, 16].include?(status_code)
58
+ res = nil
59
+ File.open(res_file, "r") {|f| res = JSON.load(f.read)}
60
+ res
61
+ else
62
+ raise ::Dapp::Error::Base, code: :ruby2go_command_unexpected_exitstatus, data: { progname: progname, status_code: status_code }
63
+ end
64
+ end
65
+
66
+ def _ruby2go_tmp_dir
67
+ @_ruby2go_tmp_dir ||= Dir.mktmpdir('dapp-ruby2go-', tmp_base_dir)
68
+ end
69
+
70
+ def _download_ruby2go_bin(progname, bin_path)
71
+ lock("downloader.bin.#{progname}", default_timeout: 1800) do
72
+ return if File.exists? bin_path
73
+
74
+ log_process("Downloading #{progname} dapp dependency") do
75
+ location = URI("https://dl.bintray.com/flant/dapp/#{::Dapp::VERSION}/#{progname}")
76
+
77
+ tmp_bin_path = File.join(self.class.tmp_base_dir, "#{progname}-#{SecureRandom.uuid}")
78
+ ::Dapp::Downloader.download(location, tmp_bin_path, show_progress: true, progress_titile: bin_path)
79
+
80
+ checksum_location = URI("https://dl.bintray.com/flant/dapp/#{::Dapp::VERSION}/#{progname}.sha")
81
+ tmp_bin_checksum_path = tmp_bin_path + ".checksum"
82
+ ::Dapp::Downloader.download(checksum_location, tmp_bin_checksum_path)
83
+
84
+ if Digest::SHA256.hexdigest(File.read(tmp_bin_path)) != File.read(tmp_bin_checksum_path).strip
85
+ raise ::Dapp::Error::Dapp, code: :ruby2go_download_failed_bad_checksum, data: {url: location.to_s, checksum_url: checksum_location.to_s, progname: progname}
86
+ end
87
+
88
+ File.chmod(0755, tmp_bin_path)
89
+ FileUtils.mkdir_p File.dirname(bin_path)
90
+ FileUtils.mv tmp_bin_path, bin_path
91
+ end # log_process
92
+ end # lock
93
+ end
94
+ end # Ruby2Go
95
+ end # Dapp
96
+ end # Dapp
@@ -50,7 +50,6 @@ module Dapp
50
50
  "build-dir" => self.build_dir,
51
51
  "options" => self.options,
52
52
  "env-options" => {
53
- "DAPP_FORCE_SAVE_CACHE" => ENV["DAPP_FORCE_SAVE_CACHE"],
54
53
  "DAPP_BIN_DAPPFILE_YML" => ENV["DAPP_BIN_DAPPFILE_YML"],
55
54
  "ANSIBLE_ARGS" => ENV["ANSIBLE_ARGS"],
56
55
  "DAPP_CHEF_DEBUG" => ENV["DAPP_CHEF_DEBUG"],