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

Last change on this file since 2292 was 2292, checked in by bruno, 23 months ago

Moves documentation aruond directories to pod file

File size: 64.8 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: come 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<osmindep>
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). NB: a default value is highly interesting here.
345 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.
346 Conffile: pb
347 Example: osmindep default = perl,sudo,wget,tar,make,gzip
348
349=item B<osnover>
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).
353 Value: true|false. True means that this OS has no need to keep the version
354 Conffile: pb
355 Example: osnover gentoo = true
356
357=item B<ospatchcmd>
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: package patch command. For RPM is implicit.
362 Conffile: pb
363 Example: ospatchcmd deb = /usr/bin/patch
364
365=item B<ospatchopt>
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 options.
370 Conffile: pb
371 Example: ospatchcmd deb = -s -p1
372
373=item B<ospathcmd-*>
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: Full path name of the command mentioned after the '-' for the relative OS
378 Conffile: pb
379 Example: ospathcmd-halt solaris = /usr/sbin/halt, ospathcmd-halt default = /sbin/halt
380
381=item B<osperldep>
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: 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.
386 Conffile: pb
387 Example: osperldep rhel-5 = Module-Build,File-MimeInfo,File-BaseDir,Mail-Sendmail
388
389=item B<osperlver>
390
391 Nature: Mandatory (for each module mentioned in B<osperldep>)
392 Key: Perl Module (as defined in B<osperldep>)
393 Value: Version of the perl module that needs to be found on CPAN.
394 Conffile: pb
395 Example: osperlver Date-Manip = 5.54
396
397=item B<ospkg>
398
399 Nature: Optional (Mandatory if pbinstalltype is pkg)
400 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
401 Value: comma separated list of packages that have to be installed in order for pb to be operational in the VE|VM
402 Conffile: pb
403 Example: ospkg rhel-5 = project-builder
404
405=item B<ospkgdep>
406
407 Nature: Optional
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 are needed by pb and should be installed automatically in the VM/VE during the setupvm|ve phasis by pb.
410 Conffile: pb
411 Example: ospkgdep rhel-5 = wget,make,ntp,patch,perl-DateManip
412
413=item B<osrelambfile>
414
415 Nature: Mandatory (per OS mentioned in B<osambiguous>)
416 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.
417 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.
418 Conffile: pb
419 Example: osrelambfile debian = /etc/debian_version
420
421=item B<osrelexpr>
422
423 Nature: Mandatory (per OS mentioned in B<osrelambfile> and B<osrelfile>)
424 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
425 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)
426 Conffile: pb
427 Example: osrelexpr rhel = Red Hat (?:Enterprise Linux|Linux Advanced Server) .*release ([0-9.]+).* \(
428
429=item B<osrelfile>
430
431 Nature: Mandatory
432 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.
433 Value: full path name of the file describing non-ambiguously that distribution. There should be a bijection between the file and the distribution name.
434 Conffile: pb
435 Example: osrelfile fedora = /etc/fedora-release
436
437=item B<osremovedotinver>
438
439 Nature: Optional
440 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
441 Value: true|false. If true, then no '.' (dot) character is kept in the version name of that OS.
442 Conffile: pb
443 Example: osremovedotinver redhat = true
444
445=item B<osrepo>
446
447 Nature: Optional (Mandatory if pbinstalltype is pkg)
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: 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
450 Conffile: pb
451 Example: osrepo rpm = ftp://ftp.project-builder.org/$ddir/$dver/pb.repo
452
453=item B<ossha>
454
455 Nature: Optional (Mandatory if rpm type of package)
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: sha algorithm used br createrepo
458 Conffile: pb
459 Example: ossha fedora-10 = sha1
460
461=item B<ossudoersmode>
462
463 Nature: Mandatory
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: suffix that will be used in the name of the packages created. By default, concatenation of OS name and version.
466 Conffile: pb
467 Example: ossudoersmode novell = 640
468
469=item B<ossuffix>
470
471 Nature: Optional
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: ossuffix mandriva = mdv
476
477=item B<ostype>
478
479 Nature: Mandatory
480 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.
481 Value: build type grouping packages family. This is used internaly by pb to make various handling depending on that build type.
482 Conffile: pb
483 Example: ostype rh = rpm, ostype md = rpm, ostype novell = rpm
484
485=item B<osupd>
486
487 Nature: Optional
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: OS command to lauch in order to automatically update th VM|VE
490 Conffile: pb
491 Example: osupd fedora = sudo yum -y update
492
493=item B<ossueminorrel>
494
495 Nature: Mandatory
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: Should that OS distinguish between its minor version, considering them as different versions or not. Typically for CentOS where .x versions make incompatible changes.
498 Conffile: pb
499 Example: ossueminorrel centos = true
500
501=item B<pbadditionalgpg>
502
503 Nature: Optional
504 Key: project (as defined in the -p option or PBPROJ environment variable)
505 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
506 Conffile: project
507 Example: pbadditionalgpg pb = 0x141B9FF237DB9883
508
509=item B<pbconfurl>
510
511 Nature: Mandatory
512 Key: project (as defined in the -p option or PBPROJ environment variable)
513 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
514 Conffile: home|project
515 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
516
517=item B<pbdefdir>
518
519 Nature: Optional
520 Key: project (as defined in the -p option or PBPROJ environment variable)
521 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.
522 Conffile: home
523 Example: pbdefdir default = $ENV{'HOME'}/local/pb/projects
524
525=item B<pbgpgcheck>
526
527 Nature: Optional
528 Key: project (as defined in the -p option or PBPROJ environment variable)
529 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)
530 Conffile: project
531 Example: pbgpgcheck Lintel = 0
532
533=item B<pbinstalltype>
534
535 Nature: Mandatory
536 Key: project (as defined in the -p option or PBPROJ environment variable)
537 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.
538 Conffile: pb
539 Example: pbinstalltype default = pkg
540
541=item B<pbml>
542
543 Nature: Optional (Mandatory if using announce command)
544 Key: project (as defined in the -p option or PBPROJ environment variable)
545 Value: white space separated list of e-mail adresses used to send announces with the pb announce option.
546 Conffile: project
547 Example: pbml pb = pb-announce@project-builder.org pb-devel@project-builder.org
548
549=item B<pbpackager>
550
551 Nature: Mandatory
552 Key: project (as defined in the -p option or PBPROJ environment variable)
553 Value: Firstname Name and e-mail address of the person packaging the software.
554 Conffile: project
555 Example: pbpackager pb = Bruno Cornec <bruno@project-builder.org>
556
557=item B<pbparallel>
558
559 Nature: Optional
560 Key: tool (pb or rpmbootstrap)
561 Value: number of processes to execute in parallel. By default use the number of cores.
562 Conffile: pb
563 Example: pbparallel pb = 12
564
565=item B<pbpassfile>
566
567 Nature: Optional
568 Key: project (as defined in the -p option or PBPROJ environment variable)
569 Value: File containing the GPG passphrase that is used to sign packages
570 Conffile: home
571 Example: pbpassfile pb = /users/me/secret/passfile
572
573=item B<pbpasspath>
574
575 Nature: Optional
576 Key: project (as defined in the -p option or PBPROJ environment variable)
577 Value: The directory under which will be found your secret GPG key file.
578 Conffile: home
579 Example: pbpasspath pb = /home/me/.gnupg
580
581=item B<pbpassphrase>
582
583 Nature: Optional
584 Key: project (as defined in the -p option or PBPROJ environment variable)
585 Value: The GPG passphrase that is used to sign packages. Putting it in your conf file has security implications.
586 Conffile: home
587 Example: pbpassphrase pb = TheSecretPassPhrase
588
589=item B<pbpbr>
590
591 Nature: Optional
592 Key: project (as defined in the -p option or PBPROJ environment variable)
593 Value: whatever. As soon as this is defined, then that project is known as using pbr for source epansion.
594 Conffile: project
595 Example: pbpbr python-redfish = 1
596
597=item B<pbprojdir>
598
599 Nature: Optional
600 Key: project (as defined in the -p option or PBPROJ environment variable)
601 Value: local directory under which the project is locally exported. NB: a default value is highly interesting here. By default pbdefdir/projectname
602 Conffile: home
603 Example: pbprojdir mondorescue = $ENV{'HOME'}/local/mondorescue
604
605=item B<pbrepo>
606
607 Nature: Mandatory
608 Key: project (as defined in the -p option or PBPROJ environment variable)
609 Value: URL of the server hosting the upstream tar file.
610 Conffile: project
611 Example: pbrepo mondorescue = ftp://ftp.mondorescue.org
612
613=item B<pbshowsudo>
614
615 Nature: Optional
616 Key: project (as defined in the -p option or PBPROJ environment variable)
617 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.
618 Conffile: home
619 Example: pbshowsudo mondorescue = true
620
621=item B<pbsmtp>
622
623 Nature: Optional (Mandatory if using the announce command)
624 Key: project (as defined in the -p option or PBPROJ environment variable)
625 Value: FQDN of the mail server to use to send announces. NB: a default value is highly interesting here.
626 Conffile: home
627 Example: pbsmtp mondorescue = localhost
628
629=item B<pbsockscmd>
630
631 Nature: Optional
632 Key: project (as defined in the -p option or PBPROJ environment variable)
633 Value: name of the command to use to socksify network calls. NB: a default value is highly interesting here.
634 Conffile: home
635 Example: pbsockscmd default = tsocks
636
637=item B<pbstoponerr>
638
639 Nature: Optional
640 Key: project (as defined in the -p option or PBPROJ environment variable)
641 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.
642 Conffile: home
643 Example: pbstoponerr mondorescue = true
644
645
646=item B<pbprojurl>
647
648 Nature: Optional
649 Key: project (as defined in the -p option or PBPROJ environment variable)
650 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
651 Conffile: home|project
652 Example: pbprojurl linuxcoe = cvs+ssh://:ext:user@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe, pbprojurl pb = svk:////local/pb
653
654=item B<pbusesshagent>
655
656 Nature: Mandatory
657 Key: project (as defined in the -p option or PBPROJ environment variable)
658 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
659 Conffile: pb
660 Example: pbusesshagent default = false
661
662=item B<pbwf>
663
664 Nature: Optional
665 Key: project (as defined in the -p option or PBPROJ environment variable)
666 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.
667 Conffile: project
668 Example: pbwf afio = 1
669
670=item B<pkgtag>
671
672 Nature: Optional
673 Key: package (as provided in defpkgdir or extpkgdir)
674 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).
675 Conffile: project
676 Example: pkgtag mindi-busybox = 2
677
678=item B<pkgver>
679
680 Nature: Optional
681 Key: package (as provided in defpkgdir or extpkgdir)
682 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>.
683 Conffile: project
684 Example: pkgver mindi-busybox = 1.7.3
685
686=item B<projcomponent>
687
688 Nature: Optional
689 Key: project (as defined in the -p option or PBPROJ environment variable)
690 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.
691 Conffile: project
692 Example: projcomponent Lintel = main
693
694=item B<projtag>
695
696 Nature: Mandatory
697 Key: project (as defined in the -p option or PBPROJ environment variable)
698 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>.
699 Conffile: project
700 Example: projtag mondorescue = 1
701
702=item B<projver>
703
704 Nature: Mandatory
705 Key: project (as defined in the -p option or PBPROJ environment variable)
706 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>.
707 Conffile: project
708 Example: projver mondorescue = 2.2.9
709
710=item B<rbsconf>
711
712 Nature: Optional
713 Key: project (as defined in the -p option or PBPROJ environment variable)
714 Value: for mock it's the configuration directory. For rinse it's its configuration file. For rpmbootstrap it's not used yet.
715 Conffile: ve
716 Example: rbsconf default = /etc/mock, rbsconf default = /etc/pb/pb-rinse.conf
717
718=item B<rbsb4pi>
719
720 Nature: Optional
721 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.
722 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.
723 Conffile: ve
724 Example: rbsb4pi centos = /home/rinse/bin/before-post-install.sh
725
726=item B<rbsmirrorsrv>
727
728 Nature: Optional
729 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.
730 Value: URL for the mirror server for setting up a virtual environment
731 Conffile: ve
732 Example: rbsmirrorsrv debian = http://mirrors1.kernel.org/
733
734=item B<rbsmirrorupd>
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: Relative path wrt B<rbsmirrorsrv> where updates are located
739 Conffile: ve
740 Example: rbsmirrorupd mageia = ../updates
741
742=item B<rbsopt>
743
744 Nature: Optional
745 Key: tool used for rpm based VE. Could be one of rpmbootstrap, rinse, mock, ...
746 Value: Additional option to pass to the command
747 Conffile: ve
748 Example: rbsopt rpmbootstrap = -k
749
750=item B<rbspi>
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: 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.
755 Conffile: ve
756 Example: rbspi centos = /home/rinse/bin/post-install.sh
757
758=item B<rmhost>
759
760 Nature: Mandatory
761 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.
762 Value: IP address or name of the Remote Machine running the OS mentioned in the key, accessed through ssh.
763 Conffile: rm
764 Example: rmhost default = localhost - rmhost hpux-11.3-ia64 = 10.10.10.10 - rmhost mandriva-2010.2-x86_64 = machine1.domain.name
765
766=item B<rmlist>
767
768 Nature: Mandatory
769 Key: project (as defined in the -p option or PBPROJ environment variable)
770 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.
771 Conffile: rm
772 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
773
774=item B<rmlogin>
775
776 Nature: Mandatory
777 Key: project (as defined in the -p option or PBPROJ environment variable)
778 Value: account name to use on the Remote Machine to build packages. Communication is done with ssh.
779 Conffile: rm
780 Example: rmlogin default = pb
781
782=item B<rmmonport>
783
784 Nature: Optional
785 Key: project (as defined in the -p option or PBPROJ environment variable)
786 Value: TCP port that is used to dialog with the monitor of the Remote Machine, to pass orders.
787 Conffile: rm
788 Example: rmmonport default = 4444
789
790=item B<rmntp>
791
792 Nature: Optional
793 Key: project (as defined in the -p option or PBPROJ environment variable)
794 Value: NTP server to contact for time accuracy with B<ospathcmd-ntpdate> before building.
795 Conffile: rm
796 Example: rmntp default = 1.pool.ntp.org
797
798=item B<rmpath>
799
800 Nature: Mandatory
801 Key: project (as defined in the -p option or PBPROJ environment variable)
802 Value: path where to find configuration file for Remote Machines management.
803 Conffile: rm
804 Example: rmpath default = /home/remote
805
806=item B<rmport>
807
808 Nature: Mandatory
809 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
810 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.
811 Conffile: rm
812 Example: rmport pb = 2222,rmport mondorescue = 2223
813
814=item B<rmtmout>
815
816 Nature: Optional
817 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.
818 Value: Time in seconds to wait before interacting with the RM. This may correspond to the time the RM takes to boot.
819 Conffile: rm
820 Example: rmtmout default = 10
821
822=item B<rmtype>
823
824 Nature: Mandatory
825 Key: project (as defined in the -p option or PBPROJ environment variable)
826 Value: ssh. For the moment, only ssh is supported as a communication means with RM.
827 Conffile: rm
828 Example: rmrtype default = ssh
829
830=item B<sshdir>
831
832 Nature: Mandatory
833 Key: project (as defined in the -p option or PBPROJ environment variable)
834 Value: dirname into which packages are uploaded on the B<sshhost> machine.
835 Conffile: project
836 Example: sshdir mondorescue = /pub/mondorescue
837
838=item B<sshhost>
839
840 Nature: Mandatory
841 Key: project (as defined in the -p option or PBPROJ environment variable)
842 Value: hostname to connect to in order to deliver packages to the repository server.
843 Conffile: project
844 Example: sshhost mondorescue = ftp.mondorescue.org
845
846=item B<sshlogin>
847
848 Nature: Optional
849 Key: project (as defined in the -p option or PBPROJ environment variable)
850 Value: login to use when connecting to the repository server B<sshhost> for package delivery. whoami result by default
851 Conffile: project
852 Example: sshlogin mondorescue = mylogin
853
854=item B<sshport>
855
856 Nature: Optional
857 Key: project (as defined in the -p option or PBPROJ environment variable)
858 Value: port to use when connecting to the repository server B<sshhost> for package delivery. 22 by default.
859 Conffile: project
860 Example: sshport mondorescue = 22
861
862=item B<supfiles>
863
864Not used yet.
865
866=item B<testver>
867
868 Nature: Optional
869 Key: project (as defined in the -p option or PBPROJ environment variable)
870 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.
871 Conffile: project
872 Example: testver mondorescue = true
873
874=item B<vedebtype>
875
876 Nature: Mandatory
877 Key: project (as defined in the -p option or PBPROJ environment variable)
878 Value: debootstrap (no other tool to create deb distro based chroot)
879 Conffile: ve
880 Example: vedebtype default = debootstrap
881
882=item B<velist>
883
884 Nature: Mandatory
885 Key: project (as defined in the -p option or PBPROJ environment variable)
886 Value: list of comma separated OS (under the form of os-ver-arch).
887 Conffile: ve
888 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
889
890=item B<velogin>
891
892 Nature: Mandatory
893 Key: project (as defined in the -p option or PBPROJ environment variable)
894 Value: account name to use in the VE to build packages.
895 Conffile: ve
896 Example: velogin default = pb
897
898=item B<ventp>
899
900 Nature: Optional
901 Key: project (as defined in the -p option or PBPROJ environment variable)
902 Value: NTP server to contact for time accuracy with B<ospathcmd-ntpdate> before building.
903 Conffile: ve
904 Example: ventp default = 1.pool.ntp.org
905
906=item B<vepath>
907
908 Nature: Mandatory
909 Key: project (as defined in the -p option or PBPROJ environment variable)
910 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.
911 Conffile: ve
912 Example: vepath default = /home/rpmbootstrap
913
914=item B<verebuild>
915
916 Nature: Optional
917 Key: project (as defined in the -p option or PBPROJ environment variable)
918 Value: true|false. True means that the VE should be rebuild before usage.
919 Conffile: ve
920 Example: verebuild default = true
921
922=item B<verpmtype>
923
924 Nature: Mandatory
925 Key: project (as defined in the -p option or PBPROJ environment variable)
926 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).
927 Conffile: ve
928 Example: verpmtype default = rpmbootstrap
929
930=item B<vesnap>
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 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.
935 Conffile: ve
936 Example: vesnap default = true
937
938=item B<vetype>
939
940 Nature: Mandatory
941 Key: project (as defined in the -p option or PBPROJ environment variable)
942 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.
943 Conffile: ve
944 Example: vetype default = chroot
945
946=item B<vmbuildtm>
947
948 Nature: Optional
949 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
950 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.
951 Conffile: project
952 Example: vmbuildtm default = 600,vmbuildtm mandriva-2009.0-x86_64 = 1200
953
954=item B<vmcmd>
955
956 Nature: Mandatory
957 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.
958 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.
959 Conffile: vm
960 Example: vmcmd default = /usr/bin/kvm
961
962=item B<vmhost>
963
964 Nature: Mandatory
965 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
966 Value: hostname to connect to in order to reach the VM through ssh. Generally redirected from a port on localhost.
967 Conffile: vm
968 Example: vmhost default = localhost
969
970=item B<vmlist>
971
972 Nature: Mandatory
973 Key: project (as defined in the -p option or PBPROJ environment variable)
974 Value: list of comma separated OS (under the form of os-ver-arch).
975 Conffile: vm
976 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
977
978=item B<vmlogin>
979
980 Nature: Mandatory
981 Key: project (as defined in the -p option or PBPROJ environment variable)
982 Value: account name to use in the VM to build packages. Communication is done with ssh.
983 Conffile: vm
984 Example: vmlogin default = pb
985
986=item B<vmmem>
987
988 Nature: Optional
989 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
990 Value: Memory size in MB to allocate to the VM.
991 Conffile: vm
992 Example: vmmem default = 512
993
994=item B<vmmonport>
995
996 Nature: Optional
997 Key: project (as defined in the -p option or PBPROJ environment variable)
998 Value: TCP port that is used to dialog with the monitor of the VM, to pass orders such as snapshot. Not really operational yet.
999 Conffile: vm
1000 Example: vmmonport default = 4444
1001
1002=item B<vmntp>
1003
1004 Nature: Optional
1005 Key: project (as defined in the -p option or PBPROJ environment variable)
1006 Value: NTP server to contact for time accuracy with B<ospathcmd-ntpdate> before building.
1007 Conffile: vm
1008 Example: vmntp default = 1.pool.ntp.org
1009
1010=item B<vmopt>
1011
1012 Nature: Optional
1013 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.
1014 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.
1015 Conffile: vm
1016 Example: vmopt default = -m 384 -daemonize,vmopt mandriva-2009.0-i386 = -m 256 -daemonize -no-kvm
1017
1018=item B<vmpath>
1019
1020 Nature: Mandatory
1021 Key: project (as defined in the -p option or PBPROJ environment variable)
1022 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.
1023 Conffile: vm
1024 Example: vmpath default = /home/qemu
1025
1026=item B<vmport>
1027
1028 Nature: Mandatory
1029 Key: project (as defined in the -p option or PBPROJ environment variable)
1030 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.
1031 Conffile: vm
1032 Example: vmport pb = 2222,vmport mondorescue = 2223
1033
1034=item B<vmsize>
1035
1036 Nature: Mandatory
1037 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
1038 Value: Size of the VM to create when using the newvm command of pb.
1039 Conffile: vm
1040 Example: vmsize default = 7G
1041
1042=item B<vmsnap>
1043
1044 Nature: Optional
1045 Key: project (as defined in the -p option or PBPROJ environment variable)
1046 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.
1047 Conffile: vm
1048 Example: vmsnap default = true
1049
1050=item B<vmtmout>
1051
1052 Nature: Optional
1053 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.
1054 Value: Time in seconds to wait before interacting with the VM. This should correspond to the time the VM takes to boot.
1055 Conffile: vm
1056 Example: vmtmout default = 180,vmtmout mandriva-2009.0-x86_64 = 500
1057
1058=item B<vmtype>
1059
1060 Nature: Mandatory
1061 Key: project (as defined in the -p option or PBPROJ environment variable)
1062 Value: qemu|kvm. For the moment, only QEMU or KVM are supported as virtualization technologies.
1063 Conffile: vm
1064 Example: vmtype default = kvm
1065
1066=item B<webdir>
1067
1068 Nature: Optional
1069 Key: project (as defined in the -p option or PBPROJ environment variable)
1070 Value: Target directory containing the web content in the project that should be delivered when using the sbx|cms2webssh|pkg command of pb.
1071 Conffile: project
1072 Example: webdir mondorescue = website
1073
1074=item B<websshdir>
1075
1076 Nature: Optional (when not using *2webssh commands)
1077 Key: project (as defined in the -p option or PBPROJ environment variable)
1078 Value: dirname into which content is uploaded on the B<websshhost> machine.
1079 Conffile: project
1080 Example: websshdir mondorescue = /var/www/html
1081
1082=item B<websshhost>
1083
1084 Nature: Optional (when not using *2webssh commands)
1085 Key: project (as defined in the -p option or PBPROJ environment variable)
1086 Value: hostname to connect to in order to deliver content to the Web server.
1087 Conffile: project
1088 Example: websshhost mondorescue = www.mondorescue.org
1089
1090=item B<websshlogin>
1091
1092 Nature: Optional (when not using *2webssh commands)
1093 Key: project (as defined in the -p option or PBPROJ environment variable)
1094 Value: login to use when connecting to the Web server B<websshhost> for content delivery.
1095 Conffile: project
1096 Example: websshlogin mondorescue = mylogin
1097
1098=item B<websshport>
1099
1100 Nature: Optional (when not using *2webssh commands)
1101 Key: project (as defined in the -p option or PBPROJ environment variable)
1102 Value: port to use when connecting to the Web server B<websshhost> for content delivery.
1103 Conffile: project
1104 Example: websshport mondorescue = 22
1105
1106=back
1107
1108=head1 OTHER PARAMETERS
1109
1110=over 4
1111
1112=item B<pb URLs>
1113
1114 The pbprojurl and pbconfurl parameters support multiple schemas to point to the repositories to use.
1115 They are parsed by project-builder.org to communicate with them.
1116
1117 The protocols can be git, git+svn, svk, svn, cvs, hg.
1118 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.
1119
1120 Examples:
1121
1122 pbprojurl:
1123   fossology: git+https://github.com/fossology/fossology.git
1124   linuxcoe: cvs+ssh://:ext:bcornec@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe
1125   pb: svn+ssh://svn.mondorescue.org/prj/svn/pb
1126
1127 => 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.
1128 => 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.
1129 => 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.
1130 => 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.
1131
1132 If you use instead:
1133   pb: git+svn+ssh://svn.mondorescue.org/prj/svn/pb
1134
1135 => 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.
1136
1137
1138 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
1139
1140 Examples:
1141
1142 pbprojurl:
1143   afio: ftp://localhost/src/afio-2.5.tar.gz
1144
1145 => 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.
1146
1147
1148=item B<pb Directories>
1149
1150 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.
1151
1152 Tree will look like this:
1153
1154             maint pbdefdir                         PBDEFDIR            dev dir (optional)
1155                  |                                                        |
1156            ------------------------                                --------------------
1157            |                      |                                |                  |
1158         pbproj1                pbproj2             PBPROJ       pbproj1           pbproj2   PBPROJDIR
1159            |                                                       |
1160  ---------------------------------------------                ----------
1161  *      *        *       |        |          |                *        *
1162 tag    dev    pbconf    ...    pbbuild  pbdelivery PBCONFDIR dev      tag
1163  |               |                         |       PBDESTDIR           |
1164  ---          ------                    pbrc.yml   PBBUILDDIR       -------
1165    |          |    |                                                |     |
1166   1.1        dev  tag                                              1.0   1.1                PBDIR
1167                    |
1168                 -------
1169                 |     |
1170                1.0   1.1                           PBROOTDIR
1171                       |
1172               ----------------------------------
1173               |          |           |         |
1174             pkg1      pbproj1.yml   pbfilter   pbcl
1175               |
1176        -----------------
1177        |      |        |
1178       rpm    deb    pbfilter
1179
1180
1181 (*) By default, if no relocation in .pbrc.yml, dev dir is taken in the maint pbdefdir (when appropriate)
1182 Names under a pbproj and the corresponding pbconf should be similar
1183
1184
1185 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
1186
1187 Examples:
1188
1189 pbconfurl:
1190  python-redfish: git+ssh://git@github.com:bcornec/python-redfish.git
1191  fossology: git+https://github.com/fossology/fossology.git
1192  uuwl: git+svn+ssh://svn.mondorescue.org/prj/svn/pb/projects/uuwl/pbconf
1193  pb: git+svn+ssh://svn.mondorescue.org/prj/svn/pb/pbconf
1194  afio: git+svn+ssh://svn.project-builder.org/prj/svn/pb/projects/afio/pbconf
1195  linuxcoe: cvs+ssh://:ext:bcornec@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe/pbconf
1196
1197 pbconfdir:
1198  python-redfish: $ENV{'HOME'}/Work/bruno/prj/python-redfish/pbconf
1199  fossology: $ENV{'HOME'}/Work/bruno/prj/fossology/git/pbconf
1200  uuwl: $ENV{'HOME'}/svn-git/pb/projects/uuwl/pbconf
1201
1202 pbdefdir:
1203  default: $ENV{'HOME'}/svn-git/pb/projects
1204  python-redfish: $ENV{'HOME'}/Work/bruno/prj
1205  fossology: $ENV{'HOME'}/Work/bruno/prj/fossology
1206  uuwl: $ENV{'HOME'}/svn-git
1207  pb: $ENV{'HOME'}/svn-git
1208
1209 => 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.
1210 => 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.
1211 => 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.
1212 => 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.
1213 => 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.
1214 => 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.
1215
1216 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.
1217
1218 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
1219
1220 Examples:
1221
1222 pbprojurl:
1223  python-redfish: git+ssh://git@github.com:bcornec/python-redfish.git
1224  fossology: git+ssh://git@github.com:fossology/fossology.git
1225  uuwl: git+svn+ssh://svn.mondorescue.org/prj/svn/uuwl
1226  pb: git+svn+ssh://svn.mondorescue.org/prj/svn/pb
1227  afio: ftp://localhost/src/afio-2.5.tar.gz
1228  linuxcoe: cvs+ssh://:ext:bcornec@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe
1229
1230 pbprojdir:
1231  fossology: $ENV{'HOME'}/Work/bruno/prj/fossology/git
1232  pb: $ENV{'HOME'}/svn-git/pb
1233  linuxcoe: $ENV{'HOME'}/LinuxCOE/cvs
1234
1235 pbdefdir:
1236  default: $ENV{'HOME'}/svn-git/pb/projects
1237  python-redfish: $ENV{'HOME'}/Work/bruno/prj
1238  fossology: $ENV{'HOME'}/Work/bruno/prj/fossology
1239  uuwl: $ENV{'HOME'}/svn-git
1240  pb: $ENV{'HOME'}/svn-git
1241
1242 => 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.
1243 => 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).
1244 => 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.
1245 => 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.
1246 => 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.
1247 => 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.
1248
1249
1250 In order to help you validate the value for a given parameter, you may want to use pb -p pbproj getconf param_to_consider
1251
1252=item B<pb Environment Variables>
1253
1254 The following environment variables are used by pb when declared to change its behaviour:
1255
1256 PBACCOUNT
1257   Default: Empty
1258   Value: Login to use to connect to the VM/VE/RM. Also see -a option.
1259
1260 PBPROJ
1261   Default: Empty
1262   Value: Name of the project to build for. Also see -p option.
1263
1264 PBROOTDIR
1265   Default: Empty
1266   Value: Root directory of the configuration files for this project. Also see -r option.
1267
1268 PBV
1269   Default: Empty
1270   Value: List of VM/VE/RM to build for, separated by ','. Also see -m option
1271
1272 PBVCSOPT
1273   Default: Empty
1274   Value: Options to pass to the VCS command when interacting with the repository.
1275
1276 PBVMOPT
1277   Default: Empty
1278   Value: Options to pass to the VM engine to launch VMs.
1279
1280 PBVMTMOUT
1281   Default: 120
1282   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.
1283
1284 TMPDIR
1285   Default: /tmp
1286   Value: Directory where temporary files will be created.
1287
1288 ftp_proxy
1289 http_proxy
1290 https_proxy
1291   Default: Empty
1292   Value: URL of the proxy server to use for these protocols.
1293
1294
1295 The following environment variables are generated by pb and can be used in build scripts:
1296
1297 PBBUILDDIR
1298   Value: Build directory (pbbuild) where packages are created locally. See the schema of ProjectBuilder::Env man page.
1299
1300 PBCMSLOGFILE
1301   Value: Intermediate log file generated for stable versions to create ChangeLog.
1302
1303 PBCONFDIR
1304   Value: Configuration directory (pbconf) where configuration files for the project are stored. See the schema of ProjectBuilder::Env man page. See pbconfdir parameter.
1305
1306 PBDEFDIR
1307   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.
1308
1309 PBDESTDIR
1310   Value: Destination directory (pbdelivery) where intermediate tar files are created locally. See the schema of ProjectBuilder::Env man page.
1311
1312 PBDIR
1313   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.
1314
1315 PBETC
1316   Value: .pbrc.yml configuration file of the user located in his HOME directory.
1317
1318 PBPACKAGER
1319   Value: E-mail address of the packager, used also to get GPG information. See pbpackager parameter.
1320
1321 PBPASSFILE
1322   Value: File containing the pass phrase for the GPG signature. Used with PBPASSPATH. See pbpassfile parameter.
1323
1324 PBPASSPATH
1325   Value: Path of the file containing the pass phrase for the GPG signature. Used with PBPASSFILE. See pbpasspath parameter.
1326
1327 PBPASSPHRASE
1328   Value: Pass phrase for the GPG signature. Used instead of PBPASSPATH+PBPASSFILE. See pbpassphrase parameter.
1329
1330 PBPKG
1331   Value: Name of the package built.
1332
1333 PBPROJDIR
1334   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.
1335
1336 PBPROJTAG
1337   Value: Tag of the packages created, indicating the build procedure version. See pbprojtag parameter.
1338
1339 PBPROJVER
1340   Value: Version of the packages created. See pbprojver parameter.
1341
1342 PBREVISION
1343   Value: Revision of the project in the VCS. Revision for SVN, commit ID for git, ...
1344
1345 PBVMPORT
1346   Value: Offset to the base port to communicate with the VM
1347
1348 PBSOLDESTDIR
1349   Value: Target directory for the Solaris prototype
1350
1351=back
1352
1353=head1 COPYRIGHT
1354
1355 (c) B. Cornec 2007-today
1356 Eric Anderson's changes are (c) Copyright 2012 Hewlett Packard
1357 Provided under the Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) Creative Common License
1358
1359=cut
Note: See TracBrowser for help on using the repository browser.