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

Last change on this file since 2410 was 2410, checked in by bruno, 6 weeks ago

2 fixes for debian repositories

  • Fix #178 by changing key detection in a more simple and compatible way
  • Fix #179 by adding a new pbgpgserver configuration parameter and its doc
File size: 67.2 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:
36            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
37
38=item B<cachedir>
39
40 Nature: Optional
41 Key: pb project: rpmbootstrap|pbmkbm|pb
42 Value: Directory to cache temporary content for the relevant pb project.
43 Conffile: pb
44 Example: cachedir:
45            rpbootstrap: /var/cache/rpmbootstrap
46
47=item B<checkexclude>
48
49 Nature: Optional
50 Key: package (as provided in defpkgdir or extpkgdir)
51 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.
52 Conffile: project
53 Example: checkexclude:
54            pkg1: centos,lsb,solaris
55
56=item B<cpandir>
57
58 Nature: Optional
59 Key: project (as defined in the -p option or PBPROJ environment variable)
60 Value: CPAN Pause directory to upload new modules
61 Conffile: pb
62 Example: cpandir:
63            default: incoming
64
65=item B<cpanpasswd>
66
67 Nature: Optional
68 Key: project (as defined in the -p option or PBPROJ environment variable)
69 Value: CPAN Pause user's password
70 Conffile: home
71 Example: cpanpasswd:
72            default: mycomplicatedpwd
73
74=item B<cpanpause>
75
76 Nature: Optional
77 Key: project (as defined in the -p option or PBPROJ environment variable)
78 Value: CPAN Pause site to upload new modules
79 Conffile: pb
80 Example: cpanpause:
81            default: pause.perl.org
82
83=item B<cpansubdir>
84
85 Nature: Optional
86 Key: project (as defined in the -p option or PBPROJ environment variable)
87 Value: CPAN Pause subdirectory in the user's area to upload into
88 Conffile: pb
89 Example: cpansubdir:
90            default: mydir
91
92=item B<cpanurl>
93
94 Nature: Optional
95 Key: project (as defined in the -p option or PBPROJ environment variable)
96 Value: CPAN Pause URL to activate the upload mecanism
97 Conffile: pb
98 Example: cpanurl:
99            default: http://pause.perl.org/pause/authenquery
100
101=item B<cpanuser>
102
103 Nature: Optional
104 Key: project (as defined in the -p option or PBPROJ environment variable)
105 Value: CPAN Pause user
106 Conffile: home
107 Example: cpanuser:
108            default: XXX
109
110=item B<defpkgdir>
111
112 Nature: Mandatory
113 Key: project (as defined in the -p option or PBPROJ environment variable)
114 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.
115 Conffile: project
116 Example: defpkgdir:
117            mondorescue: mondo,mindi NB: a default value is not really meaningful.
118
119=item B<delivery>
120
121 Nature: Optional
122 Key: project (as defined in the -p option or PBPROJ environment variable)
123 Value: directory where to deliver packages once built for ftp/web access.
124 Conffile: project
125 Example: delivery:
126            mondorescue: prod
127
128=item B<dockeropt>
129
130 Nature: Optional
131 Key: project (as defined in the -p option or PBPROJ environment variable)
132 Value: List of the options to call docker with
133 Conffile: project
134 Example: dockeropt:
135            default: --bip=172.16.42.1/16
136
137=item B<dockerregistry>
138
139 Nature: Optional
140 Key: project (as defined in the -p option or PBPROJ environment variable)
141 Value: name of the docker registry to interact with if any
142 Conffile: project
143 Example: dockerregistry:
144            mondorescue: localhost:5900/mondorescue
145
146=item B<dockerrepository>
147
148 Nature: Optional
149 Key: project (as defined in the -p option or PBPROJ environment variable)
150 Value: name of the docker repository to interact with if any. It is mandatory if no dockerregistry is defined.
151 Conffile: project
152 Example: dockerrepository:
153            mondorescue: localhost:5000/mondorescue
154
155=item B<extpkgdir>
156
157 Nature: Optional
158 Key: project (as defined in the -p option or PBPROJ environment variable)
159 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.
160 Conffile: project
161 Example: extpkgdir:
162            mondorescue: mondo-doc,mindi-mindibusybox
163
164=item B<filteredfiles>
165
166 Nature: Optional
167 Key: package (as provided in defpkgdir or extpkgdir)
168 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.
169 Conffile: project
170 Example: filteredfiles:
171            mindi: rootfs/sbin/init,mindi,install.sh,doc/mindi.8
172
173=item B<ftp_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: ftp_proxy:
180            default: http://example.com:3128/
181
182=item B<http_proxy>
183
184 Nature: Optional
185 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.
186 Value: string indicating the proxy to use
187 Conffile: pb
188 Example: http_proxy:
189            default: http://example.com:3128/
190
191=item B<https_proxy>
192
193 Nature: Optional
194 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.
195 Value: string indicating the proxy to use
196 Conffile: pb
197 Example: https_proxy:
198            default: http://example.com:3128/
199
200=item B<logcmd>
201
202 Nature: Mandatory
203 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.
204 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, ...).
205 Conffile: pb
206 Example: logcmd:
207            mageia: sos
208
209=item B<logcmds>
210
211 Nature: Optional
212 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.
213 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.
214 Conffile: pb
215 Example: logcmds:
216            mageia: mount,lsmod,esxcfg-module -l,df -T
217
218=item B<logfiles>
219
220 Nature: Optional
221 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.
222 Value: In case the B<logcmd> command is internal, a comma separated list of the files to capture in order to log context.
223 Conffile: pb
224 Example: logfiles:
225            mageia: /etc/raidtab,/proc/cmdline,/proc/swaps
226
227=item B<logopt>
228
229 Nature: Optional
230 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.
231 Value: In case the B<logcmd> command is not internal, the options of the B<logcmd> application to launch to log context
232 Conffile: pb
233 Example: logopt:
234            mageia: --all
235
236=item B<mkbmbootcmds>
237
238 Nature: Mandatory
239 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.
240 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.
241 Conffile: pb
242 Example: mkbmbootcmds:
243            linux: perl,awk,gawk,dd,grep,uname
244
245=item B<mkbmbootdirs>
246
247 Nature: Mandatory
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: comma separated list of directories to be copied from the original OS to the target boot media tree (works recursively on the target).
250 Conffile: pb
251 Example: mkbmbootdirs:
252            linux: /etc/ssh,/etc/udev,/etc/mdadm
253
254=item B<mkbmbootfiles>
255
256 Nature: Mandatory
257 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.
258 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).
259 Conffile: pb
260 Example: mkbmbootfiles:
261            linux: /etc/mdadm.conf,/etc/raidtab,/etc/modprobe.conf
262
263=item B<mkbmkerneldir>
264
265 Nature: Mandatory
266 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.
267 Value: path of the directory containing your kernel.
268 Conffile: pb
269 Example: mkbmkerneldir:
270            linux: /boot
271
272=item B<mkbmkernelfile>
273
274 Nature: Optional
275 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.
276 Value: full path of the your kernel.
277 Conffile: pb
278 Example: mkbmkernelfile:
279            linux: /boot/vmlinuz-specific
280
281=item B<mkbmkernelnamere>
282
283 Nature: Mandatory
284 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.
285 Value: Perl Regular Expression allowing to find OS kernel names in the B<kerneldir> directory.
286 Conffile: pb
287 Example: mkbmkerneldir:
288            linux: ^linu|^vmlinu|^xen
289
290=item B<mkbmtargetdirs>
291
292 Nature: Mandatory
293 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.
294 Value: comma separated list of empty directory paths to be created on the target boot media.
295 Conffile: pb
296 Example: mkbmtargetdirs:
297            linux: /tmp,/dev
298
299=item B<namingtype>
300
301 Nature: Optional
302 Key: package (as provided in defpkgdir or extpkgdir)
303 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)
304 Conffile: project
305 Example: namingtype:
306            ProjectBuilder: perl
307
308=item B<osambiguous>
309
310 Nature: Optional
311 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.
312 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>
313 Conffile: pb
314 Example: osambiguous:
315            debian: debian,ubuntu
316
317=item B<oschkcmd>
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).
321 Value: package checker tool.
322 Conffile: pb
323 Example: oschkcmd:
324            deb: /usr/bin/lintian
325
326=item B<oschkopt>
327
328 Nature: Optional
329 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
330 Value: package checker tool options.
331 Conffile: pb
332 Example: oschkcmd:
333            rpm: -i
334
335=item B<oscmd>
336
337 Nature: Mandatory
338 Key: tool (pb or rpmbootstrap)
339 Value: coma separated list of commands that are mandatory on the underlying system
340 Conffile: pb
341 Example: oscmd:
342            pb: tar,ls
343
344=item B<oscmdopt>
345
346 Nature: Mandatory
347 Key: tool (pb or rpmbootstrap)
348 Value: come separated list of commands that are optional on the underlying system
349 Conffile: pb
350 Example: oscmd:
351            pb: svn2cl,svn,cvs
352
353=item B<oscodename>
354
355 Nature: Optional
356 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.
357 Value: code name. Mostly useful for debian and ubuntu, due to debootstrap.
358 Conffile: pb
359 Example: oscodename debian-5.0 = lenny
360
361=item B<osfamily>
362
363 Nature: Mandatory
364 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.
365 Value: OS family name (used to group similar distribution for handling)
366 Conffile: pb
367 Example: osfamily:
368            debian: du
369
370=item B<osins>
371
372 Nature: Optional
373 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.
374 Value: OS command to lauch in order to automatically install packages on it.
375 Conffile: pb
376 Example: osins:
377            fedora: sudo yum -y install
378
379=item B<oslocalins>
380
381 Nature: Optional
382 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.
383 Value: OS command to lauch in order to automatically install local packages on it.
384 Conffile: pb
385 Example: oslocalins:
386            debian: sudo dpkg -i
387
388=item B<osmindep>
389
390 Nature: Optional
391 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.
392 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.
393 Conffile: pb
394 Example: osmindep:
395            default: perl,sudo,wget,tar,make,gzip
396
397=item B<osnover>
398
399 Nature: Optional
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: true|false. True means that this OS has no need to keep the version
402 Conffile: pb
403 Example: osnover:
404            gentoo: true
405
406=item B<ospatchcmd>
407
408 Nature: Optional
409 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
410 Value: package patch command. For RPM is implicit.
411 Conffile: pb
412 Example: ospatchcmd:
413            deb: /usr/bin/patch
414
415=item B<ospatchopt>
416
417 Nature: Optional
418 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
419 Value: package patch options.
420 Conffile: pb
421 Example: ospatchcmd:
422            deb: -s -p1
423
424=item B<ospathcmd-*>
425
426 Nature: Optional
427 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
428 Value: Full path name of the command mentioned after the '-' for the relative OS
429 Conffile: pb
430 Example: ospathcmd-halt:
431            solaris: /usr/sbin/halt, ospathcmd-halt default = /sbin/halt
432
433=item B<osperldep>
434
435 Nature: Optional
436 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
437 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.
438 Conffile: pb
439 Example: osperldep:
440            rhel-5: Module-Build,File-MimeInfo,File-BaseDir,Mail-Sendmail
441
442=item B<osperlver>
443
444 Nature: Mandatory (for each module mentioned in B<osperldep>)
445 Key: Perl Module (as defined in B<osperldep>)
446 Value: Version of the perl module that needs to be found on CPAN.
447 Conffile: pb
448 Example: osperlver:
449            Date-Manip: 5.54
450
451=item B<ospkg>
452
453 Nature: Optional (Mandatory if pbinstalltype is pkg)
454 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
455 Value: comma separated list of packages that have to be installed in order for pb to be operational in the VE|VM
456 Conffile: pb
457 Example: ospkg:
458            rhel-5: project-builder
459
460=item B<ospkgdep>
461
462 Nature: Optional
463 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
464 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.
465 Conffile: pb
466 Example: ospkgdep:
467            rhel-5: wget,make,ntp,patch,perl-DateManip
468
469=item B<osrelambfile>
470
471 Nature: Mandatory (per OS mentioned in B<osambiguous>)
472 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.
473 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.
474 Conffile: pb
475 Example: osrelambfile:
476            debian: /etc/debian_version
477
478=item B<osrelexpr>
479
480 Nature: Mandatory (per OS mentioned in B<osrelambfile> and B<osrelfile>)
481 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
482 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)
483 Conffile: pb
484 Example: osrelexpr:
485            rhel: Red Hat (?:Enterprise Linux|Linux Advanced Server) .*release ([0-9.]+).* \(
486
487=item B<osrelfile>
488
489 Nature: Mandatory
490 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.
491 Value: full path name of the file describing non-ambiguously that distribution. There should be a bijection between the file and the distribution name.
492 Conffile: pb
493 Example: osrelfile:
494            fedora: /etc/fedora-release
495
496=item B<osremovedotinver>
497
498 Nature: Optional
499 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
500 Value: true|false. If true, then no '.' (dot) character is kept in the version name of that OS.
501 Conffile: pb
502 Example: osremovedotinver:
503            redhat: true
504
505=item B<osrepo>
506
507 Nature: Optional (Mandatory if pbinstalltype is pkg)
508 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
509 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
510 Conffile: pb
511 Example: osrepo:
512            rpm: ftp://ftp.project-builder.org/$ddir/$dver/pb.repo
513
514=item B<ossha>
515
516 Nature: Optional (Mandatory if rpm type of package)
517 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
518 Value: sha algorithm used br createrepo
519 Conffile: pb
520 Example: ossha:
521            fedora-10: sha1
522
523=item B<ossudoersmode>
524
525 Nature: Mandatory
526 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
527 Value: suffix that will be used in the name of the packages created. By default, concatenation of OS name and version.
528 Conffile: pb
529 Example: ossudoersmode:
530            novell: 640
531
532=item B<ossuffix>
533
534 Nature: Optional
535 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
536 Value: suffix that will be used in the name of the packages created. By default, concatenation of OS name and version.
537 Conffile: pb
538 Example: ossuffix:
539            mandriva: mdv
540
541=item B<ostype>
542
543 Nature: Mandatory
544 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.
545 Value: build type grouping packages family. This is used internaly by pb to make various handling depending on that build type.
546 Conffile: pb
547 Example: ostype:
548            rh: rpm, ostype md = rpm, ostype novell = rpm
549
550=item B<osupd>
551
552 Nature: Optional
553 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.
554 Value: OS command to lauch in order to automatically update th VM|VE
555 Conffile: pb
556 Example: osupd:
557            fedora: sudo yum -y update
558
559=item B<ossueminorrel>
560
561 Nature: Mandatory
562 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.
563 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.
564 Conffile: pb
565 Example: ossueminorrel:
566            centos: true
567
568=item B<pbadditionalgpg>
569
570 Nature: Optional
571 Key: project (as defined in the -p option or PBPROJ environment variable)
572 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
573 Conffile: project
574 Example: pbadditionalgpg:
575            pb: 0x141B9FF237DB9883
576
577=item B<pbconfurl>
578
579 Nature: Mandatory
580 Key: project (as defined in the -p option or PBPROJ environment variable)
581 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
582 Conffile: home|project
583 Example: pbconfurl:
584            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
585
586=item B<pbdefdir>
587
588 Nature: Optional
589 Key: project (as defined in the -p option or PBPROJ environment variable)
590 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.
591 Conffile: home
592 Example: pbdefdir:
593            default: $ENV{'HOME'}/local/pb/projects
594
595=item B<pbgitremote>
596
597 Nature: Optional
598 Key: project (as defined in the -p option or PBPROJ environment variable)
599 Value: Remote name of the git repository used. The default is origin
600 Conffile: home
601 Example: pbgitremote:
602            python-redfish: upstream
603
604=item B<pbgpgcheck>
605
606 Nature: Optional
607 Key: project (as defined in the -p option or PBPROJ environment variable)
608 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)
609 Conffile: project
610 Example: pbgpgcheck:
611            Lintel: 0
612
613=item B<pbgpgserver>
614
615 Nature: Mandatory
616 Key: project (as defined in the -p option or PBPROJ environment variable)
617 Value: The GPG server to use when looking for GPG keys.
618 Conffile: pb
619 Example: pbgpgserver:
620            default: ipv4.pool.sks-keyservers.net
621
622=item B<pbinstalltype>
623
624 Nature: Mandatory
625 Key: project (as defined in the -p option or PBPROJ environment variable)
626 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.
627 Conffile: pb
628 Example: pbinstalltype:
629            default: pkg
630
631=item B<pbml>
632
633 Nature: Optional (Mandatory if using announce command)
634 Key: project (as defined in the -p option or PBPROJ environment variable)
635 Value: white space separated list of e-mail adresses used to send announces with the pb announce option.
636 Conffile: project
637 Example: pbml:
638            pb: pb-announce@project-builder.org pb-devel@project-builder.org
639
640=item B<pbpackager>
641
642 Nature: Mandatory
643 Key: project (as defined in the -p option or PBPROJ environment variable)
644 Value: Firstname Name and e-mail address of the person packaging the software.
645 Conffile: project
646 Example: pbpackager:
647            pb: Bruno Cornec <bruno@project-builder.org>
648
649=item B<pbparallel>
650
651 Nature: Optional
652 Key: tool (pb or rpmbootstrap)
653 Value: number of processes to execute in parallel. By default use the number of cores.
654 Conffile: pb
655 Example: pbparallel:
656            pb: 12
657
658=item B<pbpassfile>
659
660 Nature: Optional
661 Key: project (as defined in the -p option or PBPROJ environment variable)
662 Value: File containing the GPG passphrase that is used to sign packages
663 Conffile: home
664 Example: pbpassfile:
665            pb: /users/me/secret/passfile
666
667=item B<pbpasspath>
668
669 Nature: Optional
670 Key: project (as defined in the -p option or PBPROJ environment variable)
671 Value: The directory under which will be found your secret GPG key file.
672 Conffile: home
673 Example: pbpasspath:
674            pb: /home/me/.gnupg
675
676=item B<pbpassphrase>
677
678 Nature: Optional
679 Key: project (as defined in the -p option or PBPROJ environment variable)
680 Value: The GPG passphrase that is used to sign packages. Putting it in your conf file has security implications.
681 Conffile: home
682 Example: pbpassphrase:
683            pb: TheSecretPassPhrase
684
685=item B<pbpbr>
686
687 Nature: Optional
688 Key: project (as defined in the -p option or PBPROJ environment variable)
689 Value: whatever. As soon as this is defined, then that project is known as using pbr for source epansion.
690 Conffile: project
691 Example: pbpbr:
692            python-redfish: 1
693
694=item B<pbprojdir>
695
696 Nature: Optional
697 Key: project (as defined in the -p option or PBPROJ environment variable)
698 Value: local directory under which the project is locally exported. NB: a default value is highly interesting here. By default pbdefdir/projectname
699 Conffile: home
700 Example: pbprojdir:
701            mondorescue: $ENV{'HOME'}/local/mondorescue
702
703=item B<pbrepo>
704
705 Nature: Mandatory
706 Key: project (as defined in the -p option or PBPROJ environment variable)
707 Value: URL of the server hosting the upstream tar file.
708 Conffile: project
709 Example: pbrepo:
710            mondorescue: ftp://ftp.mondorescue.org
711
712=item B<pbshowsudo>
713
714 Nature: Optional
715 Key: project (as defined in the -p option or PBPROJ environment variable)
716 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.
717 Conffile: home
718 Example: pbshowsudo:
719            mondorescue: true
720
721=item B<pbsmtp>
722
723 Nature: Optional (Mandatory if using the announce command)
724 Key: project (as defined in the -p option or PBPROJ environment variable)
725 Value: FQDN of the mail server to use to send announces. NB: a default value is highly interesting here.
726 Conffile: home
727 Example: pbsmtp:
728            mondorescue: localhost
729
730=item B<pbsockscmd>
731
732 Nature: Optional
733 Key: project (as defined in the -p option or PBPROJ environment variable)
734 Value: name of the command to use to socksify network calls. NB: a default value is highly interesting here.
735 Conffile: home
736 Example: pbsockscmd:
737            default: tsocks
738
739=item B<pbstoponerr>
740
741 Nature: Optional
742 Key: project (as defined in the -p option or PBPROJ environment variable)
743 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.
744 Conffile: home
745 Example: pbstoponerr:
746            mondorescue: true
747
748
749=item B<pbprojurl>
750
751 Nature: Optional
752 Key: project (as defined in the -p option or PBPROJ environment variable)
753 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
754 Conffile: home|project
755 Example: pbprojurl:
756            linuxcoe: cvs+ssh://:ext:user@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe, pbprojurl pb = svk:////local/pb
757
758=item B<pbusesshagent>
759
760 Nature: Mandatory
761 Key: project (as defined in the -p option or PBPROJ environment variable)
762 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
763 Conffile: pb
764 Example: pbusesshagent:
765            default: false
766
767=item B<pbwf>
768
769 Nature: Optional
770 Key: project (as defined in the -p option or PBPROJ environment variable)
771 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.
772 Conffile: project
773 Example: pbwf:
774            afio: 1
775
776=item B<pkgtag>
777
778 Nature: Optional
779 Key: package (as provided in defpkgdir or extpkgdir)
780 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).
781 Conffile: project
782 Example: pkgtag:
783            mindi-busybox: 2
784
785=item B<pkgver>
786
787 Nature: Optional
788 Key: package (as provided in defpkgdir or extpkgdir)
789 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>.
790 Conffile: project
791 Example: pkgver:
792            mindi-busybox: 1.7.3
793
794=item B<projcomponent>
795
796 Nature: Optional
797 Key: project (as defined in the -p option or PBPROJ environment variable)
798 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.
799 Conffile: project
800 Example: projcomponent:
801            Lintel: main
802
803=item B<projtag>
804
805 Nature: Mandatory
806 Key: project (as defined in the -p option or PBPROJ environment variable)
807 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>.
808 Conffile: project
809 Example: projtag:
810            mondorescue: 1
811
812=item B<projver>
813
814 Nature: Mandatory
815 Key: project (as defined in the -p option or PBPROJ environment variable)
816 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>.
817 Conffile: project
818 Example: projver:
819            mondorescue: 2.2.9
820
821=item B<rbsconf>
822
823 Nature: Optional
824 Key: project (as defined in the -p option or PBPROJ environment variable)
825 Value: for mock it's the configuration directory. For rinse it's its configuration file. For rpmbootstrap it's not used yet.
826 Conffile: ve
827 Example: rbsconf:
828            default: /etc/mock, rbsconf default = /etc/pb/pb-rinse.conf
829
830=item B<rbsb4pi>
831
832 Nature: Optional
833 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). The family name is generaly used here.
834 Value: 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.
835 Conffile: ve
836 Example: rbsb4pi:
837            centos: /home/rinse/bin/before-post-install.sh
838
839=item B<rbsmirrorsrv>
840
841 Nature: Optional
842 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.
843 Value: URL for the mirror server for setting up a virtual environment
844 Conffile: ve
845 Example: rbsmirrorsrv:
846            debian: http://mirrors1.kernel.org/
847
848=item B<rbsmirrorupd>
849
850 Nature: Optional
851 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.
852 Value: Relative path wrt B<rbsmirrorsrv> where updates are located
853 Conffile: ve
854 Example: rbsmirrorupd:
855            mageia: ../updates
856
857=item B<rbsopt>
858
859 Nature: Optional
860 Key: tool used for rpm based VE. Could be one of rpmbootstrap, rinse, mock, ...
861 Value: Additional option to pass to the command
862 Conffile: ve
863 Example: rbsopt:
864            rpmbootstrap: -k
865
866=item B<rbspi>
867
868 Nature: Optional
869 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.
870 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.
871 Conffile: ve
872 Example: rbspi:
873            centos: /home/rinse/bin/post-install.sh
874
875=item B<rmhost>
876
877 Nature: Mandatory
878 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.
879 Value: IP address or name of the Remote Machine running the OS mentioned in the key, accessed through ssh.
880 Conffile: rm
881 Example: rmhost:
882            default: localhost - rmhost hpux-11.3-ia64 = 10.10.10.10 - rmhost mandriva-2010.2-x86_64 = machine1.domain.name
883
884=item B<rmlist>
885
886 Nature: Mandatory
887 Key: project (as defined in the -p option or PBPROJ environment variable)
888 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.
889 Conffile: rm
890 Example: rmlist:
891            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
892
893=item B<rmlogin>
894
895 Nature: Mandatory
896 Key: project (as defined in the -p option or PBPROJ environment variable)
897 Value: account name to use on the Remote Machine to build packages. Communication is done with ssh.
898 Conffile: rm
899 Example: rmlogin:
900            default: pb
901
902=item B<rmmonport>
903
904 Nature: Optional
905 Key: project (as defined in the -p option or PBPROJ environment variable)
906 Value: TCP port that is used to dialog with the monitor of the Remote Machine, to pass orders.
907 Conffile: rm
908 Example: rmmonport:
909            default: 4444
910
911=item B<rmntp>
912
913 Nature: Optional
914 Key: project (as defined in the -p option or PBPROJ environment variable)
915 Value: NTP server to contact for time accuracy with B<ospathcmd-ntpdate> before building.
916 Conffile: rm
917 Example: rmntp:
918            default: 1.pool.ntp.org
919
920=item B<rmpath>
921
922 Nature: Mandatory
923 Key: project (as defined in the -p option or PBPROJ environment variable)
924 Value: path where to find configuration file for Remote Machines management.
925 Conffile: rm
926 Example: rmpath:
927            default: /home/remote
928
929=item B<rmport>
930
931 Nature: Mandatory
932 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
933 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.
934 Conffile: rm
935 Example: rmport:
936            pb: 2222,rmport mondorescue = 2223
937
938=item B<rmtmout>
939
940 Nature: Optional
941 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.
942 Value: Time in seconds to wait before interacting with the RM. This may correspond to the time the RM takes to boot.
943 Conffile: rm
944 Example: rmtmout:
945            default: 10
946
947=item B<rmtype>
948
949 Nature: Mandatory
950 Key: project (as defined in the -p option or PBPROJ environment variable)
951 Value: ssh. For the moment, only ssh is supported as a communication means with RM.
952 Conffile: rm
953 Example: rmrtype:
954            default: ssh
955
956=item B<sshdir>
957
958 Nature: Mandatory
959 Key: project (as defined in the -p option or PBPROJ environment variable)
960 Value: dirname into which packages are uploaded on the B<sshhost> machine.
961 Conffile: project
962 Example: sshdir:
963            mondorescue: /pub/mondorescue
964
965=item B<sshhost>
966
967 Nature: Mandatory
968 Key: project (as defined in the -p option or PBPROJ environment variable)
969 Value: hostname to connect to in order to deliver packages to the repository server.
970 Conffile: project
971 Example: sshhost:
972            mondorescue: ftp.mondorescue.org
973
974=item B<sshlogin>
975
976 Nature: Optional
977 Key: project (as defined in the -p option or PBPROJ environment variable)
978 Value: login to use when connecting to the repository server B<sshhost> for package delivery. whoami result by default
979 Conffile: project
980 Example: sshlogin:
981            mondorescue: mylogin
982
983=item B<sshport>
984
985 Nature: Optional
986 Key: project (as defined in the -p option or PBPROJ environment variable)
987 Value: port to use when connecting to the repository server B<sshhost> for package delivery. 22 by default.
988 Conffile: project
989 Example: sshport:
990            mondorescue: 22
991
992=item B<supfiles>
993
994Not used yet.
995
996=item B<testver>
997
998 Nature: Optional
999 Key: project (as defined in the -p option or PBPROJ environment variable)
1000 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.
1001 Conffile: project
1002 Example: testver:
1003            mondorescue: true
1004
1005=item B<vedebtype>
1006
1007 Nature: Mandatory
1008 Key: project (as defined in the -p option or PBPROJ environment variable)
1009 Value: debootstrap (no other tool to create deb distro based chroot)
1010 Conffile: ve
1011 Example: vedebtype:
1012            default: debootstrap
1013
1014=item B<velist>
1015
1016 Nature: Mandatory
1017 Key: project (as defined in the -p option or PBPROJ environment variable)
1018 Value: list of comma separated OS (under the form of os-ver-arch).
1019 Conffile: ve
1020 Example: velist:
1021            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
1022
1023=item B<velogin>
1024
1025 Nature: Mandatory
1026 Key: project (as defined in the -p option or PBPROJ environment variable)
1027 Value: account name to use in the VE to build packages.
1028 Conffile: ve
1029 Example: velogin:
1030            default: pb
1031
1032=item B<ventp>
1033
1034 Nature: Optional
1035 Key: project (as defined in the -p option or PBPROJ environment variable)
1036 Value: NTP server to contact for time accuracy with B<ospathcmd-ntpdate> before building.
1037 Conffile: ve
1038 Example: ventp:
1039            default: 1.pool.ntp.org
1040
1041=item B<vepath>
1042
1043 Nature: Mandatory
1044 Key: project (as defined in the -p option or PBPROJ environment variable)
1045 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.
1046 Conffile: ve
1047 Example: vepath:
1048            default: /home/rpmbootstrap
1049
1050=item B<verebuild>
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 VE should be rebuild before usage.
1055 Conffile: ve
1056 Example: verebuild:
1057            default: true
1058
1059=item B<verpmtype>
1060
1061 Nature: Mandatory
1062 Key: project (as defined in the -p option or PBPROJ environment variable)
1063 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).
1064 Conffile: ve
1065 Example: verpmtype:
1066            default: rpmbootstrap
1067
1068=item B<vesnap>
1069
1070 Nature: Optional
1071 Key: project (as defined in the -p option or PBPROJ environment variable)
1072 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.
1073 Conffile: ve
1074 Example: vesnap:
1075            default: true
1076
1077=item B<vetype>
1078
1079 Nature: Mandatory
1080 Key: project (as defined in the -p option or PBPROJ environment variable)
1081 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.
1082 Conffile: ve
1083 Example: vetype:
1084            default: chroot
1085
1086=item B<vmbuildtm>
1087
1088 Nature: Optional
1089 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
1090 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.
1091 Conffile: project
1092 Example: vmbuildtm:
1093            default: 600,vmbuildtm mandriva-2009.0-x86_64 = 1200
1094
1095=item B<vmcmd>
1096
1097 Nature: Mandatory
1098 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.
1099 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.
1100 Conffile: vm
1101 Example: vmcmd:
1102            default: /usr/bin/kvm
1103
1104=item B<vmhost>
1105
1106 Nature: Mandatory
1107 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
1108 Value: hostname to connect to in order to reach the VM through ssh. Generally redirected from a port on localhost.
1109 Conffile: vm
1110 Example: vmhost:
1111            default: localhost
1112
1113=item B<vmlist>
1114
1115 Nature: Mandatory
1116 Key: project (as defined in the -p option or PBPROJ environment variable)
1117 Value: list of comma separated OS (under the form of os-ver-arch).
1118 Conffile: vm
1119 Example: vmlist:
1120            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
1121
1122=item B<vmlogin>
1123
1124 Nature: Mandatory
1125 Key: project (as defined in the -p option or PBPROJ environment variable)
1126 Value: account name to use in the VM to build packages. Communication is done with ssh.
1127 Conffile: vm
1128 Example: vmlogin:
1129            default: pb
1130
1131=item B<vmmem>
1132
1133 Nature: Optional
1134 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
1135 Value: Memory size in MB to allocate to the VM.
1136 Conffile: vm
1137 Example: vmmem:
1138            default: 512
1139
1140=item B<vmmonport>
1141
1142 Nature: Optional
1143 Key: project (as defined in the -p option or PBPROJ environment variable)
1144 Value: TCP port that is used to dialog with the monitor of the VM, to pass orders such as snapshot. Not really operational yet.
1145 Conffile: vm
1146 Example: vmmonport:
1147            default: 4444
1148
1149=item B<vmntp>
1150
1151 Nature: Optional
1152 Key: project (as defined in the -p option or PBPROJ environment variable)
1153 Value: NTP server to contact for time accuracy with B<ospathcmd-ntpdate> before building.
1154 Conffile: vm
1155 Example: vmntp:
1156            default: 1.pool.ntp.org
1157
1158=item B<vmopt>
1159
1160 Nature: Optional
1161 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.
1162 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.
1163 Conffile: vm
1164 Example: vmopt:
1165            default: -m 384 -daemonize,vmopt mandriva-2009.0-i386 = -m 256 -daemonize -no-kvm
1166
1167=item B<vmpath>
1168
1169 Nature: Mandatory
1170 Key: project (as defined in the -p option or PBPROJ environment variable)
1171 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.
1172 Conffile: vm
1173 Example: vmpath:
1174            default: /home/qemu
1175
1176=item B<vmport>
1177
1178 Nature: Mandatory
1179 Key: project (as defined in the -p option or PBPROJ environment variable)
1180 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.
1181 Conffile: vm
1182 Example: vmport:
1183            pb: 2222,vmport mondorescue = 2223
1184
1185=item B<vmsize>
1186
1187 Nature: Mandatory
1188 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
1189 Value: Size of the VM to create when using the newvm command of pb.
1190 Conffile: vm
1191 Example: vmsize:
1192            default: 7G
1193
1194=item B<vmsnap>
1195
1196 Nature: Optional
1197 Key: project (as defined in the -p option or PBPROJ environment variable)
1198 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.
1199 Conffile: vm
1200 Example: vmsnap:
1201            default: true
1202
1203=item B<vmtmout>
1204
1205 Nature: Optional
1206 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.
1207 Value: Time in seconds to wait before interacting with the VM. This should correspond to the time the VM takes to boot.
1208 Conffile: vm
1209 Example: vmtmout:
1210            default: 180,vmtmout mandriva-2009.0-x86_64 = 500
1211
1212=item B<vmtype>
1213
1214 Nature: Mandatory
1215 Key: project (as defined in the -p option or PBPROJ environment variable)
1216 Value: qemu|kvm. For the moment, only QEMU or KVM are supported as virtualization technologies.
1217 Conffile: vm
1218 Example: vmtype:
1219            default: kvm
1220
1221=item B<webdir>
1222
1223 Nature: Optional
1224 Key: project (as defined in the -p option or PBPROJ environment variable)
1225 Value: Target directory containing the web content in the project that should be delivered when using the sbx|cms2webssh|pkg command of pb.
1226 Conffile: project
1227 Example: webdir:
1228            mondorescue: website
1229
1230=item B<websshdir>
1231
1232 Nature: Optional (when not using *2webssh commands)
1233 Key: project (as defined in the -p option or PBPROJ environment variable)
1234 Value: dirname into which content is uploaded on the B<websshhost> machine.
1235 Conffile: project
1236 Example: websshdir:
1237            mondorescue: /var/www/html
1238
1239=item B<websshhost>
1240
1241 Nature: Optional (when not using *2webssh commands)
1242 Key: project (as defined in the -p option or PBPROJ environment variable)
1243 Value: hostname to connect to in order to deliver content to the Web server.
1244 Conffile: project
1245 Example: websshhost:
1246            mondorescue: www.mondorescue.org
1247
1248=item B<websshlogin>
1249
1250 Nature: Optional (when not using *2webssh commands)
1251 Key: project (as defined in the -p option or PBPROJ environment variable)
1252 Value: login to use when connecting to the Web server B<websshhost> for content delivery.
1253 Conffile: project
1254 Example: websshlogin:
1255            mondorescue: mylogin
1256
1257=item B<websshport>
1258
1259 Nature: Optional (when not using *2webssh commands)
1260 Key: project (as defined in the -p option or PBPROJ environment variable)
1261 Value: port to use when connecting to the Web server B<websshhost> for content delivery.
1262 Conffile: project
1263 Example: websshport:
1264            mondorescue: 22
1265
1266=back
1267
1268=head1 OTHER PARAMETERS
1269
1270=over 4
1271
1272=item B<pb URLs>
1273
1274 The pbprojurl and pbconfurl parameters support multiple schemas to point to the repositories to use.
1275 They are parsed by project-builder.org to communicate with them.
1276
1277 The protocols can be git, git+svn, svk, svn, cvs, hg.
1278 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.
1279
1280 Examples:
1281
1282 pbprojurl:
1283   fossology: git+https://github.com/fossology/fossology.git
1284   linuxcoe: cvs+ssh://:ext:bcornec@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe
1285   pb: svn+ssh://svn.mondorescue.org/prj/svn/pb
1286
1287 => 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.
1288 => 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.
1289 => 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.
1290 => 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.
1291
1292 If you use instead:
1293   pb: git+svn+ssh://svn.mondorescue.org/prj/svn/pb
1294
1295 => 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.
1296
1297
1298 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
1299
1300 Examples:
1301
1302 pbprojurl:
1303   afio: ftp://localhost/src/afio-2.5.tar.gz
1304
1305 => 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.
1306
1307
1308=item B<pb Directories>
1309
1310 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.
1311
1312 Tree will look like this:
1313
1314             maint pbdefdir                         PBDEFDIR            dev dir (optional)
1315                  |                                                        |
1316            ------------------------                                --------------------
1317            |                      |                                |                  |
1318         pbproj1                pbproj2             PBPROJ       pbproj1           pbproj2   PBPROJDIR
1319            |                                                       |
1320  ---------------------------------------------                ----------
1321  *      *        *       |        |          |                *        *
1322 tag    dev    pbconf    ...    pbbuild  pbdelivery PBCONFDIR dev      tag
1323  |               |                         |       PBDESTDIR           |
1324  ---          ------                    pbrc.yml   PBBUILDDIR       -------
1325    |          |    |                                                |     |
1326   1.1        dev  tag                                              1.0   1.1                PBDIR
1327                    |
1328                 -------
1329                 |     |
1330                1.0   1.1                           PBROOTDIR
1331                       |
1332               ----------------------------------
1333               |          |           |         |
1334             pkg1      pbproj1.yml   pbfilter   pbcl
1335               |
1336        -----------------
1337        |      |        |
1338       rpm    deb    pbfilter
1339
1340
1341 (*) By default, if no relocation in .pbrc.yml, dev dir is taken in the maint pbdefdir (when appropriate)
1342 Names under a pbproj and the corresponding pbconf should be similar
1343
1344
1345 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
1346
1347 Examples:
1348
1349 pbconfurl:
1350  python-redfish: git+ssh://git@github.com:bcornec/python-redfish.git
1351  fossology: git+https://github.com/fossology/fossology.git
1352  uuwl: git+svn+ssh://svn.mondorescue.org/prj/svn/pb/projects/uuwl/pbconf
1353  pb: git+svn+ssh://svn.mondorescue.org/prj/svn/pb/pbconf
1354  afio: git+svn+ssh://svn.project-builder.org/prj/svn/pb/projects/afio/pbconf
1355  linuxcoe: cvs+ssh://:ext:bcornec@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe/pbconf
1356
1357 pbconfdir:
1358  python-redfish: $ENV{'HOME'}/Work/bruno/prj/python-redfish/pbconf
1359  fossology: $ENV{'HOME'}/Work/bruno/prj/fossology/git/pbconf
1360  uuwl: $ENV{'HOME'}/svn-git/pb/projects/uuwl/pbconf
1361
1362 pbdefdir:
1363  default: $ENV{'HOME'}/svn-git/pb/projects
1364  python-redfish: $ENV{'HOME'}/Work/bruno/prj
1365  fossology: $ENV{'HOME'}/Work/bruno/prj/fossology
1366  uuwl: $ENV{'HOME'}/svn-git
1367  pb: $ENV{'HOME'}/svn-git
1368
1369 => 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.
1370 => 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.
1371 => 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.
1372 => 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.
1373 => 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.
1374 => 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.
1375
1376 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.
1377
1378 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
1379
1380 Examples:
1381
1382 pbprojurl:
1383  python-redfish: git+ssh://git@github.com:bcornec/python-redfish.git
1384  fossology: git+ssh://git@github.com:fossology/fossology.git
1385  uuwl: git+svn+ssh://svn.mondorescue.org/prj/svn/uuwl
1386  pb: git+svn+ssh://svn.mondorescue.org/prj/svn/pb
1387  afio: ftp://localhost/src/afio-2.5.tar.gz
1388  linuxcoe: cvs+ssh://:ext:bcornec@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe
1389
1390 pbprojdir:
1391  fossology: $ENV{'HOME'}/Work/bruno/prj/fossology/git
1392  pb: $ENV{'HOME'}/svn-git/pb
1393  linuxcoe: $ENV{'HOME'}/LinuxCOE/cvs
1394
1395 pbdefdir:
1396  default: $ENV{'HOME'}/svn-git/pb/projects
1397  python-redfish: $ENV{'HOME'}/Work/bruno/prj
1398  fossology: $ENV{'HOME'}/Work/bruno/prj/fossology
1399  uuwl: $ENV{'HOME'}/svn-git
1400  pb: $ENV{'HOME'}/svn-git
1401
1402 => 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.
1403 => 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).
1404 => 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.
1405 => 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.
1406 => 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.
1407 => 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.
1408
1409
1410 In order to help you validate the value for a given parameter, you may want to use pb -p pbproj getconf param_to_consider
1411
1412=item B<pb Environment Variables>
1413
1414 The following environment variables are used by pb when declared to change its behaviour:
1415
1416 PBACCOUNT
1417   Default: Empty
1418   Value: Login to use to connect to the VM/VE/RM. Also see -a option.
1419
1420 PBPROJ
1421   Default: Empty
1422   Value: Name of the project to build for. Also see -p option.
1423
1424 PBROOTDIR
1425   Default: Empty
1426   Value: Root directory of the configuration files for this project. Also see -r option.
1427
1428 PBV
1429   Default: Empty
1430   Value: List of VM/VE/RM to build for, separated by ','. Also see -m option
1431
1432 PBVCSOPT
1433   Default: Empty
1434   Value: Options to pass to the VCS command when interacting with the repository.
1435
1436 PBVMOPT
1437   Default: Empty
1438   Value: Options to pass to the VM engine to launch VMs.
1439
1440 PBVMTMOUT
1441   Default: 120
1442   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.
1443
1444 TMPDIR
1445   Default: /tmp
1446   Value: Directory where temporary files will be created.
1447
1448 ftp_proxy
1449 http_proxy
1450 https_proxy
1451   Default: Empty
1452   Value: URL of the proxy server to use for these protocols.
1453
1454
1455 The following environment variables are generated by pb and can be used in build scripts:
1456
1457 PBBUILDDIR
1458   Value: Build directory (pbbuild) where packages are created locally. See the schema of ProjectBuilder::Env man page.
1459
1460 PBCMSLOGFILE
1461   Value: Intermediate log file generated for stable versions to create ChangeLog.
1462
1463 PBCONFDIR
1464   Value: Configuration directory (pbconf) where configuration files for the project are stored. See the schema of ProjectBuilder::Env man page. See pbconfdir parameter.
1465
1466 PBDEFDIR
1467   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.
1468
1469 PBDESTDIR
1470   Value: Destination directory (pbdelivery) where intermediate tar files are created locally. See the schema of ProjectBuilder::Env man page.
1471
1472 PBDIR
1473   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.
1474
1475 PBETC
1476   Value: .pbrc.yml configuration file of the user located in his HOME directory.
1477
1478 PBPACKAGER
1479   Value: E-mail address of the packager, used also to get GPG information. See pbpackager parameter.
1480
1481 PBPASSFILE
1482   Value: File containing the pass phrase for the GPG signature. Used with PBPASSPATH. See pbpassfile parameter.
1483
1484 PBPASSPATH
1485   Value: Path of the file containing the pass phrase for the GPG signature. Used with PBPASSFILE. See pbpasspath parameter.
1486
1487 PBPASSPHRASE
1488   Value: Pass phrase for the GPG signature. Used instead of PBPASSPATH+PBPASSFILE. See pbpassphrase parameter.
1489
1490 PBPKG
1491   Value: Name of the package built.
1492
1493 PBPROJDIR
1494   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.
1495
1496 PBPROJTAG
1497   Value: Tag of the packages created, indicating the build procedure version. See pbprojtag parameter.
1498
1499 PBPROJVER
1500   Value: Version of the packages created. See pbprojver parameter.
1501
1502 PBREVISION
1503   Value: Revision of the project in the VCS. Revision for SVN, commit ID for git, ...
1504
1505 PBVMPORT
1506   Value: Offset to the base port to communicate with the VM
1507
1508 PBSOLDESTDIR
1509   Value: Target directory for the Solaris prototype
1510
1511=back
1512
1513=head1 COPYRIGHT
1514
1515 (c) B. Cornec 2007-today
1516 Eric Anderson's changes are (c) Copyright 2012 Hewlett Packard
1517 Provided under the Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) Creative Common License
1518
1519=cut
Note: See TracBrowser for help on using the repository browser.