source: ProjectBuilder/devel/pb-modules/etc/pb.conf.pod@ 1528

Last change on this file since 1528 was 1528, checked in by Bruno Cornec, 12 years ago
  • Add Copyrights specified by HP Open Source Review Board (Eric Anderson)
  • Clarification of copyrights, dates and licences (Bruno Cornec)
File size: 43.9 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 near from a perl hash structure:
15keyword key = value1[,value2,...]
16
17The 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.
18
19Each 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, conf /etc/pb/pb.conf or /usr/local/etc/pb/pb.conf, VE vepath/.pbrc, VM vmpath/.pbrc, or project project.pb) and an example of use.
20
21=head1 OPTIONS
22
23=over 4
24
25=item B<addrepo>
26
27 Nature: Optional
28Key: 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.
29 Value: comma separated list of URLs that point to repository files, or packages to install. The values may not include substitutions.
30 Conffile: project
31 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
32
33=item B<checkexclude>
34
35 Nature: Optional
36 Key: package (as provided in defpkgdir or extpkgdir)
37 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.
38 Conffile: project
39 Example: checkexclude pkg1 = centos,lsb,solaris
40
41=item B<cpandir>
42
43 Nature: Optional
44 Key: project (as defined in the -p option or PBPROJ environment variable)
45 Value: CPAN Pause directory to upload new modules
46 Conffile: pb
47 Example: cpandir default = incoming
48
49=item B<cpanpasswd>
50
51 Nature: Optional
52 Key: project (as defined in the -p option or PBPROJ environment variable)
53 Value: CPAN Pause user's password
54 Conffile: home
55 Example: cpanpasswd default = mycomplicatedpwd
56
57=item B<cpanpause>
58
59 Nature: Optional
60 Key: project (as defined in the -p option or PBPROJ environment variable)
61 Value: CPAN Pause site to upload new modules
62 Conffile: pb
63 Example: cpanpause default = pause.perl.org
64
65=item B<cpansubdir>
66
67 Nature: Optional
68 Key: project (as defined in the -p option or PBPROJ environment variable)
69 Value: CPAN Pause subdirectory in the user's area to upload into
70 Conffile: pb
71 Example: cpansubdir default = mydir
72
73=item B<cpanurl>
74
75 Nature: Optional
76 Key: project (as defined in the -p option or PBPROJ environment variable)
77 Value: CPAN Pause URL to activate the upload mecanism
78 Conffile: pb
79 Example: cpanurl default = http://pause.perl.org/pause/authenquery
80
81=item B<cpanuser>
82
83 Nature: Optional
84 Key: project (as defined in the -p option or PBPROJ environment variable)
85 Value: CPAN Pause user
86 Conffile: home
87 Example: cpanuser default = XXX
88
89=item B<defpkgdir>
90
91 Nature: Mandatory
92 Key: project (as defined in the -p option or PBPROJ environment variable)
93 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.
94 Conffile: project
95 Example: defpkgdir mondorescue = mondo,mindi NB: a default value is not really meaningful.
96
97=item B<delivery>
98
99 Nature: Optional
100 Key: project (as defined in the -p option or PBPROJ environment variable)
101 Value: directory where to deliver packages once built for ftp/web access.
102 Conffile: project
103 Example: delivery mondorescue = prod
104
105=item B<extpkgdir>
106
107 Nature: Optional
108 Key: project (as defined in the -p option or PBPROJ environment variable)
109 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.
110 Conffile: project
111 Example: extpkgdir mondorescue = mondo-doc,mindi-mindibusybox
112
113=item B<filteredfiles>
114
115 Nature: Optional
116 Key: package (as provided in defpkgdir or extpkgdir)
117 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.
118 Conffile: project
119 Example: filteredfiles mindi = rootfs/sbin/init,mindi,install.sh,doc/mindi.8
120
121=item B<ftp_proxy>
122
123 Nature: Optional
124 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.
125 Value: string indicating the proxy to use
126 Conffile: pb
127 Example: ftp_proxy default = http://example.com:3128/
128
129=item B<http_proxy>
130
131 Nature: Optional
132 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.
133 Value: string indicating the proxy to use
134 Conffile: pb
135 Example: http_proxy default = http://example.com:3128/
136
137=item B<logcmd>
138
139 Nature: Mandatory
140 Key: project (as defined in the -p option or PBPROJ environment variable)
141 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, ...).
142 Conffile: pb
143 Example: logcmd pbmkbm = sos
144
145=item B<logcmds>
146
147 Nature: Optional
148 Key: project (as defined in the -p option or PBPROJ environment variable)
149 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.
150 Conffile: pb
151 Example: logcmds pbmkbm = mount,lsmod,esxcfg-module -l,df -T
152
153=item B<logfiles>
154
155 Nature: Optional
156 Key: project (as defined in the -p option or PBPROJ environment variable)
157 Value: In case the B<logcmd> command is internal, a comma separated list of the files to capture in order to log context.
158 Conffile: pb
159 Example: logfiles pbmkbm = /etc/raidtab,/proc/cmdline,/proc/swaps
160
161=item B<logopt>
162
163 Nature: Optional
164 Key: project (as defined in the -p option or PBPROJ environment variable)
165 Value: In case the B<logcmd> command is not internal, the options of the B<logcmd> application to launch to log context
166 Conffile: pb
167 Example: logcmd pbmkbm = --all
168
169=item B<mkbmbootcmds>
170
171 Nature: Mandatory
172 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.
173 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.
174 Conffile: pb
175 Example: mkbmbootcmds linux = perl,awk,gawk,dd,grep,uname
176
177=item B<mkbmbootdirs>
178
179 Nature: Mandatory
180 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.
181 Value: comma separated list of directories to be copied from the original OS to the target boot media tree (works recursively on the target).
182 Conffile: pb
183 Example: mkbmbootdirs linux = /etc/ssh,/etc/udev,/etc/mdadm
184
185=item B<mkbmbootfiles>
186
187 Nature: Mandatory
188 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.
189 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).
190 Conffile: pb
191 Example: mkbmbootfiles linux = /etc/mdadm.conf,/etc/raidtab,/etc/modprobe.conf
192
193=item B<mkbmkerneldir>
194
195 Nature: Mandatory
196 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.
197 Value: path of the directory containing your kernel.
198 Conffile: pb
199 Example: mkbmkerneldir linux = /boot
200
201=item B<mkbmkernelfile>
202
203 Nature: Optional
204 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.
205 Value: full path of the your kernel.
206 Conffile: pb
207 Example: mkbmkernelfile linux = /boot/vmlinuz-specific
208
209=item B<mkbmkernelnamere>
210
211 Nature: Mandatory
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: Perl Regular Expression allowing to find OS kernel names in the B<kerneldir> directory.
214 Conffile: pb
215 Example: mkbmkerneldir linux = ^linu|^vmlinu|^xen
216
217=item B<mkbmpath>
218
219 Nature: Mandatory
220 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.
221 Value: path of the temporary directory into which the boot media is created.
222 Conffile: pb
223 Example: mkbmpath default = /var/cache/pbmkbm
224
225=item B<mkbmtargetdirs>
226
227 Nature: Mandatory
228 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.
229 Value: comma separated list of empty directory paths to be created on the target boot media.
230 Conffile: pb
231 Example: mkbmtargetdirs linux = /tmp,/dev
232
233=item B<namingtype>
234
235 Nature: Optional
236 Key: package (as provided in defpkgdir or extpkgdir)
237 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)
238 Conffile: project
239 Example: namingtype ProjectBuilder = perl
240
241=item B<osambiguous>
242
243 Nature: Optional
244 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.
245 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>
246 Conffile: pb
247 Example: osambiguous debian = debian,ubuntu
248
249=item B<oschkcmd>
250
251 Nature: Optional
252 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
253 Value: package checker tool.
254 Conffile: pb
255 Example: oschkcmd deb = /usr/bin/lintian
256
257=item B<oschkopt>
258
259 Nature: Optional
260 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
261 Value: package checker tool options.
262 Conffile: pb
263 Example: oschkcmd rpm = -i
264
265=item B<oscmd>
266
267 Nature: Mandatory
268 Key: tool (pb or rpmbootstrap)
269 Value: come separated list of commands that are mandatory on the underlying system
270 Conffile: pb
271 Example: oscmd pb = tar,ls
272
273=item B<oscmdopt>
274
275 Nature: Mandatory
276 Key: tool (pb or rpmbootstrap)
277 Value: come separated list of commands that are optional on the underlying system
278 Conffile: pb
279 Example: oscmd pb = svn2cl,svn,cvs
280
281=item B<oscodename>
282
283 Nature: Optional
284 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.
285 Value: code name. Mostly useful for debian and ubuntu, due to debootstrap.
286 Conffile: pb
287 Example: oscodename debian-5.0 = lenny
288
289=item B<osfamily>
290
291 Nature: Mandatory
292 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.
293 Value: OS family name (used to group similar distribution for handling)
294 Conffile: pb
295 Example: osfamily debian = du
296
297=item B<osins>
298
299 Nature: Optional
300 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.
301 Value: OS command to lauch in order to automatically install packages on it.
302 Conffile: pb
303 Example: osins fedora = sudo yum -y install
304
305=item B<osmindep>
306
307 Nature: Optional
308 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.
309 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.
310 Conffile: pb
311 Example: osmindep default = perl,sudo,wget,tar,make,gzip
312
313=item B<osnover>
314
315 Nature: Optional
316 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
317 Value: true|false. True means that this OS has no need to keep the version
318 Conffile: pb
319 Example: osnover gentoo = true
320
321=item B<ospatchcmd>
322
323 Nature: Optional
324 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
325 Value: package patch command. For RPM is implicit.
326 Conffile: pb
327 Example: ospatchcmd deb = /usr/bin/patch
328
329=item B<ospatchopt>
330
331 Nature: Optional
332 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
333 Value: package patch options.
334 Conffile: pb
335 Example: ospatchcmd deb = -s -p1
336
337=item B<ospathcmd-*>
338
339 Nature: Optional
340 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
341 Value: Full path name of the command mentioned after the '-' for the relative OS
342 Conffile: pb
343 Example: ospathcmd-halt solaris = /usr/sbin/halt, ospathcmd-halt default = /sbin/halt
344
345=item B<osperldep>
346
347 Nature: Optional
348 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
349 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.
350 Conffile: pb
351 Example: osperldep rhel-5 = Module-Build,File-MimeInfo,File-BaseDir,Mail-Sendmail
352
353=item B<osperlver>
354
355 Nature: Mandatory (for each module mentioned in B<osperldep>)
356 Key: Perl Module (as defined in B<osperldep>)
357 Value: Version of the perl module that needs to be found on CPAN.
358 Conffile: pb
359 Example: Date-Manip = 5.54
360
361=item B<ospkg>
362
363 Nature: Optional (Mandatory if pbinstalltype is pkg)
364 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
365 Value: comma separated list of packages that have to be installed in order for pb to be operational in the VE|VM
366 Conffile: pb
367 Example: ospkg rhel-5 = project-builder
368
369=item B<ospkgdep>
370
371 Nature: Optional
372 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
373 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.
374 Conffile: pb
375 Example: ospkgdep rhel-5 = wget,make,ntp,patch,perl-DateManip
376
377=item B<osrelambfile>
378
379 Nature: Mandatory (per OS mentioned in B<osambiguous>)
380 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.
381 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.
382 Conffile: pb
383 Example: osrelambfile debian = /etc/debian_version
384
385=item B<osrelexpr>
386
387 Nature: Mandatory (per OS mentioned in B<osrelambfile> and B<osrelfile>)
388 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
389 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)
390 Conffile: pb
391osrelexpr rhel = Red Hat (?:Enterprise Linux|Linux Advanced Server) .*release ([0-9.]+).* \(
392 Example:
393
394=item B<osrelfile>
395
396 Nature: Mandatory
397 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.
398 Value: full path name of the file describing non-ambiguously that distribution. There should be a bijection between the file and the distribution name.
399 Conffile: pb
400 Example: osrelfile fedora = /etc/fedora-release
401
402=item B<osremovedotinver>
403
404 Nature: Optional
405 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
406 Value: true|false. If true, then no '.' (dot) character is kept in the version name of that OS.
407 Conffile: pb
408 Example: osremovedotinver redhat = true
409
410=item B<osrepo>
411
412 Nature: Optional (Mandatory if pbinstalltype is pkg)
413 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
414 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
415 Conffile: pb
416 Example: osrepo rpm = ftp://ftp.project-builder.org/$ddir/$dver/pb.repo
417
418=item B<ossha>
419
420 Nature: Optional (Mandatory if rpm type of package)
421 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
422 Value: sha algorithm used br createrepo
423 Conffile: pb
424 Example: ossha fedora-10 = sha1
425
426=item B<ossuffix>
427
428 Nature: Optional
429 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
430 Value: suffix that will be used in the name of the packages created. By default, concatenation of OS name and version.
431 Conffile: pb
432 Example: ossuffix mandriva = mdv
433
434=item B<ostype>
435
436 Nature: Mandatory
437 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.
438 Value: build type grouping packages family. This is used internaly by pb to make various handling depending on that build type.
439 Conffile: pb
440 Example: ostype rh = rpm, ostype md = rpm, ostype novell = rpm
441
442=item B<osupd>
443
444 Nature: Optional
445 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.
446 Value: OS command to lauch in order to automatically update th VM|VE
447 Conffile: pb
448 Example: osupd fedora = sudo yum -y update
449
450=item B<pbconfurl>
451
452 Nature: Mandatory
453 Key: project (as defined in the -p option or PBPROJ environment variable)
454 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
455 Conffile: home|project
456 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
457
458=item B<pbdefdir>
459
460 Nature: Optional
461 Key: project (as defined in the -p option or PBPROJ environment variable)
462 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.
463 Conffile: home
464 Example: pbdefdir default = $ENV{'HOME'}/local/pb/projects
465
466=item B<pbgpgcheck>
467
468 Nature: Optional
469 Key: project (as defined in the -p option or PBPROJ environment variable)
470 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.
471 Conffile: project
472 Example: pbgpgcheck Lintel = 0
473
474=item B<pbinstalltype>
475
476 Nature: Mandatory
477 Key: project (as defined in the -p option or PBPROJ environment variable)
478 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.
479 Conffile: pb
480
481=item B<pbml>
482
483 Nature: Optional (Mandatory if using announce command)
484 Key: project (as defined in the -p option or PBPROJ environment variable)
485 Value: white space separated list of e-mail adresses used to send announces with the pb announce option.
486 Conffile: project
487 Example: pbml pb = pb-announce@project-builder.org pb-devel@project-builder.org
488
489=item B<pbpackager>
490
491 Nature: Mandatory
492 Key: project (as defined in the -p option or PBPROJ environment variable)
493 Value: Firstname Name and e-mail address of the person packaging the software.
494 Conffile: project
495 Example: pbpackager pb = Bruno Cornec <bruno@project-builder.org>
496
497=item B<pbparallel>
498
499 Nature: Optional
500 Key: tool (pb or rpmbootstrap)
501 Value: number of processes to execute in parallel. By default use the number of cores.
502 Conffile: pb
503 Example: pbparallel pb = 12
504
505=item B<pbpassfile>
506
507 Nature: Optional
508 Key: project (as defined in the -p option or PBPROJ environment variable)
509 Value: File containing the GPG passphrase that is used to sign packages
510 Conffile: home
511 Example: pbpassfile pb = /users/me/secret/passfile
512
513=item B<pbpasspath>
514
515 Nature: Optional
516 Key: project (as defined in the -p option or PBPROJ environment variable)
517 Value: The directory under which will be found your secret key file.
518 Conffile: home
519 Example: pbpasspath pb = /home/me/.gnupg
520
521=item B<pbpassphrase>
522
523 Nature: Optional
524 Key: project (as defined in the -p option or PBPROJ environment variable)
525 Value: The GPG passphrase that is used to sign packages. Putting it in your conf file has security implications.
526 Conffile: home
527 Example: pbpassphrase pb = TheSecretPassPhrase
528
529=item B<pbprojdir>
530
531 Nature: Optional
532 Key: project (as defined in the -p option or PBPROJ environment variable)
533 Value: local directory under which the project is locally exported. NB: a default value is highly interesting here. By default pbdefdir/projectname
534 Conffile: home
535 Example: pbprojdir mondorescue = $ENV{'HOME'}/local/mondorescue
536
537=item B<pbrepo>
538
539 Nature: Mandatory
540 Key: project (as defined in the -p option or PBPROJ environment variable)
541 Value: URL of the server hosting the upstream tar file.
542 Conffile: project
543 Example: pbrepo mondorescue = ftp://ftp.mondorescue.org
544
545=item B<pbsmtp>
546
547 Nature: Optional (Mandatory if using the announce command)
548 Key: project (as defined in the -p option or PBPROJ environment variable)
549 Value: FQDN of the mail server to use to send announces. NB: a default value is highly interesting here.
550 Conffile: home
551 Example: pbsmtp mondorescue = localhost
552
553=item B<pbsockscmd>
554
555 Nature: Optional
556 Key: project (as defined in the -p option or PBPROJ environment variable)
557 Value: name of the command to use to socksify network calls. NB: a default value is highly interesting here.
558 Conffile: home
559 Example: pbsockscmd default = tsocks
560
561=item B<pburl>
562
563 Nature: Optional
564 Key: project (as defined in the -p option or PBPROJ environment variable)
565 Value: B<pb URL> 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
566 Conffile: home|project
567 Example: pburl linuxcoe = cvs+ssh://:ext:user@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe, pburl pb = svk:////local/pb
568
569=item B<pbwf>
570
571 Nature: Optional
572 Key: project (as defined in the -p option or PBPROJ environment variable)
573 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 to not suffer from that. This is valid when packaging for tar files and not CMS.
574 Conffile: project
575 Example: pbwf afio = 1
576
577=item B<pkgtag>
578
579 Nature: Optional
580 Key: package (as provided in defpkgdir or extpkgdir)
581 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).
582 Conffile: project
583 Example: pkgtag mindi-busybox = 2
584
585=item B<pkgver>
586
587 Nature: Optional
588 Key: package (as provided in defpkgdir or extpkgdir)
589 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>.
590 Conffile: project
591 Example: pkgver mindi-busybox = 1.7.3
592
593=item B<projcomponent>
594
595 Nature: Optional
596 Key: project (as defined in the -p option or PBPROJ environment variable)
597 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.
598 Conffile: project
599 Example: projcomponent Lintel = main
600
601=item B<projtag>
602
603 Nature: Mandatory
604 Key: project (as defined in the -p option or PBPROJ environment variable)
605 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>.
606 Conffile: project
607 Example: projtag mondorescue = 1
608
609=item B<projver>
610
611 Nature: Mandatory
612 Key: project (as defined in the -p option or PBPROJ environment variable)
613 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>.
614 Conffile: project
615 Example: projver mondorescue = 2.2.9
616
617=item B<rbsconf>
618
619 Nature: Optional
620 Key: project (as defined in the -p option or PBPROJ environment variable)
621 Value: for mock it's the configuration directory. For rinse it's its configuration file. For rpmbootstrap it's not used yet.
622 Conffile: ve
623 Example: rbsconf default = /etc/mock, rbsconf default = /etc/pb/pb-rinse.conf
624
625=item B<rbsb4pi>
626
627 Nature: Optional
628 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.
629 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.
630 Conffile: ve
631 Example: rbsb4pi centos = /home/rinse/bin/before-post-install.sh
632
633=item B<rbsmirrorsrv>
634
635 Nature: Optional
636 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.
637 Value: URL for the mirror server for setting up a virtual environment
638 Conffile: ve
639 Example: rbsmirrorsrv debian = http://mirrors1.kernel.org/
640
641=item B<rbsopt>
642
643 Nature: Optional
644 Key: tool used for rpm based VE. Could be one of rpmbootstrap, rinse, mock, ...
645 Value: Additional option to pass to the command
646 Conffile: ve
647 Example: rbsopt rpmbootstrap = -k
648
649=item B<rbspi>
650
651 Nature: Optional
652 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.
653 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.
654 Conffile: ve
655 Example: rbspi centos = /home/rinse/bin/post-install.sh
656
657=item B<rmhost>
658
659 Nature: Mandatory
660 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.
661 Value: IP address or name of the Remote Machine running the OS mentioned in the key, accessed through ssh.
662 Conffile: rm
663 Example: rmhost default = localhost - rmhost hpux-11.3-ia64 = 10.10.10.10 - rmhost mandriva-2010.2-x86_64 = machine1.domain.name
664
665=item B<rmlist>
666
667 Nature: Mandatory
668 Key: project (as defined in the -p option or PBPROJ environment variable)
669 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.
670 Conffile: rm
671 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
672
673=item B<rmlogin>
674
675 Nature: Mandatory
676 Key: project (as defined in the -p option or PBPROJ environment variable)
677 Value: account name to use on the Remote Machine to build packages. Communication is done with ssh.
678 Conffile: rm
679 Example: rmlogin default = pb
680
681=item B<rmmonport>
682
683 Nature: Optional
684 Key: project (as defined in the -p option or PBPROJ environment variable)
685 Value: TCP port that is used to dialog with the monitor of the Remote Machine, to pass orders.
686 Conffile: rm
687 Example: rmmonport default = 4444
688
689=item B<rmntp>
690
691 Nature: Optional
692 Key: project (as defined in the -p option or PBPROJ environment variable)
693 Value: NTP server to contact for time accuracy with B<rmntpcmd> before building.
694 Conffile: rm
695 Example: rmntp default = 1.pool.ntp.org
696
697=item B<rmntpcmd>
698
699 Nature: Mandatory
700 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
701 Value: NTP command to use to perform time synchronization with the B<rmntp> server. Use full path name, as this command will be used in the sudoers file to allow its launch by root.
702 Conffile: rm
703 Example: rmntpcmd default = /usr/sbin/ntpdate,rmntpcmd opensuse-10.1-i386 = /usr/sbin/sntp -P no -r
704
705=item B<rmpath>
706
707 Nature: Mandatory
708 Key: project (as defined in the -p option or PBPROJ environment variable)
709 Value: path where to find configuration file for Remote Machines management.
710 Conffile: rm
711 Example: rmpath default = /home/remote
712
713=item B<rmport>
714
715 Nature: Mandatory
716 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
717 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.
718 Conffile: rm
719 Example: rmport pb = 2222,rmport mondorescue = 2223
720
721=item B<rmtmout>
722
723 Nature: Optional
724 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.
725 Value: Time in seconds to wait before interacting with the RM. This may correspond to the time the RM takes to boot.
726 Conffile: rm
727 Example: rmtmout default = 10
728
729=item B<rmtype>
730
731 Nature: Mandatory
732 Key: project (as defined in the -p option or PBPROJ environment variable)
733 Value: ssh. For the moment, only ssh is supported as a communication means with RM.
734 Conffile: rm
735 Example: rmrtype default = ssh
736
737=item B<sshdir>
738
739 Nature: Mandatory
740 Key: project (as defined in the -p option or PBPROJ environment variable)
741 Value: dirname into which packages are uploaded on the B<sshhost> machine.
742 Conffile: project
743 Example: sshdir mondorescue = /pub/mondorescue
744
745=item B<sshhost>
746
747 Nature: Mandatory
748 Key: project (as defined in the -p option or PBPROJ environment variable)
749 Value: hostname to connect to in order to deliver packages to the repository server.
750 Conffile: project
751 Example: sshhost mondorescue = ftp.mondorescue.org
752
753=item B<sshlogin>
754
755 Nature: Optional
756 Key: project (as defined in the -p option or PBPROJ environment variable)
757 Value: login to use when connecting to the repository server B<sshhost> for package delivery. whoami result by default
758 Conffile: project
759 Example: sshlogin mondorescue = mylogin
760
761=item B<sshport>
762
763 Nature: Optional
764 Key: project (as defined in the -p option or PBPROJ environment variable)
765 Value: port to use when connecting to the repository server B<sshhost> for package delivery. 22 by default.
766 Conffile: project
767 Example: sshport mondorescue = 22
768
769=item B<supfiles>
770
771Not used yet.
772
773=item B<testver>
774
775 Nature: Optional
776 Key: project (as defined in the -p option or PBPROJ environment variable)
777 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.
778 Conffile: project
779 Example: testver mondorescue = true
780
781=item B<vedebtype>
782
783 Nature: Mandatory
784 Key: project (as defined in the -p option or PBPROJ environment variable)
785 Value: debootstrap (no other tool to create deb distro based chroot)
786 Conffile: ve
787 Example: vedebtype default = debootstrap
788
789=item B<velist>
790
791 Nature: Mandatory
792 Key: project (as defined in the -p option or PBPROJ environment variable)
793 Value: list of comma separated OS (under the form of os-ver-arch).
794 Conffile: ve
795 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
796
797=item B<velogin>
798
799 Nature: Mandatory
800 Key: project (as defined in the -p option or PBPROJ environment variable)
801 Value: account name to use in the VE to build packages.
802 Conffile: ve
803 Example: velogin default = pb
804
805=item B<ventp>
806
807 Nature: Optional
808 Key: project (as defined in the -p option or PBPROJ environment variable)
809 Value: NTP server to contact for time accuracy with B<ventpcmd> before building.
810 Conffile: ve
811 Example: ventp default = 1.pool.ntp.org
812
813=item B<ventpcmd>
814
815 Nature: Mandatory
816 Key: project (as defined in the -p option or PBPROJ environment variable)
817 Value: NTP command to use to perform time synchronization with the B<ventp> server. Use full path name, as this command will be used in the sudoers file to allow its launch by root.
818 Conffile: ve
819 Example: ventpcmd default = /usr/sbin/ntpdate
820
821=item B<vepath>
822
823 Nature: Mandatory
824 Key: project (as defined in the -p option or PBPROJ environment variable)
825 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.
826 Conffile: ve
827 Example: vepath default = /home/rpmbootstrap
828
829=item B<verebuild>
830
831 Nature: Optional
832 Key: project (as defined in the -p option or PBPROJ environment variable)
833 Value: true|false. True means that the VE should be rebuild before usage.
834 Conffile: ve
835 Example: verebuild default = true
836
837=item B<verpmtype>
838
839 Nature: Mandatory
840 Key: project (as defined in the -p option or PBPROJ environment variable)
841 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).
842 Conffile: ve
843 Example: verpmtype default = rpmbootstrap
844
845=item B<vesnap>
846
847 Nature: Optional
848 Key: project (as defined in the -p option or PBPROJ environment variable)
849 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.
850 Conffile: ve
851 Example: vesnap default = true
852
853=item B<vetype>
854
855 Nature: Mandatory
856 Key: project (as defined in the -p option or PBPROJ environment variable)
857 Value: chroot|schroot. There are two different ways of launching a chroot activity in pb. For the moment only chroot has been tested.
858 Conffile: ve
859 Example: vertype default = chroot
860
861=item B<vmbuildtm>
862
863 Nature: Optional
864 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
865 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.
866 Conffile: project
867 Example: vmbuildtm default = 600,vmbuildtm mandriva-2009.0-x86_64 = 1200
868
869=item B<vmcmd>
870
871 Nature: Mandatory
872 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.
873 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.
874 Conffile: vm
875 Example: vmcmd default = /usr/bin/kvm
876
877=item B<vmhost>
878
879 Nature: Mandatory
880 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
881 Value: hostname to connect to in order to reach the VM through ssh. Generally redirected from a port on localhost.
882 Conffile: vm
883 Example: vmhost default = localhost
884
885=item B<vmlist>
886
887 Nature: Mandatory
888 Key: project (as defined in the -p option or PBPROJ environment variable)
889 Value: list of comma separated OS (under the form of os-ver-arch).
890 Conffile: vm
891 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
892
893=item B<vmlogin>
894
895 Nature: Mandatory
896 Key: project (as defined in the -p option or PBPROJ environment variable)
897 Value: account name to use in the VM to build packages. Communication is done with ssh.
898 Conffile: vm
899 Example: vmlogin default = pb
900
901=item B<vmmem>
902
903 Nature: Optional
904 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
905 Value: Memory size in MB to allocate to the VM.
906 Conffile: vm
907 Example: vmmem default = 512
908
909=item B<vmmonport>
910
911 Nature: Optional
912 Key: project (as defined in the -p option or PBPROJ environment variable)
913 Value: TCP port that is used to dialog with the monitor of the VM, to pass orders such as snapshot. Not really operational yet.
914 Conffile: vm
915 Example: vmmonport default = 4444
916
917=item B<vmntp>
918
919 Nature: Optional
920 Key: project (as defined in the -p option or PBPROJ environment variable)
921 Value: NTP server to contact for time accuracy with B<vmntpcmd> before building.
922 Conffile: vm
923 Example: vmntp default = 1.pool.ntp.org
924
925=item B<vmntpcmd>
926
927 Nature: Mandatory
928 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
929 Value: NTP command to use to perform time synchronization with the B<vmntp> server. Use full path name, as this command will be used in the sudoers file to allow its launch by root.
930 Conffile: vm
931 Example: vmntpcmd default = /usr/sbin/ntpdate,vmntpcmd opensuse-11.0-i386 = /usr/sbin/sntp -P no -r
932
933=item B<vmopt>
934
935 Nature: Optional
936 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.
937 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.
938 Conffile: vm
939 Example: vmopt default = -m 384 -daemonize,vmopt mandriva-2009.0-i386 = -m 256 -daemonize -no-kvm
940
941=item B<vmpath>
942
943 Nature: Mandatory
944 Key: project (as defined in the -p option or PBPROJ environment variable)
945 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.
946 Conffile: vm
947 Example: vmpath default = /home/qemu
948
949=item B<vmport>
950
951 Nature: Mandatory
952 Key: project (as defined in the -p option or PBPROJ environment variable)
953 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.
954 Conffile: vm
955 Example: vmport pb = 2222,vmport mondorescue = 2223
956
957=item B<vmsize>
958
959 Nature: Mandatory
960 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
961 Value: Size of the VM to create when using the newvm command of pb.
962 Conffile: vm
963 Example: vmsize default = 7G
964
965=item B<vmsnap>
966
967 Nature: Optional
968 Key: project (as defined in the -p option or PBPROJ environment variable)
969 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.
970 Conffile: vm
971 Example: vmsnap default = true
972
973=item B<vmtmout>
974
975 Nature: Optional
976 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.
977 Value: Time in seconds to wait before interacting with the VM. This should correspond to the time the VM takes to boot.
978 Conffile: vm
979 Example: vmtmout default = 180,vmtmout mandriva-2009.0-x86_64 = 500
980
981=item B<vmtype>
982
983 Nature: Mandatory
984 Key: project (as defined in the -p option or PBPROJ environment variable)
985 Value: qemu|kvm. For the moment, only QEMU or KVM are supported as virtualization technologies.
986 Conffile: vm
987 Example: vmrtype default = kvm
988
989=item B<webdir>
990
991 Nature: Optional
992 Key: project (as defined in the -p option or PBPROJ environment variable)
993 Value: Target directory containing the web content in the project that should be delivered when using the sbx|cms2webssh|pkg command of pb.
994 Conffile: project
995 Example: webdir mondorescue = website
996
997=item B<websshdir>
998
999 Nature: Optional (when not using *2webssh commands)
1000 Key: project (as defined in the -p option or PBPROJ environment variable)
1001 Value: dirname into which content is uploaded on the B<websshhost> machine.
1002 Conffile: project
1003 Example: websshdir mondorescue = /var/www/html
1004
1005=item B<websshhost>
1006
1007 Nature: Optional (when not using *2webssh commands)
1008 Key: project (as defined in the -p option or PBPROJ environment variable)
1009 Value: hostname to connect to in order to deliver content to the Web server.
1010 Conffile: project
1011 Example: websshhost mondorescue = www.mondorescue.org
1012
1013=item B<websshlogin>
1014
1015 Nature: Optional (when not using *2webssh commands)
1016 Key: project (as defined in the -p option or PBPROJ environment variable)
1017 Value: login to use when connecting to the Web server B<websshhost> for content delivery.
1018 Conffile: project
1019 Example: websshlogin mondorescue = mylogin
1020
1021=item B<websshport>
1022
1023 Nature: Optional (when not using *2webssh commands)
1024 Key: project (as defined in the -p option or PBPROJ environment variable)
1025 Value: port to use when connecting to the Web server B<websshhost> for content delivery.
1026 Conffile: project
1027 Example: websshport mondorescue = 22
1028
1029=back
1030
1031=head1 OTHER PARAMETERS
1032
1033=over 4
1034
1035=item B<pb_URL>
1036
1037=item B<pb_directory_desc>
1038
1039=item B<pb_environment_variables>
1040
1041=back
1042
1043=head1 COPYRIGHT
1044
1045(c) B. Cornec 2007-2012
1046Eric Anderson's changes are (c) Copyright 2012 Hewlett Packard
1047Provided under the Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) Creative Common License
1048
1049=cut
Note: See TracBrowser for help on using the repository browser.