relup(4)
π relup β the release glow-up file π
okay bestie, gather round, because this one is the manual page for relup (section 4 of the manual, iykyk), and it's literally the blueprint for how a release gets upgraded. no cap.
β¨ DESCRIPTION β¨
so. the release upgrade file describes how a release is upgraded in a running system. that's the whole vibe. it's the instructions sheet, the choreography, the "okay everyone here's what changes" note. π
and the best part? you do not hand-write this. it's automatically generated by systools:make_relup/3,4, which takes these as input:
- a release resource file (
.rel) π¦ - application resource files (
.app) πΈ - application upgrade files (
.appup) π
π File Syntax π
in a target system, the release upgrade file is to be located in directory $ROOT/releases/Vsn. that's its home. that's where it lives. π
the relup file contains one single Erlang term, and that term defines the instructions used to upgrade the release. here's the syntax, verbatim, don't touch it:
{Vsn,
[{UpFromVsn, Descr, Instructions}, ...],
[{DownToVsn, Descr, Instructions}, ...]}.
Vsn = string()
Vsn = string()β Current release version. πUpFromVsn = string()β Earlier version of the release to upgrade from. β¬οΈDescr = term()β A user-defined parameter passed from the functionsystools:make_relup/3,4. It is used in the return value ofrelease_handler:install_release/1,2. so like, you put a lil something in, and it comes back out over there. π«ΆInstructionsβ A list of low-level release upgrade instructions, seeappup(4). It consists of the release upgrade instructions from the respective application upgrade files (high-level instructions are translated to low-level instructions), in the same order as in the start script. the way that high-level stuff gets translated down to low-level... obsessed. π₯DownToVsn = string()β Earlier version of the release to downgrade to. β¬οΈ (yes bestie, we can go back too, it's giving reversible.)
π See Also π
app(4), appup(4), rel(4), release_handler, systools
go read those too, fr fr. no skipping. π
and that's the whole page, periodt. π this lil masterpiece came to you from Ericsson AB, from the sasl 4.4 era, and it's been sitting pretty in the relup(4) slot ever since. mwah. π
β¨
π¦ where this page comes from
- arch rolling: erlang-core 29.1.1-1 Β· Apache-2.0
- nixos 26.05: erlang 29.1.2
- nixpkgs unstable: erlang 29.1.2
- ubuntu stonking: erlang-doc 1:29.0.6+dfsg-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms