1RBM_LAYOUT(7)                                                    RBM_LAYOUT(7)
2
3
4

NAME

6       rbm_layout - The layout of a rbm workspace
7

DESCRIPTION

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

SEE ALSO

146       rbm(1), rbm_config(7), rbm_modules(7)
147
148
149
150                                  01/20/2023                     RBM_LAYOUT(7)
Impressum