dapp 0.32.10 → 0.33.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.
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"],