rel(4)
β¨ NAME β¨
ok so this is the manual page for rel β the Release resource file π (yes bestie, it's an Erlang module definition page, and it's lowkey iconic)
πΈ DESCRIPTION πΈ
the release resource file is the girl who decides which applications are included in a release (system) based on Erlang/OTP. she's the guest list, she's the bouncer, she's everything π
this file gets used by the functions in systools when generating start scripts (.script, .boot) and release upgrade files (relup). so like, she's not just pretty, she works.
π File Syntax π
ok so the release resource file has GOT to be called Name.rel. that's the rule. no cap. π¦
inside, the .rel file contains one single Erlang term, and that term is called a release specification. one term. that's it. and the file has this syntax:
{release, {RelName,Vsn}, {erts, EVsn},
[{Application, AppVsn} |
{Application, AppVsn, Type} |
{Application, AppVsn, IncApps} |
{Application, AppVsn, Type, IncApps}]}.
now lemme break down every single piece, because we do NOT skip details in this house πβ¨
RelName = string()β the release name. she's the title, the main character energy of the whole thing πVsn = string()β the release version.EVsn = string()β the ERTS version this release is intended for.Application = atom()β the name of an application included in the release.AppVsn = string()β the version of an application included in the release.Type = permanent | transient | temporary | load | noneβ the start type of an application included in the release. and here's the tea β:- if
Type = permanent | transient | temporary, the application is loaded and started in the corresponding way β go peek atapplicationfor the deets. - if
Type = load, the application is only loaded. - if
Type = none, the application is not loaded and not started, although the code for its modules is loaded. (so like, she's at the party but she's not talking to anyone π) - this defaults to
permanentβ¨
- if
IncApps = [atom()]β a list of applications that are included by an application included in the release. the list must be a subset of the included applications specified in the application resource file (Application.app) and overrides this value. defaults to the same value as in the application resource file. periodt.
β οΈ NOTE, and bestie this one MATTERS: the list of applications must contain theKernelandSTDLIBapplications. like, mandatory mandatory. no Kernel, no STDLIB, no release. don't do it π«Ά
π See Also π
applicationrelup(4)systools
that's the whole page bestie, you ate that πβ
Ericsson AB made this one β it's from sasl 4.4, and yeah it's the rel(4) page, so go forth and build your release, you absolute queen πππ
π¦ 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