Skip to content

Commit 4a13fe5

Browse files
author
Taras Tyshko
committed
git rebase and fix conflicts
1 parent b5cdc56 commit 4a13fe5

File tree

2 files changed

+24
-31
lines changed

2 files changed

+24
-31
lines changed

lib/nerves_hub/firmwares/update_tool/fwup.ex

Lines changed: 23 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ defmodule NervesHub.Firmwares.UpdateTool.Fwup do
209209
defp update_changed_files(file_list, delta_zip_path, output_work_dir) do
210210
for file <- file_list do
211211
args = ["-9", delta_zip_path, String.replace_prefix(file, "#{output_work_dir}/", "")]
212-
{_output, 0} = System.cmd("zip", args, cd: output_work_dir)
212+
{_output, 0} = System.cmd("zip", args, cd: output_work_dir, env: %{})
213213
end
214214

215215
:ok
@@ -234,38 +234,14 @@ defmodule NervesHub.Firmwares.UpdateTool.Fwup do
234234

235235
case File.stat(source_filepath) do
236236
{:ok, %{size: f_source_size}} ->
237-
args = [
238-
"-A",
239-
"-S",
240-
"-f",
241-
"-s",
242-
source_filepath,
243-
target_filepath,
244-
output_path
245-
]
246-
237+
args = ["-A", "-S", "-f", "-s", source_filepath, target_filepath, output_path]
247238
%{size: f_target_size} = File.stat!(target_filepath)
248239

249240
if f_target_size < @delta_overhead_limit do
250241
Logger.info("Skipping generating delta for #{path} it is under 22 bytes.")
251242
nil
252243
else
253-
{_, 0} = System.cmd("xdelta3", args, stderr_to_stdout: true, env: [])
254-
%{size: f_delta_size} = File.stat!(output_path)
255-
256-
if f_delta_size < f_target_size do
257-
Logger.info(
258-
"Generated delta for #{path}, from #{Float.round(f_source_size / 1024 / 1024, 1)} MB to #{Float.round(f_target_size / 1024 / 1024, 1)} MB via delta of #{Float.round(f_delta_size / 1024 / 1024, 1)} MB"
259-
)
260-
261-
output_path
262-
else
263-
Logger.info(
264-
"Skipping generated delta for #{path}, delta is larger: #{Float.round(f_source_size / 1024 / 1024, 1)} MB to #{Float.round(f_target_size / 1024 / 1024, 1)} MB via delta of #{Float.round(f_delta_size / 1024 / 1024, 1)} MB"
265-
)
266-
267-
nil
268-
end
244+
generate_and_validate_delta(path, args, output_path, f_source_size, f_target_size)
269245
end
270246

271247
{:error, :enoent} ->
@@ -276,11 +252,28 @@ defmodule NervesHub.Firmwares.UpdateTool.Fwup do
276252
end
277253
end
278254

255+
defp generate_and_validate_delta(path, args, output_path, f_source_size, f_target_size) do
256+
{_, 0} = System.cmd("xdelta3", args, stderr_to_stdout: true, env: %{})
257+
%{size: f_delta_size} = File.stat!(output_path)
258+
259+
if f_delta_size < f_target_size do
260+
Logger.info(
261+
"Generated delta for #{path}, from #{Float.round(f_source_size / 1024 / 1024, 1)} MB to #{Float.round(f_target_size / 1024 / 1024, 1)} MB via delta of #{Float.round(f_delta_size / 1024 / 1024, 1)} MB"
262+
)
263+
264+
output_path
265+
else
266+
Logger.info(
267+
"Skipping generated delta for #{path}, delta is larger: #{Float.round(f_source_size / 1024 / 1024, 1)} MB to #{Float.round(f_target_size / 1024 / 1024, 1)} MB via delta of #{Float.round(f_delta_size / 1024 / 1024, 1)} MB"
268+
)
269+
270+
nil
271+
end
272+
end
273+
279274
defp delta_files(deltas) do
280275
deltas
281-
|> Enum.flat_map(fn {_k, files} ->
282-
files
283-
end)
276+
|> Enum.flat_map(fn {_k, files} -> files end)
284277
|> Enum.uniq()
285278
|> case do
286279
[] -> {:error, :no_delta_support_in_firmware}

lib/nerves_hub_web/components/core_components.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@ defmodule NervesHubWeb.CoreComponents do
331331
range radio search select tel text textarea time url week)
332332
)
333333

334-
attr(:field, HTML.FormField, doc: "a form field struct retrieved from the form, for example: @form[:email]" )
334+
attr(:field, HTML.FormField, doc: "a form field struct retrieved from the form, for example: @form[:email]")
335335

336336
attr(:errors, :list, default: [])
337337
attr(:checked, :boolean, doc: "the checked flag for checkbox inputs")

0 commit comments

Comments
 (0)