[erlang-questions] Erlang release names and versions

Sam Bobroff <>
Tue Sep 13 07:17:13 CEST 2011


Hi Erlangers,
I'm trying to package up some Erlang projects for distribution,
possibly by creating Releases, and I'm getting quite confused. I'd
like to do it the "correct" way because we may want to use
release_handler to perform upgrades.

Maybe someone can help me out :-)

The documentation for Releases
(http://www.erlang.org/doc/design_principles/release_structure.html)
shows a sample directory structure produced by make_tar, which
includes this part:

releases/A/start.boot
releases/ch_rel-1.rel

Where ch_rel-1 is the name of the release and A is the version of the release.

Question 1: If the release file is placed in releases/ch_rel-1.rel,
then isn't installing a second version of the release (say, "B") going
to overwrite the file? Isn't this a problem? Is the addition of "-1"
to the release name supposed to address this? Shouldn't the release
name appear somewhere in the path?

Question 2: If another release, say "foo", is installed with the same
version (say "A"), isn't it going to overwrite the start.boot file
from release "ch_rel-1"?

Question 3: Should I even be trying to install more than one release
at once? Would I need a completely new Erlang install directory (or at
least, releases directory, by using RELDIR)?

(I have, incidentally, seen somewhere that the placement of the .rel
file directly under releases/ by make_tar is a bug. Is this so? It
certainly doesn't seem to match the structure created by
create_target.)

Thanks in advance for any help,
Sam.



More information about the erlang-questions mailing list