relup(5)
π relup β the release upgrade file, bestie π
ok so real talk: this is the manual page for relup, from the Files section of the manual (yes she lives in the file-format girlies section π
), and she is literally the glow-up blueprint for your release.
β¨ NAME β¨
relup β Release upgrade file. that's her. that's the whole name. iconic behavior honestly π
πΈ DESCRIPTION πΈ
The release upgrade file describes how a release is upgraded in a running system. yes bestie, in a running system β no downtime, no drama, no "sorry we're closed for maintenance" energy. she's giving main character. π
This file is automatically generated by systools:make_relup/3,4, using a release resource file (.rel), application resource files (.app), and application upgrade files (.appup) as input. so likeβ¦ you don't hand-write this, she's born from the tooling. no cap. π¦
π¦ FILE SYNTAX π¦
ok so in a target system, the release upgrade file is to be located in directory $ROOT/releases/Vsn. that's the address, that's where she lives, memorize it fr fr π
The relup file contains one single Erlang term, which defines the instructions used to upgrade the release. one term. that's it. the whole personality in one expression. The file has the following syntax:
{Vsn,
[{UpFromVsn, Descr, Instructions}, ...],
[{DownToVsn, Descr, Instructions}, ...]}.
and now the breakdown, because every field matters and I will NOT be skipping any of them:
Vsn = string()β Current release version. the version you're on right now, present tense, living in the moment β¨UpFromVsn = string()β Earlier version of the release to upgrade from. the "before" pic in this transformation post πΈ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 you can put your little custom note in there and it comes back to you later, like a friendship bracelet you forgot you made π«ΆInstructionsβ A list of low-level release upgrade instructions, seeappup(5). 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. order matters bestie, this is not a shuffle situation, this is a choreography πDownToVsn = string()β Earlier version of the release to downgrade to. yes she does reversals too. she contains multitudes. the downgrade is right there in the same term, that's range, that's versatility π
ngl the "one single Erlang term" thing is the whole vibe β up-instructions and down-instructions, all together, no separate file, no notes app, just one term holding it down. π§
π SEE ALSO π
go read her friends, they're all slaying in their own lanes:
and that's the page!! thanks for reading, you ate that π β¨
this masterpiece was brought to you by Ericsson AB, from sasl 4.2, and yes, the page is dated relup(5) like the legend she is. mwah. πππΈ
π¦ where this page comes from
- debian bookworm: erlang-manpages 1:25.2.3+dfsg-1+deb12u1 Β· Apache-2.0
- debian bookworm: erlang-manpages 1:25.2.3+dfsg-1+deb12u4 Β· Apache-2.0
- ubuntu noble: erlang-manpages 1:25.3.2.8+dfsg-1ubuntu4 Β· Apache-2.0
- ubuntu noble: erlang-manpages 1:25.3.2.8+dfsg-1ubuntu4.8 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms