fix: ensure install_upgrace.escript always restore cwd
This commit is contained in:
parent
d49c8b61e6
commit
8798a5160c
|
@ -262,19 +262,23 @@ make_symlink_or_copy(Filename, ReleaseLink) ->
|
||||||
|
|
||||||
unpack_zipballs(RelNameStr, Version) ->
|
unpack_zipballs(RelNameStr, Version) ->
|
||||||
{ok, Cwd} = file:get_cwd(),
|
{ok, Cwd} = file:get_cwd(),
|
||||||
GzFile = filename:absname(filename:join(["releases", RelNameStr ++ "-" ++ Version ++ ".tar.gz"])),
|
try
|
||||||
ZipFiles = filelib:wildcard(filename:join(["releases", RelNameStr ++ "-*" ++ Version ++ "*.zip"])),
|
GzFile = filename:absname(filename:join(["releases", RelNameStr ++ "-" ++ Version ++ ".tar.gz"])),
|
||||||
?INFO("unzip ~p", [ZipFiles]),
|
ZipFiles = filelib:wildcard(filename:join(["releases", RelNameStr ++ "-*" ++ Version ++ "*.zip"])),
|
||||||
[begin
|
?INFO("unzip ~p", [ZipFiles]),
|
||||||
TmdTarD="/tmp/emqx_untar_" ++ integer_to_list(erlang:system_time()),
|
[begin
|
||||||
ok = filelib:ensure_dir(filename:join([TmdTarD, "dummy"])),
|
TmdTarD="/tmp/emqx_untar_" ++ integer_to_list(erlang:system_time()),
|
||||||
{ok, _} = file:copy(Zip, filename:join([TmdTarD, "emqx.zip"])),
|
ok = filelib:ensure_dir(filename:join([TmdTarD, "dummy"])),
|
||||||
ok = file:set_cwd(filename:join([TmdTarD])),
|
{ok, _} = file:copy(Zip, filename:join([TmdTarD, "emqx.zip"])),
|
||||||
{ok, _FileList} = zip:unzip("emqx.zip"),
|
ok = file:set_cwd(filename:join([TmdTarD])),
|
||||||
ok = file:set_cwd(filename:join([TmdTarD, "emqx"])),
|
{ok, _FileList} = zip:unzip("emqx.zip"),
|
||||||
ok = erl_tar:create(GzFile, filelib:wildcard("*"), [compressed])
|
ok = file:set_cwd(filename:join([TmdTarD, "emqx"])),
|
||||||
end || Zip <- ZipFiles],
|
ok = erl_tar:create(GzFile, filelib:wildcard("*"), [compressed])
|
||||||
file:set_cwd(Cwd).
|
end || Zip <- ZipFiles]
|
||||||
|
after
|
||||||
|
% restore cwd
|
||||||
|
file:set_cwd(Cwd)
|
||||||
|
end.
|
||||||
|
|
||||||
first_value(_Fun, []) -> no_value;
|
first_value(_Fun, []) -> no_value;
|
||||||
first_value(Fun, [Value | Rest]) ->
|
first_value(Fun, [Value | Rest]) ->
|
||||||
|
|
Loading…
Reference in New Issue