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

Last change on this file since 2324 was 2324, checked in by bruno, 2 years ago

Fix #167 by adding an oslocalins option

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