rbm man page

rbm — Packaging tool

Synopsis

rbm [command] [options]

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.

It can be used to create rpm, debian and other types of packages.

Main Features

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.

package creation

Create binary or source packages from any git or mercurial revision using a simple command.

packages upload

Upload the packages that you have built to a repository and update metadata.

multi-os support

RPM and debian packages are currently supported. Support for more packaging systems could easily be added. Using package templates and the Template Toolkit, you can make different packages for different distributions using the same files. The syntax of this templating system is much more clear and powerful than the RPM macros syntax.

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 rbm on an rpm based distribution, this allows you to build debian packages from the same workspace, using a Debian chroot.

customizable

Almost everything rbm do 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.

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.

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.

Documentation

The following man pages are available :

· rbm_tutorial(7) : A tutorial introduction to rbm

· rbm_layout(7) : The rbm layout

· rbm_config(7) : The rbm configuration

· rbm_cli(7) : The rbm command line interface

· rbm_templates(7) : The rbm templates

· rbm_remote(7) : The rbm remote builds

· rbm_input_files(7) : The input files configuration

· rbm_targets(7) : The targets configuration

· rbm_steps(7) : The steps configuration

rbm commands :

· rbm(1)

Examples

Some examples of package templates and configuration are available in the git repository at the following address : https://github.com/boklm/burps-workspace

Referenced By

rbm_cli(7), rbm_config(7), rbm-deb(1), rbm-deb-src(1), rbm-fetch(1), rbm_input_files(7), rbm_layout(7), rbm-pkg(1), rbm-publish(1), rbm_remote(7), rbm-rpm(1), rbm-rpmspec(1), rbm-showconf(1), rbm-srpm(1), rbm_steps(7), rbm-tar(1), rbm_targets(7), rbm_templates(7), rbm_tutorial(7), rbm-usage(1).

11/04/2016