1RBM_LAYOUT(7) RBM_LAYOUT(7)
2
3
4
6 rbm_layout - The layout of a rbm workspace
7
9 An rbm workspace is a set of packaging projects, with a common
10 configuration, and projects' specific configuration files.
11
12 An rbm workspace can be located anywhere on your filesystem, as long as
13 your are running rbm from this directory or one of its subdirectories.
14
15 A typical rbm workspace that contains two projects named project_1 and
16 project_2 will look like this :
17
18 (rbm-workspace)
19 |
20 |-- rbm.conf
21 |
22 |-- out
23 | |
24 | |-- project_1
25 | | |
26 | | |-- project_1-0.1-src.tar.gz
27 | | |
28 | | +-- project_1-0.1-1.x86_64.rpm
29 | | |
30 | | +-- project_1-0.1-1.x86_64.tar.gz
31 | |
32 | +-- project_2
33 | |
34 | |-- project_2-7.3.tar-src.bz2
35 | |
36 | +-- project_2-7.1-1.x86_64.tar.gz
37 |
38 |-- git_clones
39 | |
40 | |-- project_1
41 | | +-- source files
42 | |
43 | +-- project_2
44 | +-- source files
45 |
46 |-- keyring
47 | |
48 | |-- project_1.gpg
49 | |
50 | +-- project_2.gpg
51 |
52 +-- projects
53 | |
54 | |-- project_1
55 | | |
56 | | |-- config
57 | | |
58 | | |-- project_1.spec
59 | | |
60 | | |-- bugfix.patch
61 | |
62 | +-- project_2
63 | |
64 | |-- config
65 | |
66 | +-- build
67 |
68 +-- modules
69 |
70 +-- container
71 |
72 |-- rbm.module.conf
73 |
74 |-- projects
75 | |
76 | +-- container-image
77 | |
78 | |-- config
79 | |
80 | +-- build
81 |
82 +-- keyring
83 |
84 +-- container-image.gpg
85
86 You will file the following files and directories :
87
88 rbm.conf
89 This is the main configuration file, containing generic
90 configuration for all projects. This file is mandatory.
91
92 out
93 This is the directory where output files are written. Each project
94 has its own subdirectory. The output directory path can be changed
95 with the output_dir option.
96
97 git_clones
98 This is the directory where git clones used to create the tarballs
99 are stored. Normally you wouldn’t have to do anything inside this
100 directory. The path of this directory can be changed with the
101 git_clone_dir option.
102
103 hg_clones
104 This is the same as git_clones, but for projects that use mercurial
105 rather than git. The path of this directory can be changed with the
106 hg_clone_dir option.
107
108 keyring
109 This is the directory where you can store gpg keyring files. Those
110 keyrings contains the keys that are used to check signed commits
111 and tags.
112
113 projects
114 This is the directory containing projects definitions. The path of
115 this directory can be changed with the projects_dir option.
116
117 projects/project_1/config
118 This is the configuration file for the project_1 project. To create
119 a new project, you need to create a new directory with a config
120 file inside.
121
122 projects/project_1/project_1.spec
123 This is an rpm package template file for project_1. The rpm package
124 template could also be defined inside the config file, in which
125 case this file does not exist.
126
127 projects/project_1/bugfix.patch
128 This is an example patch file, used in the rpm package.
129
130 projects/project_1/build
131 This is a build script for project_1, containing instructions for
132 building the project and generating a tar.gz file containing the
133 build output.
134
135 modules/container/rbm.local.conf
136 In this example we use an external rbm module named container
137 (usually included as a git-submodule). The rbm.local.conf file
138 located at the root of the module contains the options related to
139 the projects included in the module.
140
141 modules/container/projects
142 The projects included in the projects directory of a module work in
143 the same way as those in the main projects directory.
144
146 rbm(1), rbm_config(7), rbm_modules(7)
147
148
149
150 07/25/2022 RBM_LAYOUT(7)