RBM(1)
π RBM β the packaging tool that's literally THAT girl π
okay so bestie, welcome to rbm, aka the Reproducible Build Manager manual page (RBM(1) if we're being official β¨). pull up a chair, grab a boba, and let's get into it π§
β¨ NAME β¨
rbm β the packaging tool π
β¨ SYNOPSIS β¨
rbm [command] [options]
that's it. that's the whole vibe. π
β¨ DESCRIPTION β¨
Reproducible Build Manager (rbm) is a tool that helps you create and build packages for multiple linux distributions, and automate the parts that can be automated. π οΈβ¨
It includes options to run the build in a defined environement to allow reproducing the build. (yes, "environement" β we're quoting the original, no notes, it's giving authentic π)
It can be used to create rpm, debian and other types of packages. so like, it's versatile. it contains multitudes. main character energy fr fr π
β¨ MAIN FEATURES β¨
okay so this is the part where rbm flexes and honestly? deserved. π
- tarball creation β Create tarballs for your software using a simple command and a git or mercurial revision.
- automatic verification of gpg signatures β If your git commits or git tags are gpg signed, the signature can be automatically checked using a specified keyring. π slay.
- package creation β Create binary or source packages from any git or mercurial revision using a simple command.
- remote builds β Build your software on a remote server with ssh, or in a local chroot using a different OS. For instance if you are using
rbmon an rpm based distribution, this allows you to build debian packages from the same workspace, using a Debian chroot. π bestie can build for EVERYONE. - customizable β Almost everything
rbmdo can be changed using some optional settings, globally, or for some selected projects or OSs. - simple configuration β The configuration is done using simple YAML files. π no cap, it's just YAML.
- a flexible configuration system β All settings can be set globally, per workspace, project, or target operating system.
- a dynamic configuration system β All configuration settings are templates. You can reuse other configuration settings, or the output of some commands in those settings. For instance, the version number of your software can be set using a command to grep the README file in your sources tree. π₯ the way that config can run commands... obsessed.
- extensible in perl β While the configuration is usually done in simple YAML, you can also in the same configuration file use perl to define any of the options. Those options can be defined by a perl function that will be executed when the option is queried, and whose return value will be used as the option value. πͺ perl girlies rise.
β¨ DOCUMENTATION β¨
The following man pages are available : π
rbm_tutorial(7): A tutorial introduction torbmrbm_layout(7): Therbmlayoutrbm_config(7): Therbmconfigurationrbm_modules(7): Therbmmodulesrbm_cli(7): Therbmcommand line interfacerbm_templates(7): Therbmtemplatesrbm_remote(7): Therbmremote buildsrbm_input_files(7): The input files configurationrbm_targets(7): The targets configurationrbm_steps(7): The steps configuration
rbm commands : β¨οΈ
β¨ EXAMPLES β¨
You can look at the Tor Browser build repository for an example of how it can be used. ππ§
https://gitweb.torproject.org/builders/tor-browser-build.git/
bestie reminder: this page is dated 07/25/2025 π that's the footer energy, we're folding it in as a cute little sign-off instead of a boring last line. mwah. π
and that's the whole RBM(1) page, babes. go build something reproducible. periodt. π
β¨ππ¦
π¦ where this page comes from
- fedora 43: rbm 0.4^20241205gitc6a4095-3.fc43 Β· CC0-1.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms