source: ProjectBuilder/devel/pb-modules/etc/pb.yml.pod@ 2349

Last change on this file since 2349 was 2349, checked in by Bruno Cornec, 5 years ago

Fix #174 by adding the conf param pbgitremote with its doc

File size: 65.4 KB
Line 
1=pod
2
3=head1 NAME
4
5Documentation for pb configuration files
6
7=head1 DESCRIPTION
8
9pb helps you build various packages directly from your project sources.
10In order to work correctly, it relies on a certain number of configuration files. Most of these configuration parameters can be setup in all the configuration files, however, they generally make more sense in a specific one, which is indicated. There are mainly 4 configuration files, the one in the home directory of the user (used first), the one from the project (use in second), the one in the VM/VE hosting directory, and the one provided by the tool in /etc/pb or /usr/local/etc/pb (lastly).
11
12=head1 SYNOPSIS
13
14Those files have the same format, which is YAML starting after v0.14 of pb.
15
16keyword:
17 key: value1[,value2,...]
18
19(Before it was using: keyword key = value1[,value2,...])
20
21The key could be also default, in which case it will be used as a default value if no more precise content is given for the key.
22
23Each value is detailed below giving the nature of its use (Mandatory or Optional - only used for certain feature), the value of the key (could be the project, an OS name, default, ...), the value of the parameter field and its format, the default configuration file in which it should be defined (home $HOME/.pbrc.yml, conf /etc/pb/pb.yml or /usr/local/etc/pb/pb.yml, VE vepath/.pbrc.yml, VM vmpath/.pbrc.yml, or project project.yml) and an example of use.
24
25=head1 OPTIONS
26
27=over 4
28
29=item B<addrepo>
30
31 Nature: Optional
32 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
33 Value: comma separated list of URLs that point to repository files, or packages to install. The values may not include substitutions.
34 Conffile: project
35 Example: addrepo centos-5-x86_64 = file:///prj/extras.repo,http://mirror.centos.org/centos/5.8/extras/x86_64/RPMS/chrpath-0.13-3.el5.centos.x86_64.rpm
36
37=item B<cachedir>
38
39 Nature: Optional
40 Key: pb project: rpmbootstrap|pbmkbm|pb
41 Value: Directory to cache temporary content for the relevant pb project.
42 Conffile: pb
43 Example: cachedir rpbootstrap = /var/cache/rpmbootstrap
44
45=item B<checkexclude>
46
47 Nature: Optional
48 Key: package (as provided in defpkgdir or extpkgdir)
49 Value: comma separated list of OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch) that are excluded from the checkssh command (no build made for them). The OS name is generaly used here.
50 Conffile: project
51 Example: checkexclude pkg1 = centos,lsb,solaris
52
53=item B<cpandir>
54
55 Nature: Optional
56 Key: project (as defined in the -p option or PBPROJ environment variable)
57 Value: CPAN Pause directory to upload new modules
58 Conffile: pb
59 Example: cpandir default = incoming
60
61=item B<cpanpasswd>
62
63 Nature: Optional
64 Key: project (as defined in the -p option or PBPROJ environment variable)
65 Value: CPAN Pause user's password
66 Conffile: home
67 Example: cpanpasswd default = mycomplicatedpwd
68
69=item B<cpanpause>
70
71 Nature: Optional
72 Key: project (as defined in the -p option or PBPROJ environment variable)
73 Value: CPAN Pause site to upload new modules
74 Conffile: pb
75 Example: cpanpause default = pause.perl.org
76
77=item B<cpansubdir>
78
79 Nature: Optional
80 Key: project (as defined in the -p option or PBPROJ environment variable)
81 Value: CPAN Pause subdirectory in the user's area to upload into
82 Conffile: pb
83 Example: cpansubdir default = mydir
84
85=item B<cpanurl>
86
87 Nature: Optional
88 Key: project (as defined in the -p option or PBPROJ environment variable)
89 Value: CPAN Pause URL to activate the upload mecanism
90 Conffile: pb
91 Example: cpanurl default = http://pause.perl.org/pause/authenquery
92
93=item B<cpanuser>
94
95 Nature: Optional
96 Key: project (as defined in the -p option or PBPROJ environment variable)
97 Value: CPAN Pause user
98 Conffile: home
99 Example: cpanuser default = XXX
100
101=item B<defpkgdir>
102
103 Nature: Mandatory
104 Key: project (as defined in the -p option or PBPROJ environment variable)
105 Value: comma separated list of packages built by default in this project. When not using any package name as a parameter to pb commands, this list will be used.
106 Conffile: project
107 Example: defpkgdir mondorescue = mondo,mindi NB: a default value is not really meaningful.
108
109=item B<delivery>
110
111 Nature: Optional
112 Key: project (as defined in the -p option or PBPROJ environment variable)
113 Value: directory where to deliver packages once built for ftp/web access.
114 Conffile: project
115 Example: delivery mondorescue = prod
116
117=item B<dockeropt>
118
119 Nature: Optional
120 Key: project (as defined in the -p option or PBPROJ environment variable)
121 Value: List of the options to call docker with
122 Conffile: project
123 Example: dockeropt default = --bip=172.16.42.1/16
124
125=item B<dockerregistry>
126
127 Nature: Optional
128 Key: project (as defined in the -p option or PBPROJ environment variable)
129 Value: name of the docker registry to interact with if any
130 Conffile: project
131 Example: dockerregistry mondorescue = localhost:5900/mondorescue
132
133=item B<dockerrepository>
134
135 Nature: Optional
136 Key: project (as defined in the -p option or PBPROJ environment variable)
137 Value: name of the docker repository to interact with if any. It is mandatory if no dockerregistry is defined.
138 Conffile: project
139 Example: dockerrepository mondorescue = localhost:5000/mondorescue
140
141=item B<extpkgdir>
142
143 Nature: Optional
144 Key: project (as defined in the -p option or PBPROJ environment variable)
145 Value: comma separated list of packages built in addition in this project. When using the all package name as a parameter to pb commands, this list will be used, in addition to the defpkgdir list.
146 Conffile: project
147 Example: extpkgdir mondorescue = mondo-doc,mindi-mindibusybox
148
149=item B<filteredfiles>
150
151 Nature: Optional
152 Key: package (as provided in defpkgdir or extpkgdir)
153 Value: comma separated list of files that will be filtered using the macro system from pb, during the creation of the compressed source tar files for this package. Their path is relative to the directory containing the package.
154 Conffile: project
155 Example: filteredfiles mindi = rootfs/sbin/init,mindi,install.sh,doc/mindi.8
156
157=item B<ftp_proxy>
158
159 Nature: Optional
160 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
161 Value: string indicating the proxy to use
162 Conffile: pb
163 Example: ftp_proxy default = http://example.com:3128/
164
165=item B<http_proxy>
166
167 Nature: Optional
168 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
169 Value: string indicating the proxy to use
170 Conffile: pb
171 Example: http_proxy default = http://example.com:3128/
172
173=item B<https_proxy>
174
175 Nature: Optional
176 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
177 Value: string indicating the proxy to use
178 Conffile: pb
179 Example: https_proxy default = http://example.com:3128/
180
181=item B<logcmd>
182
183 Nature: Mandatory
184 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
185 Value: internal (the application then handles the logging of what it finds useful) or the name of an application to launch to log context (e.g. sos, cfg2html, ...).
186 Conffile: pb
187 Example: logcmd mageia = sos
188
189=item B<logcmds>
190
191 Nature: Optional
192 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
193 Value: In case the B<logcmd> command is internal, a comma separated list of the commands whose trace execution is to be captured in order to log context.
194 Conffile: pb
195 Example: logcmds mageia = mount,lsmod,esxcfg-module -l,df -T
196
197=item B<logfiles>
198
199 Nature: Optional
200 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
201 Value: In case the B<logcmd> command is internal, a comma separated list of the files to capture in order to log context.
202 Conffile: pb
203 Example: logfiles mageia = /etc/raidtab,/proc/cmdline,/proc/swaps
204
205=item B<logopt>
206
207 Nature: Optional
208 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
209 Value: In case the B<logcmd> command is not internal, the options of the B<logcmd> application to launch to log context
210 Conffile: pb
211 Example: logopt mageia = --all
212
213=item B<mkbmbootcmds>
214
215 Nature: Mandatory
216 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
217 Value: comma separated list of commands to be copied from the original OS to the target boot media tree (works recursively for directory creation on the target). Their actual path is deduced from the PATH variable.
218 Conffile: pb
219 Example: mkbmbootcmds linux = perl,awk,gawk,dd,grep,uname
220
221=item B<mkbmbootdirs>
222
223 Nature: Mandatory
224 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
225 Value: comma separated list of directories to be copied from the original OS to the target boot media tree (works recursively on the target).
226 Conffile: pb
227 Example: mkbmbootdirs linux = /etc/ssh,/etc/udev,/etc/mdadm
228
229=item B<mkbmbootfiles>
230
231 Nature: Mandatory
232 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
233 Value: comma separated list of files to be copied from the original OS to the target boot media tree (works recursively for directory creation on the target).
234 Conffile: pb
235 Example: mkbmbootfiles linux = /etc/mdadm.conf,/etc/raidtab,/etc/modprobe.conf
236
237=item B<mkbmkerneldir>
238
239 Nature: Mandatory
240 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
241 Value: path of the directory containing your kernel.
242 Conffile: pb
243 Example: mkbmkerneldir linux = /boot
244
245=item B<mkbmkernelfile>
246
247 Nature: Optional
248 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
249 Value: full path of the your kernel.
250 Conffile: pb
251 Example: mkbmkernelfile linux = /boot/vmlinuz-specific
252
253=item B<mkbmkernelnamere>
254
255 Nature: Mandatory
256 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
257 Value: Perl Regular Expression allowing to find OS kernel names in the B<kerneldir> directory.
258 Conffile: pb
259 Example: mkbmkerneldir linux = ^linu|^vmlinu|^xen
260
261=item B<mkbmtargetdirs>
262
263 Nature: Mandatory
264 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
265 Value: comma separated list of empty directory paths to be created on the target boot media.
266 Conffile: pb
267 Example: mkbmtargetdirs linux = /tmp,/dev
268
269=item B<namingtype>
270
271 Nature: Optional
272 Key: package (as provided in defpkgdir or extpkgdir)
273 Value: perl, if packages are CPAN perl modules that need to be named respecting the distribution perl convention (perl-Name for rpm, libname-perl for deb)
274 Conffile: project
275 Example: namingtype ProjectBuilder = perl
276
277=item B<osambiguous>
278
279 Nature: Optional
280 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). In that case, should be an OS name.
281 Value: comma separated list of distributions which use the same file name in /etc for different distributions (ex: /etc/redhat-release for redhat, rhel, mandriva,...). Cf: B<osrelambfile>
282 Conffile: pb
283 Example: osambiguous debian = debian,ubuntu
284
285=item B<oschkcmd>
286
287 Nature: Optional
288 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
289 Value: package checker tool.
290 Conffile: pb
291 Example: oschkcmd deb = /usr/bin/lintian
292
293=item B<oschkopt>
294
295 Nature: Optional
296 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
297 Value: package checker tool options.
298 Conffile: pb
299 Example: oschkcmd rpm = -i
300
301=item B<oscmd>
302
303 Nature: Mandatory
304 Key: tool (pb or rpmbootstrap)
305 Value: coma separated list of commands that are mandatory on the underlying system
306 Conffile: pb
307 Example: oscmd pb = tar,ls
308
309=item B<oscmdopt>
310
311 Nature: Mandatory
312 Key: tool (pb or rpmbootstrap)
313 Value: come separated list of commands that are optional on the underlying system
314 Conffile: pb
315 Example: oscmd pb = svn2cl,svn,cvs
316
317=item B<oscodename>
318
319 Nature: Optional
320 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). In that case, should be an os-ver.
321 Value: code name. Mostly useful for debian and ubuntu, due to debootstrap.
322 Conffile: pb
323 Example: oscodename debian-5.0 = lenny
324
325=item B<osfamily>
326
327 Nature: Mandatory
328 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). In that case, should be an os.
329 Value: OS family name (used to group similar distribution for handling)
330 Conffile: pb
331 Example: osfamily debian = du
332
333=item B<osins>
334
335 Nature: Optional
336 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
337 Value: OS command to lauch in order to automatically install packages on it.
338 Conffile: pb
339 Example: osins fedora = sudo yum -y install
340
341=item B<oslocalins>
342
343 Nature: Optional
344 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
345 Value: OS command to lauch in order to automatically install local packages on it.
346 Conffile: pb
347 Example: oslocalins debian = sudo dpkg -i
348
349=item B<osmindep>
350
351 Nature: Optional
352 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). NB: a default value is highly interesting here.
353 Value: comma separated list of packages needed before setupvm|ve can be run. Install them with your distribution in VM or automatically in VE when possible.
354 Conffile: pb
355 Example: osmindep default = perl,sudo,wget,tar,make,gzip
356
357=item B<osnover>
358
359 Nature: Optional
360 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
361 Value: true|false. True means that this OS has no need to keep the version
362 Conffile: pb
363 Example: osnover gentoo = true
364
365=item B<ospatchcmd>
366
367 Nature: Optional
368 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
369 Value: package patch command. For RPM is implicit.
370 Conffile: pb
371 Example: ospatchcmd deb = /usr/bin/patch
372
373=item B<ospatchopt>
374
375 Nature: Optional
376 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
377 Value: package patch options.
378 Conffile: pb
379 Example: ospatchcmd deb = -s -p1
380
381=item B<ospathcmd-*>
382
383 Nature: Optional
384 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
385 Value: Full path name of the command mentioned after the '-' for the relative OS
386 Conffile: pb
387 Example: ospathcmd-halt solaris = /usr/sbin/halt, ospathcmd-halt default = /sbin/halt
388
389=item B<osperldep>
390
391 Nature: Optional
392 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
393 Value: comma separated list of perl modules needed by pb and not provided in a package format for the relative OS, and that will be installed from CPAN in your VM/VE.
394 Conffile: pb
395 Example: osperldep rhel-5 = Module-Build,File-MimeInfo,File-BaseDir,Mail-Sendmail
396
397=item B<osperlver>
398
399 Nature: Mandatory (for each module mentioned in B<osperldep>)
400 Key: Perl Module (as defined in B<osperldep>)
401 Value: Version of the perl module that needs to be found on CPAN.
402 Conffile: pb
403 Example: osperlver Date-Manip = 5.54
404
405=item B<ospkg>
406
407 Nature: Optional (Mandatory if pbinstalltype is pkg)
408 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
409 Value: comma separated list of packages that have to be installed in order for pb to be operational in the VE|VM
410 Conffile: pb
411 Example: ospkg rhel-5 = project-builder
412
413=item B<ospkgdep>
414
415 Nature: Optional
416 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
417 Value: comma separated list of packages that are needed by pb and should be installed automatically in the VM/VE during the setupvm|ve phasis by pb.
418 Conffile: pb
419 Example: ospkgdep rhel-5 = wget,make,ntp,patch,perl-DateManip
420
421=item B<osrelambfile>
422
423 Nature: Mandatory (per OS mentioned in B<osambiguous>)
424 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). Should be the OS name here.
425 Value: full path name of the ambiguous file describing that distribution, as well as some others. All the distributions mentioned here should also be mentioned with their ambiguous other distribution in the B<osambiguous> parameter.
426 Conffile: pb
427 Example: osrelambfile debian = /etc/debian_version
428
429=item B<osrelexpr>
430
431 Nature: Mandatory (per OS mentioned in B<osrelambfile> and B<osrelfile>)
432 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
433 Value: the perl regular expression used to parse the B<osrelambfile> in order to extract from it the version of the distribution (in parenthesis to allow its usage as $1 by perl)
434 Conffile: pb
435 Example: osrelexpr rhel = Red Hat (?:Enterprise Linux|Linux Advanced Server) .*release ([0-9.]+).* \(
436
437=item B<osrelfile>
438
439 Nature: Mandatory
440 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). Should be the OS name here.
441 Value: full path name of the file describing non-ambiguously that distribution. There should be a bijection between the file and the distribution name.
442 Conffile: pb
443 Example: osrelfile fedora = /etc/fedora-release
444
445=item B<osremovedotinver>
446
447 Nature: Optional
448 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
449 Value: true|false. If true, then no '.' (dot) character is kept in the version name of that OS.
450 Conffile: pb
451 Example: osremovedotinver redhat = true
452
453=item B<osrepo>
454
455 Nature: Optional (Mandatory if pbinstalltype is pkg)
456 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
457 Value: comma separated list of packages, yum repo or apt sources.list files to be added to the VE|VM to support package installation of pb
458 Conffile: pb
459 Example: osrepo rpm = ftp://ftp.project-builder.org/$ddir/$dver/pb.repo
460
461=item B<ossha>
462
463 Nature: Optional (Mandatory if rpm type of package)
464 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
465 Value: sha algorithm used br createrepo
466 Conffile: pb
467 Example: ossha fedora-10 = sha1
468
469=item B<ossudoersmode>
470
471 Nature: Mandatory
472 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
473 Value: suffix that will be used in the name of the packages created. By default, concatenation of OS name and version.
474 Conffile: pb
475 Example: ossudoersmode novell = 640
476
477=item B<ossuffix>
478
479 Nature: Optional
480 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
481 Value: suffix that will be used in the name of the packages created. By default, concatenation of OS name and version.
482 Conffile: pb
483 Example: ossuffix mandriva = mdv
484
485=item B<ostype>
486
487 Nature: Mandatory
488 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
489 Value: build type grouping packages family. This is used internaly by pb to make various handling depending on that build type.
490 Conffile: pb
491 Example: ostype rh = rpm, ostype md = rpm, ostype novell = rpm
492
493=item B<osupd>
494
495 Nature: Optional
496 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
497 Value: OS command to lauch in order to automatically update th VM|VE
498 Conffile: pb
499 Example: osupd fedora = sudo yum -y update
500
501=item B<ossueminorrel>
502
503 Nature: Mandatory
504 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
505 Value: Should that OS distinguish between its minor version, considering them as different versions or not. Typically for CentOS where .x versions make incompatible changes.
506 Conffile: pb
507 Example: ossueminorrel centos = true
508
509=item B<pbadditionalgpg>
510
511 Nature: Optional
512 Key: project (as defined in the -p option or PBPROJ environment variable)
513 Value: GPG Key (hexadecimal) list of values separated by ',' that needs to be exported for this project. Useful when changing GPG keys and keeping old packages signed with the former key, use that field to give the value of that former key
514 Conffile: project
515 Example: pbadditionalgpg pb = 0x141B9FF237DB9883
516
517=item B<pbconfurl>
518
519 Nature: Mandatory
520 Key: project (as defined in the -p option or PBPROJ environment variable)
521 Value: B<pb URL> giving access to where the pb configuration dir is stored. Under that directory you have the same tree infrastructure as the upstream project, and under the pb packaging infra, including the project configuration file. Cf: man
522 Conffile: home|project
523 Example: pbconfurl fossology = svn+ssh://user@svn.project-builder.org/mondo/svn/pb/projects/fossology/pbconf, cvs+ssh://:ext:user@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe/pbconf
524
525=item B<pbdefdir>
526
527 Nature: Optional
528 Key: project (as defined in the -p option or PBPROJ environment variable)
529 Value: local directory under which every pb related operation will take place. if not defined then /var/cache. A default value is highly interesting here. If you want to use VMs/VEs, then use $ENV{'HOME'} to make it portable to it.
530 Conffile: home
531 Example: pbdefdir default = $ENV{'HOME'}/local/pb/projects
532
533=item B<pbgitremote>
534
535 Nature: Optional
536 Key: project (as defined in the -p option or PBPROJ environment variable)
537 Value: Remote name of the git repository used. The default is origin
538 Conffile: home
539 Example: pbgitremote python-redfish = upstream
540
541=item B<pbgpgcheck>
542
543 Nature: Optional
544 Key: project (as defined in the -p option or PBPROJ environment variable)
545 Value: Whether the repository file should be generated specifying that gpg checking of the packages is on. Note that failures to sign packages is tolerated by default, which means that signatures can fail making the repository file generated not work. The default is to require gpg checks (value is 1)
546 Conffile: project
547 Example: pbgpgcheck Lintel = 0
548
549=item B<pbinstalltype>
550
551 Nature: Mandatory
552 Key: project (as defined in the -p option or PBPROJ environment variable)
553 Value: file or pkg. Indicates how pb will be installed during the setupve|vm phase in the virtual environment|machine, using CPAN files or upstream packages. Only the dev team needs to use file as packages do not yet exist for it. Or when no repository exists to pull project-builder.org from.
554 Conffile: pb
555 Example: pbinstalltype default = pkg
556
557=item B<pbml>
558
559 Nature: Optional (Mandatory if using announce command)
560 Key: project (as defined in the -p option or PBPROJ environment variable)
561 Value: white space separated list of e-mail adresses used to send announces with the pb announce option.
562 Conffile: project
563 Example: pbml pb = pb-announce@project-builder.org pb-devel@project-builder.org
564
565=item B<pbpackager>
566
567 Nature: Mandatory
568 Key: project (as defined in the -p option or PBPROJ environment variable)
569 Value: Firstname Name and e-mail address of the person packaging the software.
570 Conffile: project
571 Example: pbpackager pb = Bruno Cornec <bruno@project-builder.org>
572
573=item B<pbparallel>
574
575 Nature: Optional
576 Key: tool (pb or rpmbootstrap)
577 Value: number of processes to execute in parallel. By default use the number of cores.
578 Conffile: pb
579 Example: pbparallel pb = 12
580
581=item B<pbpassfile>
582
583 Nature: Optional
584 Key: project (as defined in the -p option or PBPROJ environment variable)
585 Value: File containing the GPG passphrase that is used to sign packages
586 Conffile: home
587 Example: pbpassfile pb = /users/me/secret/passfile
588
589=item B<pbpasspath>
590
591 Nature: Optional
592 Key: project (as defined in the -p option or PBPROJ environment variable)
593 Value: The directory under which will be found your secret GPG key file.
594 Conffile: home
595 Example: pbpasspath pb = /home/me/.gnupg
596
597=item B<pbpassphrase>
598
599 Nature: Optional
600 Key: project (as defined in the -p option or PBPROJ environment variable)
601 Value: The GPG passphrase that is used to sign packages. Putting it in your conf file has security implications.
602 Conffile: home
603 Example: pbpassphrase pb = TheSecretPassPhrase
604
605=item B<pbpbr>
606
607 Nature: Optional
608 Key: project (as defined in the -p option or PBPROJ environment variable)
609 Value: whatever. As soon as this is defined, then that project is known as using pbr for source epansion.
610 Conffile: project
611 Example: pbpbr python-redfish = 1
612
613=item B<pbprojdir>
614
615 Nature: Optional
616 Key: project (as defined in the -p option or PBPROJ environment variable)
617 Value: local directory under which the project is locally exported. NB: a default value is highly interesting here. By default pbdefdir/projectname
618 Conffile: home
619 Example: pbprojdir mondorescue = $ENV{'HOME'}/local/mondorescue
620
621=item B<pbrepo>
622
623 Nature: Mandatory
624 Key: project (as defined in the -p option or PBPROJ environment variable)
625 Value: URL of the server hosting the upstream tar file.
626 Conffile: project
627 Example: pbrepo mondorescue = ftp://ftp.mondorescue.org
628
629=item B<pbshowsudo>
630
631 Nature: Optional
632 Key: project (as defined in the -p option or PBPROJ environment variable)
633 Value: false (by default), meaning that sudo commands executed with pb_system won't be shown in details, but that the associated comment will be used. For security cncerns, you may want to turn it to true in order to see what pb does with sudo to be safe. Turned on by debug flag.
634 Conffile: home
635 Example: pbshowsudo mondorescue = true
636
637=item B<pbsmtp>
638
639 Nature: Optional (Mandatory if using the announce command)
640 Key: project (as defined in the -p option or PBPROJ environment variable)
641 Value: FQDN of the mail server to use to send announces. NB: a default value is highly interesting here.
642 Conffile: home
643 Example: pbsmtp mondorescue = localhost
644
645=item B<pbsockscmd>
646
647 Nature: Optional
648 Key: project (as defined in the -p option or PBPROJ environment variable)
649 Value: name of the command to use to socksify network calls. NB: a default value is highly interesting here.
650 Conffile: home
651 Example: pbsockscmd default = tsocks
652
653=item B<pbstoponerr>
654
655 Nature: Optional
656 Key: project (as defined in the -p option or PBPROJ environment variable)
657 Value: false (by default), meaning that commands giving errors will not stop execution of the pb job. For quicker error solving, you may want to turn it to true in order to stop at the first error. Be aware that project-builder.org is not robust enough to work fully correctly with this on. Especially some commands may in a justified way error out, and you still want the process to go on.
658 Conffile: home
659 Example: pbstoponerr mondorescue = true
660
661
662=item B<pbprojurl>
663
664 Nature: Optional
665 Key: project (as defined in the -p option or PBPROJ environment variable)
666 Value: B<pbprojurl> giving access to where the project is stored. Normaly provided by the project, but could be overloaded for specific authentication information in the home configuration file or when using a DVCS
667 Conffile: home|project
668 Example: pbprojurl linuxcoe = cvs+ssh://:ext:user@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe, pbprojurl pb = svk:////local/pb
669
670=item B<pbusesshagent>
671
672 Nature: Mandatory
673 Key: project (as defined in the -p option or PBPROJ environment variable)
674 Value: false means that you want pb to create a dedicated SSH key pair to dialog with VM|RM and false that you prefer to use an existing SSH Agent instead and existing keys
675 Conffile: pb
676 Example: pbusesshagent default = false
677
678=item B<pbwf>
679
680 Nature: Optional
681 Key: project (as defined in the -p option or PBPROJ environment variable)
682 Value: whatever. As soon as this is defined, then that project is known as not well formed (have a subdirectory in its tar file under which all sources are put named project-version). This should be reported upstream to the project. tar files generated by project-builder.org to not suffer from that. This is valid when packaging for tar files and not CMS.
683 Conffile: project
684 Example: pbwf afio = 1
685
686=item B<pkgtag>
687
688 Nature: Optional
689 Key: package (as provided in defpkgdir or extpkgdir)
690 Value: Tag that needs to be used in package name (on rpm: name-ver-tag.arch.rpm). Useful when different from the project version B<projtag> and when republishing a package due to package build modification (not code).
691 Conffile: project
692 Example: pkgtag mindi-busybox = 2
693
694=item B<pkgver>
695
696 Nature: Optional
697 Key: package (as provided in defpkgdir or extpkgdir)
698 Value: Version that needs to be used in package name (on rpm: name-ver-tag.arch.rpm). Useful when different from the project version B<projver>.
699 Conffile: project
700 Example: pkgver mindi-busybox = 1.7.3
701
702=item B<projcomponent>
703
704 Nature: Optional
705 Key: project (as defined in the -p option or PBPROJ environment variable)
706 Value: The component in the distribution repository, e.g. main for debian/ubuntu free software, (or non-free, contrib) or contrib for mandriva non core component e.g.
707 Conffile: project
708 Example: projcomponent Lintel = main
709
710=item B<projtag>
711
712 Nature: Mandatory
713 Key: project (as defined in the -p option or PBPROJ environment variable)
714 Value: tag that will be used for all packages names (on rpm: name-ver-tag.arch.rpm) in the project. Each package can overwrite it using B<pkgtag>.
715 Conffile: project
716 Example: projtag mondorescue = 1
717
718=item B<projver>
719
720 Nature: Mandatory
721 Key: project (as defined in the -p option or PBPROJ environment variable)
722 Value: version that will be used for all packages names (on rpm: name-ver-tag.arch.rpm) in the project. Each package can overwrite it using B<pkgver>.
723 Conffile: project
724 Example: projver mondorescue = 2.2.9
725
726=item B<rbsconf>
727
728 Nature: Optional
729 Key: project (as defined in the -p option or PBPROJ environment variable)
730 Value: for mock it's the configuration directory. For rinse it's its configuration file. For rpmbootstrap it's not used yet.
731 Conffile: ve
732 Example: rbsconf default = /etc/mock, rbsconf default = /etc/pb/pb-rinse.conf
733
734=item B<rbsb4pi>
735
736 Nature: Optional
737 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
738 Value: for mock it's not used. For rinse it's the script to call before doing installation (in order change the mirror location). For rpmbootstrap it's not used yet.
739 Conffile: ve
740 Example: rbsb4pi centos = /home/rinse/bin/before-post-install.sh
741
742=item B<rbsmirrorsrv>
743
744 Nature: Optional
745 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
746 Value: URL for the mirror server for setting up a virtual environment
747 Conffile: ve
748 Example: rbsmirrorsrv debian = http://mirrors1.kernel.org/
749
750=item B<rbsmirrorupd>
751
752 Nature: Optional
753 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
754 Value: Relative path wrt B<rbsmirrorsrv> where updates are located
755 Conffile: ve
756 Example: rbsmirrorupd mageia = ../updates
757
758=item B<rbsopt>
759
760 Nature: Optional
761 Key: tool used for rpm based VE. Could be one of rpmbootstrap, rinse, mock, ...
762 Value: Additional option to pass to the command
763 Conffile: ve
764 Example: rbsopt rpmbootstrap = -k
765
766=item B<rbspi>
767
768 Nature: Optional
769 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
770 Value: for mock it's not used. For rinse it's the script to call after doing installation for customization. For rpmbootstrap it's the script to call after doing installation for customization.
771 Conffile: ve
772 Example: rbspi centos = /home/rinse/bin/post-install.sh
773
774=item B<rmhost>
775
776 Nature: Mandatory
777 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
778 Value: IP address or name of the Remote Machine running the OS mentioned in the key, accessed through ssh.
779 Conffile: rm
780 Example: rmhost default = localhost - rmhost hpux-11.3-ia64 = 10.10.10.10 - rmhost mandriva-2010.2-x86_64 = machine1.domain.name
781
782=item B<rmlist>
783
784 Nature: Mandatory
785 Key: project (as defined in the -p option or PBPROJ environment variable)
786 Value: list of comma separated OS (under the form of os-ver-arch). The corresponding machines running these distributions are given in the rmpool parameter.
787 Conffile: rm
788 Example: rmlist default = mandriva-2010.2-i386,fedora-14-i386,rhel-6-i386,rhel-5-i386,pensuse-11.3-i386,sles-11-i386,gentoo-nover-i386,debian-5.0-i386,ubuntu-10.10-i386,solaris-10-i386,mandriva-2010.2-x86_64,fedora-14-x86_64,rhel-6-x86_64,rhel-5-x86_64,opensuse-11.3-x86_64,sles-11-x86_64,gentoo-nover-x86_64,debian-5.0-x86_64,ubuntu-10.10-x86_64,solaris-10-x86_64,hp-ux-11.3-ia64,rhel-5-ia64
789
790=item B<rmlogin>
791
792 Nature: Mandatory
793 Key: project (as defined in the -p option or PBPROJ environment variable)
794 Value: account name to use on the Remote Machine to build packages. Communication is done with ssh.
795 Conffile: rm
796 Example: rmlogin default = pb
797
798=item B<rmmonport>
799
800 Nature: Optional
801 Key: project (as defined in the -p option or PBPROJ environment variable)
802 Value: TCP port that is used to dialog with the monitor of the Remote Machine, to pass orders.
803 Conffile: rm
804 Example: rmmonport default = 4444
805
806=item B<rmntp>
807
808 Nature: Optional
809 Key: project (as defined in the -p option or PBPROJ environment variable)
810 Value: NTP server to contact for time accuracy with B<ospathcmd-ntpdate> before building.
811 Conffile: rm
812 Example: rmntp default = 1.pool.ntp.org
813
814=item B<rmpath>
815
816 Nature: Mandatory
817 Key: project (as defined in the -p option or PBPROJ environment variable)
818 Value: path where to find configuration file for Remote Machines management.
819 Conffile: rm
820 Example: rmpath default = /home/remote
821
822=item B<rmport>
823
824 Nature: Mandatory
825 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
826 Value: port number to use to communicate with the RM using the SSH protocol. This localport is redirected to the port 22 of the RM.
827 Conffile: rm
828 Example: rmport pb = 2222,rmport mondorescue = 2223
829
830=item B<rmtmout>
831
832 Nature: Optional
833 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
834 Value: Time in seconds to wait before interacting with the RM. This may correspond to the time the RM takes to boot.
835 Conffile: rm
836 Example: rmtmout default = 10
837
838=item B<rmtype>
839
840 Nature: Mandatory
841 Key: project (as defined in the -p option or PBPROJ environment variable)
842 Value: ssh. For the moment, only ssh is supported as a communication means with RM.
843 Conffile: rm
844 Example: rmrtype default = ssh
845
846=item B<sshdir>
847
848 Nature: Mandatory
849 Key: project (as defined in the -p option or PBPROJ environment variable)
850 Value: dirname into which packages are uploaded on the B<sshhost> machine.
851 Conffile: project
852 Example: sshdir mondorescue = /pub/mondorescue
853
854=item B<sshhost>
855
856 Nature: Mandatory
857 Key: project (as defined in the -p option or PBPROJ environment variable)
858 Value: hostname to connect to in order to deliver packages to the repository server.
859 Conffile: project
860 Example: sshhost mondorescue = ftp.mondorescue.org
861
862=item B<sshlogin>
863
864 Nature: Optional
865 Key: project (as defined in the -p option or PBPROJ environment variable)
866 Value: login to use when connecting to the repository server B<sshhost> for package delivery. whoami result by default
867 Conffile: project
868 Example: sshlogin mondorescue = mylogin
869
870=item B<sshport>
871
872 Nature: Optional
873 Key: project (as defined in the -p option or PBPROJ environment variable)
874 Value: port to use when connecting to the repository server B<sshhost> for package delivery. 22 by default.
875 Conffile: project
876 Example: sshport mondorescue = 22
877
878=item B<supfiles>
879
880Not used yet.
881
882=item B<testver>
883
884 Nature: Optional
885 Key: project (as defined in the -p option or PBPROJ environment variable)
886 Value: true (meaning this is a test version, whose tag will be generated automatically, based on 0+date in order to allow regular updates, and still be inferior to tag 1 of the official version, and delivered under the test subdirectory of the ftp server). By default false.
887 Conffile: project
888 Example: testver mondorescue = true
889
890=item B<vedebtype>
891
892 Nature: Mandatory
893 Key: project (as defined in the -p option or PBPROJ environment variable)
894 Value: debootstrap (no other tool to create deb distro based chroot)
895 Conffile: ve
896 Example: vedebtype default = debootstrap
897
898=item B<velist>
899
900 Nature: Mandatory
901 Key: project (as defined in the -p option or PBPROJ environment variable)
902 Value: list of comma separated OS (under the form of os-ver-arch).
903 Conffile: ve
904 Example: velist default = centos-4-i386,centos-5-i386,centos-4-x86_64,centos-5-x86_64,debian-5.0-i386,debian-5.0-x86_64,lsb-4.0.1-i386,lsb-4.0.1-x86_64
905
906=item B<velogin>
907
908 Nature: Mandatory
909 Key: project (as defined in the -p option or PBPROJ environment variable)
910 Value: account name to use in the VE to build packages.
911 Conffile: ve
912 Example: velogin default = pb
913
914=item B<ventp>
915
916 Nature: Optional
917 Key: project (as defined in the -p option or PBPROJ environment variable)
918 Value: NTP server to contact for time accuracy with B<ospathcmd-ntpdate> before building.
919 Conffile: ve
920 Example: ventp default = 1.pool.ntp.org
921
922=item B<vepath>
923
924 Nature: Mandatory
925 Key: project (as defined in the -p option or PBPROJ environment variable)
926 Value: path where to find VEs. Ve will be created and used under that path. For each VE os-ver-arch, it will create a subdirectory tree os/ver/arch below that point.
927 Conffile: ve
928 Example: vepath default = /home/rpmbootstrap
929
930=item B<verebuild>
931
932 Nature: Optional
933 Key: project (as defined in the -p option or PBPROJ environment variable)
934 Value: true|false. True means that the VE should be rebuild before usage.
935 Conffile: ve
936 Example: verebuild default = true
937
938=item B<verpmtype>
939
940 Nature: Mandatory
941 Key: project (as defined in the -p option or PBPROJ environment variable)
942 Value: rpmbootstrap|rinse|mock (different tools to create a chroot environment for RPM based distributions. rpmbootstrap comes with pb. the 2 others are separate projects).
943 Conffile: ve
944 Example: verpmtype default = rpmbootstrap
945
946=item B<vesnap>
947
948 Nature: Optional
949 Key: project (as defined in the -p option or PBPROJ environment variable)
950 Value: true|false. True means that the snapshot of the VE should be used before call to the VE. This snapshot consists of a compressed tar pf the VE. Which means that you will always start from a known state, resulting of a former snapshot operation on the VE. Also speeds up a lot the VM launch operation.
951 Conffile: ve
952 Example: vesnap default = true
953
954=item B<vetype>
955
956 Nature: Mandatory
957 Key: project (as defined in the -p option or PBPROJ environment variable)
958 Value: chroot|schroot|docker. There are two different ways of launching a Virtual Environment activity in pb. For the moment only chroot and docker have been tested.
959 Conffile: ve
960 Example: vetype default = chroot
961
962=item B<vmbuildtm>
963
964 Nature: Optional
965 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). Default value is set to vmtmout
966 Value: Time in seconds to wait before killing the VM if SSH port already used. This should corresponds to the time to send files, build the project and get packages in the VM.
967 Conffile: project
968 Example: vmbuildtm default = 600,vmbuildtm mandriva-2009.0-x86_64 = 1200
969
970=item B<vmcmd>
971
972 Nature: Mandatory
973 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). NB: a default value is highly interesting here.
974 Value: Command to call to launch the VM emulator. It can contain some options. Another way to pass options to the VM manager command launcher is by using the PBVMOPT environment variable, which comes in addition to the option vmopt.
975 Conffile: vm
976 Example: vmcmd default = /usr/bin/kvm
977
978=item B<vmhost>
979
980 Nature: Mandatory
981 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
982 Value: hostname to connect to in order to reach the VM through ssh. Generally redirected from a port on localhost.
983 Conffile: vm
984 Example: vmhost default = localhost
985
986=item B<vmlist>
987
988 Nature: Mandatory
989 Key: project (as defined in the -p option or PBPROJ environment variable)
990 Value: list of comma separated OS (under the form of os-ver-arch).
991 Conffile: vm
992 Example: vmlist default = asianux-2-i386,asianux-3-i386,mandrake-10.1-i386,mandrake-10.2-i386,mandriva-2006.0-i386,mandriva-2007.0-i386,mandriva-2007.1-i386,mandriva-2008.0-i386,mandriva-2008.1-i386,mandriva-2009.0-i386,mandriva-2009.1-i386,mandriva-2010.0-i386,redhat-7.3-i386,redhat-9-i386,fedora-4-i386,fedora-5-i386,fedora-6-i386,fedora-7-i386,fedora-8-i386,fedora-9-i386,fedora-10-i386,fedora-11-i386,fedora-12-i386,rhel-2.1-i386,rhel-3-i386,rhel-4-i386,rhel-5-i386,suse-10.0-i386,suse-10.1-i386,suse-10.2-i386,opensuse-10.3-i386,opensuse-11.0-i386,opensuse-11.1-i386,opensuse-11.2-i386,sles-9-i386,sles-10-i386,sles-11-i386,gentoo-nover-i386,debian-3.1-i386,debian-4.0-i386,debian-5.0-i386,ubuntu-6.06-i386,ubuntu-7.04-i386,ubuntu-7.10-i386,ubuntu-8.04-i386,ubuntu-8.10-i386,ubuntu-9.04-i386,ubuntu-9.10-i386,solaris-10-i386,asianux-2-x86_64,asianux-3-x86_64,mandriva-2007.0-x86_64,mandriva-2007.1-x86_64,mandriva-2008.0-x86_64,mandriva-2008.1-x86_64,mandriva-2009.0-x86_64,mandriva-2009.1-x86_64,mandriva-2010.0-x86_64,fedora-6-x86_64,fedora-7-x86_64,fedora-8-x86_64,fedora-9-x86_64,fedora-10-x86_64,fedora-11-x86_64,fedora-12-x86_64,rhel-3-x86_64,rhel-4-x86_64,rhel-5-x86_64,suse-10.2-x86_64,opensuse-10.3-x86_64,opensuse-11.0-x86_64,opensuse-11.1-x86_64,opensuse-11.2-x86_64,sles-10-x86_64,sles-11-x86_64,gentoo-nover-x86_64,debian-4.0-x86_64,debian-5.0-x86_64,ubuntu-7.04-x86_64,ubuntu-7.10-x86_64,ubuntu-8.04-x86_64,ubuntu-8.10-x86_64,ubuntu-9.04-x86_64,ubuntu-9.10-x86_64,solaris-10-x86_64
993
994=item B<vmlogin>
995
996 Nature: Mandatory
997 Key: project (as defined in the -p option or PBPROJ environment variable)
998 Value: account name to use in the VM to build packages. Communication is done with ssh.
999 Conffile: vm
1000 Example: vmlogin default = pb
1001
1002=item B<vmmem>
1003
1004 Nature: Optional
1005 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
1006 Value: Memory size in MB to allocate to the VM.
1007 Conffile: vm
1008 Example: vmmem default = 512
1009
1010=item B<vmmonport>
1011
1012 Nature: Optional
1013 Key: project (as defined in the -p option or PBPROJ environment variable)
1014 Value: TCP port that is used to dialog with the monitor of the VM, to pass orders such as snapshot. Not really operational yet.
1015 Conffile: vm
1016 Example: vmmonport default = 4444
1017
1018=item B<vmntp>
1019
1020 Nature: Optional
1021 Key: project (as defined in the -p option or PBPROJ environment variable)
1022 Value: NTP server to contact for time accuracy with B<ospathcmd-ntpdate> before building.
1023 Conffile: vm
1024 Example: vmntp default = 1.pool.ntp.org
1025
1026=item B<vmopt>
1027
1028 Nature: Optional
1029 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). NB: a default value is highly interesting here.
1030 Value: list of options to pass to the VM manager command launcher for that distribution. Another way to pass options to the VM manager command launcher is by using the PBVMOPT environment variable, which comes in addition to his option.
1031 Conffile: vm
1032 Example: vmopt default = -m 384 -daemonize,vmopt mandriva-2009.0-i386 = -m 256 -daemonize -no-kvm
1033
1034=item B<vmpath>
1035
1036 Nature: Mandatory
1037 Key: project (as defined in the -p option or PBPROJ environment variable)
1038 Value: path where to find VMs. They will be created and used under that path. For each VM os-ver-arch, it will create a os-ver-arch.qemu file below that point.
1039 Conffile: vm
1040 Example: vmpath default = /home/qemu
1041
1042=item B<vmport>
1043
1044 Nature: Mandatory
1045 Key: project (as defined in the -p option or PBPROJ environment variable)
1046 Value: port number to use to communicate with the VM using the SSH protocol. This localport is redirected to the port 22 of the VM.
1047 Conffile: vm
1048 Example: vmport pb = 2222,vmport mondorescue = 2223
1049
1050=item B<vmsize>
1051
1052 Nature: Mandatory
1053 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
1054 Value: Size of the VM to create when using the newvm command of pb.
1055 Conffile: vm
1056 Example: vmsize default = 7G
1057
1058=item B<vmsnap>
1059
1060 Nature: Optional
1061 Key: project (as defined in the -p option or PBPROJ environment variable)
1062 Value: true|false. True means that the snapshot of the VM called pb should be used. Which means that you will always start from a known state, resulting of a former snapshot operation on the VM. Also speeds up a lot the VM launch operation.
1063 Conffile: vm
1064 Example: vmsnap default = true
1065
1066=item B<vmtmout>
1067
1068 Nature: Optional
1069 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). NB: a default value is highly interesting here.
1070 Value: Time in seconds to wait before interacting with the VM. This should correspond to the time the VM takes to boot.
1071 Conffile: vm
1072 Example: vmtmout default = 180,vmtmout mandriva-2009.0-x86_64 = 500
1073
1074=item B<vmtype>
1075
1076 Nature: Mandatory
1077 Key: project (as defined in the -p option or PBPROJ environment variable)
1078 Value: qemu|kvm. For the moment, only QEMU or KVM are supported as virtualization technologies.
1079 Conffile: vm
1080 Example: vmtype default = kvm
1081
1082=item B<webdir>
1083
1084 Nature: Optional
1085 Key: project (as defined in the -p option or PBPROJ environment variable)
1086 Value: Target directory containing the web content in the project that should be delivered when using the sbx|cms2webssh|pkg command of pb.
1087 Conffile: project
1088 Example: webdir mondorescue = website
1089
1090=item B<websshdir>
1091
1092 Nature: Optional (when not using *2webssh commands)
1093 Key: project (as defined in the -p option or PBPROJ environment variable)
1094 Value: dirname into which content is uploaded on the B<websshhost> machine.
1095 Conffile: project
1096 Example: websshdir mondorescue = /var/www/html
1097
1098=item B<websshhost>
1099
1100 Nature: Optional (when not using *2webssh commands)
1101 Key: project (as defined in the -p option or PBPROJ environment variable)
1102 Value: hostname to connect to in order to deliver content to the Web server.
1103 Conffile: project
1104 Example: websshhost mondorescue = www.mondorescue.org
1105
1106=item B<websshlogin>
1107
1108 Nature: Optional (when not using *2webssh commands)
1109 Key: project (as defined in the -p option or PBPROJ environment variable)
1110 Value: login to use when connecting to the Web server B<websshhost> for content delivery.
1111 Conffile: project
1112 Example: websshlogin mondorescue = mylogin
1113
1114=item B<websshport>
1115
1116 Nature: Optional (when not using *2webssh commands)
1117 Key: project (as defined in the -p option or PBPROJ environment variable)
1118 Value: port to use when connecting to the Web server B<websshhost> for content delivery.
1119 Conffile: project
1120 Example: websshport mondorescue = 22
1121
1122=back
1123
1124=head1 OTHER PARAMETERS
1125
1126=over 4
1127
1128=item B<pb URLs>
1129
1130 The pbprojurl and pbconfurl parameters support multiple schemas to point to the repositories to use.
1131 They are parsed by project-builder.org to communicate with them.
1132
1133 The protocols can be git, git+svn, svk, svn, cvs, hg.
1134 If you have write access to the repository, you'll generally use an ssh access which will be noted by a +ssh at the end of the protocol used. If you don't you may use a +http(s) e.g. to access the repository.
1135
1136 Examples:
1137
1138 pbprojurl:
1139 fossology: git+https://github.com/fossology/fossology.git
1140 linuxcoe: cvs+ssh://:ext:bcornec@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe
1141 pb: svn+ssh://svn.mondorescue.org/prj/svn/pb
1142
1143 => You access the upstream FOSSology project in read mode (by https) and the project uses git as a VCS, that will also be used by project-builder.org to build.
1144 => You access the upstream LinuxCOE project in write mode (by ssh) and the project uses CVS as a VCS, that will also be used by project-builder.org to build.
1145 => For Project-builder.org itself, you access the upstream LinuxCOE project in write mode (by ssh) and the project uses CVS as a VCS, that will also be used by project-builder.org to build.
1146 => You access the upstream project-builder.org project in write mode (by ssh) and the project uses subversion as a VCS, that will also be used by project-builder.org to build.
1147
1148 If you use instead:
1149 pb: git+svn+ssh://svn.mondorescue.org/prj/svn/pb
1150
1151 => You access the upstream project-builder.org project in write mode (by ssh) and the project uses subversion as a VCS, and you use git svn to manage locally the software with git, that will also be used by project-builder.org to build.
1152
1153
1154 In some cases, there is no repository and the files are hosted remotely, in which case you can use an http(s) or ftp protocol
1155
1156 Examples:
1157
1158 pbprojurl:
1159 afio: ftp://localhost/src/afio-2.5.tar.gz
1160
1161 => You access the project in read mode as a tar compressed file format using ftp to have access to it and that will also be used by project-builder.org to build.
1162
1163
1164=item B<pb Directories>
1165
1166 In order to use project-builder.org to build packages for a project, you need to declare certain directories in your configuration file, and two URLS, as defined in the previous paragraph, linked to them.
1167
1168 Tree will look like this:
1169
1170 maint pbdefdir PBDEFDIR dev dir (optional)
1171 | |
1172 ------------------------ --------------------
1173 | | | |
1174 pbproj1 pbproj2 PBPROJ pbproj1 pbproj2 PBPROJDIR
1175 | |
1176 --------------------------------------------- ----------
1177 * * * | | | * *
1178 tag dev pbconf ... pbbuild pbdelivery PBCONFDIR dev tag
1179 | | | PBDESTDIR |
1180 --- ------ pbrc.yml PBBUILDDIR -------
1181 | | | | |
1182 1.1 dev tag 1.0 1.1 PBDIR
1183 |
1184 -------
1185 | |
1186 1.0 1.1 PBROOTDIR
1187 |
1188 ----------------------------------
1189 | | | |
1190 pkg1 pbproj1.yml pbfilter pbcl
1191 |
1192 -----------------
1193 | | |
1194 rpm deb pbfilter
1195
1196
1197 (*) By default, if no relocation in .pbrc.yml, dev dir is taken in the maint pbdefdir (when appropriate)
1198 Names under a pbproj and the corresponding pbconf should be similar
1199
1200
1201 The first couple to declare is the pbconfurl and pbconfdir. They declare the location of the repository containing project-builder.org configuration files and the local directory in which they are checked out. They do not need to be hosted in the upstream repository and can be managed completely separately. If pbconfdir is not defined, by default it will be taken as the concatention of pbdefdir and the project name. If that's not the case in your setup, then specify the pbconfdir value
1202
1203 Examples:
1204
1205 pbconfurl:
1206 python-redfish: git+ssh://git@github.com:bcornec/python-redfish.git
1207 fossology: git+https://github.com/fossology/fossology.git
1208 uuwl: git+svn+ssh://svn.mondorescue.org/prj/svn/pb/projects/uuwl/pbconf
1209 pb: git+svn+ssh://svn.mondorescue.org/prj/svn/pb/pbconf
1210 afio: git+svn+ssh://svn.project-builder.org/prj/svn/pb/projects/afio/pbconf
1211 linuxcoe: cvs+ssh://:ext:bcornec@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe/pbconf
1212
1213 pbconfdir:
1214 python-redfish: $ENV{'HOME'}/Work/bruno/prj/python-redfish/pbconf
1215 fossology: $ENV{'HOME'}/Work/bruno/prj/fossology/git/pbconf
1216 uuwl: $ENV{'HOME'}/svn-git/pb/projects/uuwl/pbconf
1217
1218 pbdefdir:
1219 default: $ENV{'HOME'}/svn-git/pb/projects
1220 python-redfish: $ENV{'HOME'}/Work/bruno/prj
1221 fossology: $ENV{'HOME'}/Work/bruno/prj/fossology
1222 uuwl: $ENV{'HOME'}/svn-git
1223 pb: $ENV{'HOME'}/svn-git
1224
1225 => You access the project-builder.org configuration files for python-redfish in write mode (by ssh) and this project is using git as a VCS, that will also be used by project-builder.org to build packages. The first time, project-builder.org will clone the git repository from the pbconfurl URL into the pbconfdir directory, expanding the HOME directory on the fly. If the project is already cloned there it will just use it, with the current branch. The pbdefdir will be used for other parameters, but the pbconfdir value takes precedence (in this case both variable mean the same local location anyway). Here the upstream python-redfish project is hosting the pbconf info directly.
1226 => You access the project-builder.org configuration files for FOSSology in read-only mode (by https) and this project is using git as a VCS, that will also be used by project-builder.org to build packages. The first time, project-builder.org will clone the git repository from the pbconfurl URL into the pbconfdir directory, expanding the HOME directory on the fly. If the project is already cloned there it will just use it, with the current branch. The pbdefdir will be used for other parameters, but the pbconfdir value takes precedence (in this case both variable mean the same local location anyway). Here the upstream python-redfish project is hosting the pbconf info directly.
1227 => You access the project-builder.org configuration files for UUWL in write mode (by ssh) and this project is using SVN as a VCS to manage the repo and git svn will be used by project-builder.org to build packages. The first time, project-builder.org will clone the SVN repository from the pbconfurl URL into the pbconfdir directory, expanding the HOME directory on the fly. If the project is already cloned there it will just use it, with the current branch. The pbdefdir will be used for other parameters, but the pbconfdir value takes precedence (in this case variables point to different locations). Here the upstream UUWL project is not hosting the pbconf info directly, which is managed in the upstream SVN project-builder.org repository.
1228 => You access the project-builder.org configuration files for project-builder.org in write mode (by ssh) and this project is using SVN as a VCS to manage the repo and git svn will be used by project-builder.org to build packages. The first time, project-builder.org will clone the SVN repository from the pbconfurl URL into a directory whose name is the concatenation of the pb pbdefdir path and then the project name (PBPROJ value setup with the -p option see below, here pb), expanding the HOME directory on the fly, as there is no pbconfdir value setup for this project. If the project is already cloned there it will just use it, with the current branch. Here the upstream project-builder.org project is hosting the pbconf info directly.
1229 => You access the project-builder.org configuration files for afio in write mode (by ssh) and this project is using SVN as a VCS to manage the repo and git svn will be used by project-builder.org to build packages. The first time, project-builder.org will clone the SVN repository from the pbconfurl URL into a directory whose name is the concatenation of the default pbdefdir path and then the project name (PBPROJ value setup with the -p option see below, here afio), expanding the HOME directory on the fly, as there is no pbconfdir value setup for this project, and no value for this project for the pbdefdir parameter, only the default one. If the project is already cloned there it will just use it, with the current branch. Here the upstream afio project is not hosting the pbconf info directly, which is managed in the upstream SVN project-builder.org repository.
1230 => You access the project-builder.org configuration files for LinuxCOE in write mode (by ssh) and this project is using CVS as a VCS, that will be used by project-builder.org to build packages. The first time, project-builder.org will clone the CVS repository from the pbconfurl URL into a directory whose name is the concatenation of the default pbdefdir path and then the project name (PBPROJ value setup with the -p option see below, here linuxcoe), expanding the HOME directory on the fly, as there is no pbconfdir value setup for this project, and no value for this project for the pbdefdir parameter, only the default one. If the project is already cloned there it will just use it, with the current branch. Here the upstream LinuxCOE project is hosting the pbconf info directly.
1231
1232 Note that ultimately, if pbdefdir is not defined, project-builder.org will use /var/cache by default, which may fail if you do not have appropriate write rights.
1233
1234 The second couple to declare is the pbprojurl and pbprojdir. Similarly, they declare the location of the repository containing the upstream project files and the local directory in which they are checked out. If pbprojdir is not defined, by default it will be taken as the concatention of pbdefdir and the project name. If that's not the case in your setup, then specify the pbprojdir value
1235
1236 Examples:
1237
1238 pbprojurl:
1239 python-redfish: git+ssh://git@github.com:bcornec/python-redfish.git
1240 fossology: git+ssh://git@github.com:fossology/fossology.git
1241 uuwl: git+svn+ssh://svn.mondorescue.org/prj/svn/uuwl
1242 pb: git+svn+ssh://svn.mondorescue.org/prj/svn/pb
1243 afio: ftp://localhost/src/afio-2.5.tar.gz
1244 linuxcoe: cvs+ssh://:ext:bcornec@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe
1245
1246 pbprojdir:
1247 fossology: $ENV{'HOME'}/Work/bruno/prj/fossology/git
1248 pb: $ENV{'HOME'}/svn-git/pb
1249 linuxcoe: $ENV{'HOME'}/LinuxCOE/cvs
1250
1251 pbdefdir:
1252 default: $ENV{'HOME'}/svn-git/pb/projects
1253 python-redfish: $ENV{'HOME'}/Work/bruno/prj
1254 fossology: $ENV{'HOME'}/Work/bruno/prj/fossology
1255 uuwl: $ENV{'HOME'}/svn-git
1256 pb: $ENV{'HOME'}/svn-git
1257
1258 => You access the upstream files for python-redfish in write mode (by ssh) and this project is using git as a VCS, that will also be used by project-builder.org to manage the sources. The first time, project-builder.org will clone the git repository from the pbprojurl URL into a directory whose name is the concatenation of the python-redfish pbdefdir path and then the project name (PBPROJ value setup with the -p option see below, here python-redfish), expanding the HOME directory on the fly, as there is no pbprojdir value setup for this project. If the project is already cloned there it will just use it, with the current branch.
1259 => You access the upstream files for FOSSology in write mode (by ssh) and this project is using git as a VCS, that will also be used by project-builder.org to manage the sources. The first time, project-builder.org will clone the git repository from the pbprojurl URL into the pbprojdir directory, expanding the HOME directory on the fly. If the project is already cloned there it will just use it, with the current branch. The pbdefdir will be used for other parameters, but the pbprojdir value takes precedence (in this case variables point to different locations).
1260 => You access the upstream files for UUWL in write mode (by ssh) and this project is using SVN as a VCS to manage the repo and git svn will be used by project-builder.org to manage the sources. The first time, project-builder.org will clone the git repository from the pbprojurl URL into a directory whose name is the concatenation of the uuwl pbdefdir path and then the project name (PBPROJ value setup with the -p option see below, here uuwl), expanding the HOME directory on the fly, as there is no pbprojdir value setup for this project. If the project is already cloned there it will just use it, with the current branch.
1261 => You access the upstream files for project-builder.org in write mode (by ssh) and this project is using SVN as a VCS to manage the repo and git svn will be used by project-builder.org to manage the sources. The first time, project-builder.org will clone the git repository from the pbprojurl URL into the pbprojdir directory, expanding the HOME directory on the fly. If the project is already cloned there it will just use it, with the current branch.
1262 => You access the upstream files for afio in read-only mode and this project, which isn't developed anymore upstream, is just providing a compressed tar file using FTP as a VCS and it will be used by project-builder.org to manage the sources. The first time, project-builder.org will extract the sources from the tar file pointed to by the pbprojurl URL into a directory whose name is the concatenation of the default pbdefdir path, as there is no afio entry for this parameter, and then the project name (PBPROJ value setup with the -p option see below, here afio), expanding the HOME directory on the fly, as there is no pbprojdir value setup for this project.
1263 => You access the upstream files for LinuxCOE in write mode (by ssh) and this project is using CVS as a VCS to manage the repo and it will be used by project-builder.org to manage the sources. The first time, project-builder.org will export the CVS repository from the pbprojurl URL into the pbprojdir directory, expanding the HOME directory on the fly. If the project is already cloned there it will just use it, with the current branch.
1264
1265
1266 In order to help you validate the value for a given parameter, you may want to use pb -p pbproj getconf param_to_consider
1267
1268=item B<pb Environment Variables>
1269
1270 The following environment variables are used by pb when declared to change its behaviour:
1271
1272 PBACCOUNT
1273 Default: Empty
1274 Value: Login to use to connect to the VM/VE/RM. Also see -a option.
1275
1276 PBPROJ
1277 Default: Empty
1278 Value: Name of the project to build for. Also see -p option.
1279
1280 PBROOTDIR
1281 Default: Empty
1282 Value: Root directory of the configuration files for this project. Also see -r option.
1283
1284 PBV
1285 Default: Empty
1286 Value: List of VM/VE/RM to build for, separated by ','. Also see -m option
1287
1288 PBVCSOPT
1289 Default: Empty
1290 Value: Options to pass to the VCS command when interacting with the repository.
1291
1292 PBVMOPT
1293 Default: Empty
1294 Value: Options to pass to the VM engine to launch VMs.
1295
1296 PBVMTMOUT
1297 Default: 120
1298 Value: Timeout in seconds to wait for th launch of the VM before communicating with it. Also see parameter vmtmout in configuration files. Takes precedence.
1299
1300 TMPDIR
1301 Default: /tmp
1302 Value: Directory where temporary files will be created.
1303
1304 ftp_proxy
1305 http_proxy
1306 https_proxy
1307 Default: Empty
1308 Value: URL of the proxy server to use for these protocols.
1309
1310
1311 The following environment variables are generated by pb and can be used in build scripts:
1312
1313 PBBUILDDIR
1314 Value: Build directory (pbbuild) where packages are created locally. See the schema of ProjectBuilder::Env man page.
1315
1316 PBCMSLOGFILE
1317 Value: Intermediate log file generated for stable versions to create ChangeLog.
1318
1319 PBCONFDIR
1320 Value: Configuration directory (pbconf) where configuration files for the project are stored. See the schema of ProjectBuilder::Env man page. See pbconfdir parameter.
1321
1322 PBDEFDIR
1323 Value: Default directory where the project-builder.org will host host files for the projects, parent of PBPROJ directories. See the schema of ProjectBuilder::Env man page. See pbdefdir parameter.
1324
1325 PBDESTDIR
1326 Value: Destination directory (pbdelivery) where intermediate tar files are created locally. See the schema of ProjectBuilder::Env man page.
1327
1328 PBDIR
1329 Value: Directory where an upstream version is located. See the schema of ProjectBuilder::Env man page. Correspond to PBROOTDIR for project-builder.org conf files.
1330
1331 PBETC
1332 Value: .pbrc.yml configuration file of the user located in his HOME directory.
1333
1334 PBPACKAGER
1335 Value: E-mail address of the packager, used also to get GPG information. See pbpackager parameter.
1336
1337 PBPASSFILE
1338 Value: File containing the pass phrase for the GPG signature. Used with PBPASSPATH. See pbpassfile parameter.
1339
1340 PBPASSPATH
1341 Value: Path of the file containing the pass phrase for the GPG signature. Used with PBPASSFILE. See pbpasspath parameter.
1342
1343 PBPASSPHRASE
1344 Value: Pass phrase for the GPG signature. Used instead of PBPASSPATH+PBPASSFILE. See pbpassphrase parameter.
1345
1346 PBPKG
1347 Value: Name of the package built.
1348
1349 PBPROJDIR
1350 Value: Directory where an upstream project is located. See the schema of ProjectBuilder::Env man page. Correspond to PBPROJ dir under PBDEFDIR for project-builder.org conf files.
1351
1352 PBPROJTAG
1353 Value: Tag of the packages created, indicating the build procedure version. See pbprojtag parameter.
1354
1355 PBPROJVER
1356 Value: Version of the packages created. See pbprojver parameter.
1357
1358 PBREVISION
1359 Value: Revision of the project in the VCS. Revision for SVN, commit ID for git, ...
1360
1361 PBVMPORT
1362 Value: Offset to the base port to communicate with the VM
1363
1364 PBSOLDESTDIR
1365 Value: Target directory for the Solaris prototype
1366
1367=back
1368
1369=head1 COPYRIGHT
1370
1371 (c) B. Cornec 2007-today
1372 Eric Anderson's changes are (c) Copyright 2012 Hewlett Packard
1373 Provided under the Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) Creative Common License
1374
1375=cut
Note: See TracBrowser for help on using the repository browser.