1RBM(1) RBM(1)
2
3
4
6 rbm - Packaging tool
7
9 rbm [command] [options]
10
12 Reproducible Build Manager (rbm) is a tool that helps you create and
13 build packages for multiple linux distributions, and automate the parts
14 that can be automated. It includes options to run the build in a
15 defined environement to allow reproducing the build.
16
17 It can be used to create rpm, debian and other types of packages.
18
20 tarball creation
21 Create tarballs for your software using a simple command and a git
22 or mercurial revision.
23
24 automatic verification of gpg signatures
25 If your git commits or git tags are gpg signed, the signature can
26 be automatically checked using a specified keyring.
27
28 package creation
29 Create binary or source packages from any git or mercurial revision
30 using a simple command.
31
32 remote builds
33 Build your software on a remote server with ssh, or in a local
34 chroot using a different OS. For instance if you are using rbm on
35 an rpm based distribution, this allows you to build debian packages
36 from the same workspace, using a Debian chroot.
37
38 customizable
39 Almost everything rbm do can be changed using some optional
40 settings, globally, or for some selected projects or OSs.
41
42 simple configuration
43 The configuration is done using simple YAML files.
44
45 a flexible configuration system
46 All settings can be set globally, per workspace, project, or target
47 operating system.
48
49 a dynamic configuration system
50 All configuration settings are templates. You can reuse other
51 configuration settings, or the output of some commands in those
52 settings. For instance, the version number of your software can be
53 set using a command to grep the README file in your sources tree.
54
55 extensible in perl
56 While the configuration is usually done in simple YAML, you can
57 also in the same configuration file use perl to define any of the
58 options. Those options can be defined by a perl function that will
59 be executed when the option is queried, and whose return value will
60 be used as the option value.
61
63 The following man pages are available :
64
65 • rbm_tutorial(7) : A tutorial introduction to rbm
66
67 • rbm_layout(7) : The rbm layout
68
69 • rbm_config(7) : The rbm configuration
70
71 • rbm_modules(7) : The rbm modules
72
73 • rbm_cli(7) : The rbm command line interface
74
75 • rbm_templates(7) : The rbm templates
76
77 • rbm_remote(7) : The rbm remote builds
78
79 • rbm_input_files(7) : The input files configuration
80
81 • rbm_targets(7) : The targets configuration
82
83 • rbm_steps(7) : The steps configuration
84
85 rbm commands :
86
87 • rbm(1)
88
89 • rbm-usage(1)
90
91 • rbm-tar(1)
92
93 • rbm-showconf(1)
94
95 • rbm-build(1)
96
97 • rbm-fetch(1)
98
100 You can look at the Tor Browser build repository for an example of how
101 it can be used.
102 https://gitweb.torproject.org/builders/tor-browser-build.git/
103
104
105
106 07/28/2023 RBM(1)