aboutsummaryrefslogtreecommitdiffstats
path: root/src/rlx_prv_assembler.erl
diff options
context:
space:
mode:
authorTristan Sloughter <[email protected]>2013-09-19 21:40:49 -0500
committerTristan Sloughter <[email protected]>2013-09-19 21:40:49 -0500
commita9cf1124f7d8d1333c79d542b900d3d0e12552c3 (patch)
treef68feb4dd8f827aa1fb29d0181a8d8f65a3aad4f /src/rlx_prv_assembler.erl
parent6df9d493655775677400ca0348de747d90305256 (diff)
downloadrelx-a9cf1124f7d8d1333c79d542b900d3d0e12552c3.tar.gz
relx-a9cf1124f7d8d1333c79d542b900d3d0e12552c3.tar.bz2
relx-a9cf1124f7d8d1333c79d542b900d3d0e12552c3.zip
create RELEASES file and include tarball so downgrade to initial release works
Diffstat (limited to 'src/rlx_prv_assembler.erl')
-rw-r--r--src/rlx_prv_assembler.erl13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/rlx_prv_assembler.erl b/src/rlx_prv_assembler.erl
index 08d7325..2ba1786 100644
--- a/src/rlx_prv_assembler.erl
+++ b/src/rlx_prv_assembler.erl
@@ -382,12 +382,14 @@ make_boot_script(State, Release, OutputDir, RelDir) ->
ok ->
rlx_log:error(rlx_state:log(State),
"release successfully created!"),
+ create_RELEASES(OutputDir, ReleaseFile),
{ok, State};
error ->
?RLX_ERROR({release_script_generation_error, ReleaseFile});
{ok, _, []} ->
rlx_log:error(rlx_state:log(State),
"release successfully created!"),
+ create_RELEASES(OutputDir, ReleaseFile),
{ok, State};
{ok,Module,Warnings} ->
?RLX_ERROR({release_script_generation_warn, Module, Warnings});
@@ -462,6 +464,8 @@ update_tar(State, TempDir, OutputDir, Name, Vsn, ErtsVersion) ->
hd(install_upgrade_escript_contents())},
{"lib", filename:join(TempDir, "lib")},
{"releases", filename:join(TempDir, "releases")},
+ {filename:join(["releases", "RELEASES"])
+ ,filename:join([OutputDir, "releases", "RELEASES"])},
{filename:join(["releases", Vsn, "vm.args"]),
filename:join([OutputDir, "releases", Vsn, "vm.args"])},
{"bin", filename:join([OutputDir, "bin"])}], [compressed]),
@@ -470,6 +474,15 @@ update_tar(State, TempDir, OutputDir, Name, Vsn, ErtsVersion) ->
ec_file:remove(TempDir, [recursive]),
{ok, State}.
+create_RELEASES(OutputDir, ReleaseFile) ->
+ {ok, OldCWD} = file:get_cwd(),
+ file:set_cwd(OutputDir),
+ release_handler:create_RELEASES("./",
+ "releases",
+ ReleaseFile,
+ []),
+ file:set_cwd(OldCWD).
+
make_upfrom_script(State, Release, UpFrom) ->
OutputDir = rlx_state:output_dir(State),
Options = [{outdir, OutputDir},