relup(4)

πŸ“¦
version 29.1.1 Β· 3 versions
, in arch rolling, nixos 26.05, nixpkgs unstable, ubuntu stonking

πŸ’– 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 function systools:make_relup/3,4. It is used in the return value of release_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, see appup(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