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

Last change on this file since 1367 was 1367, checked in by bruno, 8 years ago
  • Fix a bug in the recursive function pb_list_bfiles where file handle should not be global
  • patch command and option are now variables in p.conf under ospatchcmd and ospatchopt
  • Add support for patches for deb family of distributions
File size: 35.9 KB
RevLine 
[962]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 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
[986]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.
[985]20
[962]21=head1 OPTIONS
22
23=over 4
24
[989]25=item B<defpkgdir>
[962]26
[989]27 Nature: Mandatory
28 Key: project (as defined in the -p option or PBPROJ environment variable)
29 Value: coma 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.
30 Conffile: project
31 Example: defpkgdir mondorescue = mondo,mindi NB: a default value is not really meaningful.
[962]32
[1066]33=item B<delivery>
34
35 Nature: Optional
36 Key: project (as defined in the -p option or PBPROJ environment variable)
37 Value: directory where to deliver packages once built for ftp/web access.
38 Conffile: project
39 Example: delivery mondorescue = prod
40
[962]41=item B<extpkgdir>
42
[989]43 Nature: Optional
44 Key: project (as defined in the -p option or PBPROJ environment variable)
45 Value: coma 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.
46 Conffile: project
47 Example: extpkgdir mondorescue = mondo-doc,mindi-mindibusybox
[962]48
49=item B<filteredfiles>
50
[989]51 Nature: Optional
52 Key: package (as provided in defpkgdir or extpkgdir)
53 Value: coma 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.
54 Conffile: project
55 Example: filteredfiles mindi = rootfs/sbin/init,mindi,install.sh,doc/mindi.8
[962]56
[1348]57=item B<mkbmpath>
58
59 Nature: Mandatory
60 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.
61 Value: path of the temporary directory into which the boot media is created.
62 Conffile: pb
63 Example: mkbmpath default = /var/cache/pbmkbm
64
[962]65=item B<namingtype>
66
[989]67 Nature: Optional
68 Key: package (as provided in defpkgdir or extpkgdir)
69 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)
70 Conffile: project
71 Example: namingtype ProjectBuilder = perl
[962]72
73=item B<osambiguous>
74
[989]75 Nature: Optional
76 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.
77 Value: coma 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>
78 Conffile: pb
79 Example: osambiguous debian = debian,ubuntu
[962]80
[1109]81=item B<oschkcmd>
82
83 Nature: Optional
84 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
85 Value: package checker tool.
86 Conffile: pb
87 Example: oschkcmd deb = /usr/bin/lintian
88
89=item B<oschkopt>
90
91 Nature: Optional
92 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
93 Value: package checker tool options.
94 Conffile: pb
95 Example: oschkcmd rpm = -i
96
[1126]97=item B<oscmd>
98
99 Nature: Mandatory
100 Key: tool (pb or rpmbootstrap)
101 Value: come separated list of commands that are mandatory on the underlying system
102 Conffile: pb
103 Example: oscmd pb = tar,ls
104
105=item B<oscmdopt>
106
107 Nature: Mandatory
108 Key: tool (pb or rpmbootstrap)
109 Value: come separated list of commands that are optional on the underlying system
110 Conffile: pb
111 Example: oscmd pb = svn2cl,svn,cvs
112
[962]113=item B<oscodename>
114
[989]115 Nature: Optional
116 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.
117 Value: code name. Mostly useful for debian and ubuntu, due to debootstrap.
118 Conffile: pb
119 Example: oscodename debian-5.0 = lenny
[962]120
121=item B<osfamily>
122
[989]123 Nature: Mandatory
124 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.
125 Value: OS family name (used to group similar distribution for handling)
126 Conffile: pb
127 Example: osfamily debian = du
[962]128
[1111]129=item B<osins>
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: OS command to lauch in order to automatically install packages on it.
134 Conffile: pb
135 Example: osins fedora = sudo yum -y install
136
[962]137=item B<osmindep>
138
[989]139 Nature: Optional
140 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.
141 Value: coma separated list of packages needed before setupvm|ve can be run. Install them with your distribution in VM or automatically in VE when possible.
142 Conffile: pb
143 Example: osmindep default = perl,sudo,wget,tar,make,gzip
[962]144
145=item B<osnover>
146
[989]147 Nature: Optional
148 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
149 Value: true|false. True means that this OS has no need to keep the version
150 Conffile: pb
151 Example: osnover gentoo = true
[962]152
[1367]153=item B<ospatchcmd>
154
155 Nature: Optional
156 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
157 Value: package patch command. For RPM is implicit.
158 Conffile: pb
159 Example: ospatchcmd deb = /usr/bin/patch
160
161=item B<ospatchopt>
162
163 Nature: Optional
164 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
165 Value: package patch options.
166 Conffile: pb
167 Example: ospatchcmd deb = -s -p1
168
[1192]169=item B<ospathcmd-*>
170
171 Nature: Optional
172 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
173 Value: Full path name of the command mentioned after the '-' for the relative OS
174 Conffile: pb
175 Example: ospathcmd-halt solaris = /usr/sbin/halt, ospathcmd-halt default = /sbin/halt
176
[962]177=item B<osperldep>
178
[989]179 Nature: Optional
180 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
181 Value: coma 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.
182 Conffile: pb
183 Example: osperldep rhel-5 = Module-Build,File-MimeInfo,File-BaseDir,Mail-Sendmail
[962]184
185=item B<osperlver>
186
[989]187 Nature: Mandatory (for each module mentioned in B<osperldep>)
188 Key: Perl Module (as defined in B<osperldep>)
189 Value: Version of the perl module that needs to be found on CPAN.
190 Conffile: pb
191 Example: Date-Manip = 5.54
[962]192
[1133]193=item B<ospkg>
194
195 Nature: Optional (Mandatory if pbinstalltype is pkg)
196 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
197 Value: coma separated list of packages that have to be installed in order for pb to be operational in the VE|VM
198 Conffile: pb
199 Example: ospkg rhel-5 = project-builder
200
[962]201=item B<ospkgdep>
202
[989]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).
205 Value: coma 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.
206 Conffile: pb
207 Example: ospkgdep rhel-5 = wget,make,ntp,patch,perl-DateManip
[962]208
209=item B<osrelambfile>
210
[989]211 Nature: Mandatory (per OS mentioned in B<osambiguous>)
212 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.
213 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.
214 Conffile: pb
215 Example: osrelambfile debian = /etc/debian_version
[962]216
217=item B<osrelexpr>
218
[989]219 Nature: Mandatory (per OS mentioned in B<osrelambfile> and B<osrelfile>)
220 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
221 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)
222 Conffile: pb
[962]223osrelexpr rhel = Red Hat (?:Enterprise Linux|Linux Advanced Server) .*release ([0-9.]+).* \(
[989]224 Example:
[962]225
226=item B<osrelfile>
227
[989]228 Nature: Mandatory
229 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.
230 Value: full path name of the file describing non-ambiguously that distribution. There should be a bijection between the file and the distribution name.
231 Conffile: pb
232 Example: osrelfile fedora = /etc/fedora-release
[962]233
234=item B<osremovedotinver>
235
[989]236 Nature: Optional
237 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
238 Value: true|false. If true, then no '.' (dot) character is kept in the version name of that OS.
239 Conffile: pb
240 Example: osremovedotinver redhat = true
[962]241
[1133]242=item B<osrepo>
243
244 Nature: Optional (Mandatory if pbinstalltype is pkg)
245 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
246 Value: coma separated list of packages or repo file to be added to the VE|VM to support package installation of pb
247 Conffile: pb
248 Example: osrepo rpm = ftp://ftp.project-builder.org/$ddir/$dver/pb.repo
249
[1276]250=item B<ossha>
251
252 Nature: Optional (Mandatory if rpm type of package)
253 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
254 Value: sha algorithm used br createrepo
255 Conffile: pb
256 Example: ossha fedora-10 = sha1
257
[962]258=item B<ossuffix>
259
[989]260 Nature: Optional
261 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
262 Value: suffix that will be used in the name of the packages created. By default, concatenation of OS name and version.
263 Conffile: pb
264 Example: ossuffix mandriva = mdv
[962]265
266=item B<ostype>
267
[989]268 Nature: Mandatory
269 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.
270 Value: build type grouping packages family. This is used internaly by pb to make various handling depending on that build type.
271 Conffile: pb
272 Example: ostype rh = rpm, ostype md = rpm, ostype novell = rpm
[962]273
274=item B<osupd>
275
[989]276 Nature: Optional
277 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.
[1111]278 Value: OS command to lauch in order to automatically update th VM|VE
[989]279 Conffile: pb
[1111]280 Example: osupd fedora = sudo yum -y update
[962]281
282=item B<pbconfurl>
283
[989]284 Nature: Mandatory
285 Key: project (as defined in the -p option or PBPROJ environment variable)
286 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
287 Conffile: home|project
288 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
[962]289
290=item B<pbdefdir>
291
[989]292 Nature: Optional
293 Key: project (as defined in the -p option or PBPROJ environment variable)
294 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.
295 Conffile: home
296 Example: pbdefdir default = $ENV{'HOME'}/local/pb/projects
[962]297
[1109]298=item B<pbinstalltype>
299
300 Nature: Mandatory
301 Key: project (as defined in the -p option or PBPROJ environment variable)
302 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.
303 Conffile: pb
304
[962]305=item B<pbml>
306
[989]307 Nature: Optional (Mandatory if using announce command)
308 Key: project (as defined in the -p option or PBPROJ environment variable)
309 Value: white space separated list of e-mail adresses used to send announces with the pb announce option.
310 Conffile: project
311 Example: pbml pb = pb-announce@project-builder.org pb-devel@project-builder.org
[962]312
313=item B<pbpackager>
314
[989]315 Nature: Mandatory
316 Key: project (as defined in the -p option or PBPROJ environment variable)
317 Value: Firstname Name and e-mail address of the person packaging the software.
318 Conffile: project
319 Example: pbpackager pb = Bruno Cornec <bruno@project-builder.org>
[962]320
[1126]321=item B<pbparallel>
322
323 Nature: Optional
324 Key: tool (pb or rpmbootstrap)
325 Value: number of processes to execute in parallel. By default use the number of cores.
326 Conffile: pb
327 Example: pbparallel pb = 12
328
[1278]329=item B<pbpassfile>
330
331 Nature: Optional
332 Key: project (as defined in the -p option or PBPROJ environment variable)
333 Value: File containing the GPG passphrase that is used to sign packages
334 Conffile: home
335 Example: pbpassfile pb = /users/me/secret/passfile
336
337=item B<pbpasspath>
338
339 Nature: Optional
340 Key: project (as defined in the -p option or PBPROJ environment variable)
341 Value: The directory under which will be found your secret key file.
342 Conffile: home
343 Example: pbpasspath pb = /home/me/.gnupg
344
345=item B<pbpassphrase>
346
347 Nature: Optional
348 Key: project (as defined in the -p option or PBPROJ environment variable)
349 Value: The GPG passphrase that is used to sign packages. Putting it in your conf file has security implications.
350 Conffile: home
351 Example: pbpassphrase pb = TheSecretPassPhrase
352
[962]353=item B<pbprojdir>
354
[989]355 Nature: Optional
356 Key: project (as defined in the -p option or PBPROJ environment variable)
357 Value: local directory under which the project is locally exported. NB: a default value is highly interesting here. By default pbdefdir/projectname
358 Conffile: home
359 Example: pbprojdir mondorescue = $ENV{'HOME'}/local/mondorescue
[962]360
361=item B<pbrepo>
362
[989]363 Nature: Mandatory
364 Key: project (as defined in the -p option or PBPROJ environment variable)
365 Value: URL of the server hosting the upstream tar file.
366 Conffile: project
367 Example: pbrepo mondorescue = ftp://ftp.mondorescue.org
[962]368
369=item B<pbsmtp>
370
[989]371 Nature: Optional (Mandatory if using the announce command)
372 Key: project (as defined in the -p option or PBPROJ environment variable)
373 Value: FQDN of the mail server to use to send announces. NB: a default value is highly interesting here.
374 Conffile: home
375 Example: pbsmtp mondorescue = localhost
[962]376
377=item B<pbsockscmd>
378
[989]379 Nature: Optional
380 Key: project (as defined in the -p option or PBPROJ environment variable)
381 Value: name of the command to use to socksify network calls. NB: a default value is highly interesting here.
382 Conffile: home
383 Example: pbsockscmd default = tsocks
[962]384
385=item B<pburl>
[985]386
[989]387 Nature: Optional
388 Key: project (as defined in the -p option or PBPROJ environment variable)
389 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
390 Conffile: home|project
391 Example: pburl linuxcoe = cvs+ssh://:ext:user@linuxcoe.cvs.sourceforge.net:/cvsroot/linuxcoe, pburl pb = svk:////local/pb
[985]392
[962]393=item B<pbwf>
[985]394
[989]395 Nature: Optional
396 Key: project (as defined in the -p option or PBPROJ environment variable)
397 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.
398 Conffile: project
399 Example: pbwf afio = 1
[985]400
[962]401=item B<pkgtag>
[985]402
[989]403 Nature: Optional
404 Key: package (as provided in defpkgdir or extpkgdir)
405 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).
406 Conffile: project
407 Example: pkgtag mindi-busybox = 2
[985]408
[962]409=item B<pkgver>
[985]410
[989]411 Nature: Optional
412 Key: package (as provided in defpkgdir or extpkgdir)
413 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>.
414 Conffile: project
415 Example: pkgver mindi-busybox = 1.7.3
[985]416
[962]417=item B<projtag>
[986]418
[989]419 Nature: Mandatory
420 Key: project (as defined in the -p option or PBPROJ environment variable)
421 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>.
422 Conffile: project
423 Example: projtag mondorescue = 1
[986]424
[962]425=item B<projver>
[986]426
[989]427 Nature: Mandatory
428 Key: project (as defined in the -p option or PBPROJ environment variable)
429 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>.
430 Conffile: project
431 Example: projver mondorescue = 2.2.9
[986]432
433=item B<rbsconf>
434
[989]435 Nature: Optional
436 Key: project (as defined in the -p option or PBPROJ environment variable)
437 Value: for mock it's the configuration directory. For rinse it's its configuration file. For rpmbootstrap it's not used yet.
438 Conffile: ve
439 Example: rbsconf default = /etc/mock, rbsconf default = /etc/pb/pb-rinse.conf
[986]440
441=item B<rbsb4pi>
442
[989]443 Nature: Optional
444 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.
445 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.
446 Conffile: ve
447 Example: rbsb4pi centos = /home/rinse/bin/before-post-install.sh
[986]448
[1027]449=item B<rbsopt>
450
451 Nature: Optional
452 Key: tool used for rpm based VE. Could be one of rpmbootstrap, rinse, mock, ...
453 Value: Additional option to pass to the command
454 Conffile: ve
455 Example: rbsopt rpmbootstrap = -k
456
[987]457=item B<rbspi>
458
[989]459 Nature: Optional
460 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.
461 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.
462 Conffile: ve
[1027]463 Example: rbspi centos = /home/rinse/bin/post-install.sh
[987]464
[1176]465=item B<rmhost>
466
467 Nature: Mandatory
468 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.
469 Value: IP address or name of the Remote Machine running the OS mentioned in the key, accessed through ssh.
470 Conffile: rm
471 Example: rmhost default = localhost - rmhost hpux-11.3-ia64 = 10.10.10.10 - rmhost mandriva-2010.2-x86_64 = machine1.domain.name
472
473=item B<rmlist>
474
475 Nature: Mandatory
476 Key: project (as defined in the -p option or PBPROJ environment variable)
477 Value: list of coma separated OS (under the form of os-ver-arch). The corresponding machines running these distributions are given in the rmpool parameter.
478 Conffile: rm
479 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
480
481=item B<rmlogin>
482
483 Nature: Mandatory
484 Key: project (as defined in the -p option or PBPROJ environment variable)
485 Value: account name to use on the Remote Machine to build packages. Communication is done with ssh.
486 Conffile: rm
487 Example: rmlogin default = pb
488
489=item B<rmmonport>
490
491 Nature: Optional
492 Key: project (as defined in the -p option or PBPROJ environment variable)
493 Value: TCP port that is used to dialog with the monitor of the Remote Machine, to pass orders.
494 Conffile: rm
495 Example: rmmonport default = 4444
496
497=item B<rmntp>
498
499 Nature: Optional
500 Key: project (as defined in the -p option or PBPROJ environment variable)
501 Value: NTP server to contact for time accuracy with B<rmntpcmd> before building.
502 Conffile: rm
503 Example: rmntp default = 1.pool.ntp.org
504
505=item B<rmntpcmd>
506
[1215]507 Nature: Mandatory
[1216]508 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
[1215]509 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.
[1176]510 Conffile: rm
[1215]511 Example: rmntpcmd default = /usr/sbin/ntpdate,rmntpcmd opensuse-10.1-i386 = /usr/sbin/sntp -P no -r
[1176]512
513=item B<rmpath>
514
515 Nature: Mandatory
516 Key: project (as defined in the -p option or PBPROJ environment variable)
517 Value: path where to find configuration file for Remote Machines management.
518 Conffile: rm
519 Example: rmpath default = /home/remote
520
521=item B<rmport>
522
523 Nature: Mandatory
[1216]524 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
[1176]525 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.
526 Conffile: rm
527 Example: rmport pb = 2222,rmport mondorescue = 2223
528
529=item B<rmtmout>
530
531 Nature: Optional
532 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.
[1217]533 Value: Time in seconds to wait before interacting with the RM. This may correspond to the time the RM takes to boot.
[1176]534 Conffile: rm
[1217]535 Example: rmtmout default = 10
[1176]536
537=item B<rmtype>
538
539 Nature: Mandatory
540 Key: project (as defined in the -p option or PBPROJ environment variable)
541 Value: ssh. For the moment, only ssh is supported as a communication means with RM.
542 Conffile: rm
543 Example: rmrtype default = ssh
544
[1216]545=item B<sshdir>
[1176]546
[1216]547 Nature: Mandatory
548 Key: project (as defined in the -p option or PBPROJ environment variable)
549 Value: dirname into which packages are uploaded on the B<sshhost> machine.
550 Conffile: project
551 Example: sshdir mondorescue = /pub/mondorescue
552
553=item B<sshhost>
554
555 Nature: Mandatory
556 Key: project (as defined in the -p option or PBPROJ environment variable)
557 Value: hostname to connect to in order to deliver packages to the repository server.
558 Conffile: project
559 Example: sshhost mondorescue = ftp.mondorescue.org
560
561=item B<sshlogin>
562
563 Nature: Mandatory
564 Key: project (as defined in the -p option or PBPROJ environment variable)
565 Value: login to use when connecting to the repository server B<sshhost> for package delivery.
566 Conffile: project
567 Example: sshlogin mondorescue = mylogin
568
569=item B<sshport>
570
571 Nature: Mandatory
572 Key: project (as defined in the -p option or PBPROJ environment variable)
573 Value: port to use when connecting to the repository server B<sshhost> for package delivery.
574 Conffile: project
575 Example: sshport mondorescue = 22
576
[962]577=item B<supfiles>
[986]578
579Not used yet.
580
[962]581=item B<testver>
[986]582
[989]583 Nature: Optional
584 Key: project (as defined in the -p option or PBPROJ environment variable)
585 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.
586 Conffile: project
587 Example: testver mondorescue = true
[986]588
[962]589=item B<vedebtype>
[986]590
[989]591 Nature: Mandatory
592 Key: project (as defined in the -p option or PBPROJ environment variable)
593 Value: debootstrap (no other tool to create deb distro based chroot)
594 Conffile: ve
595 Example: vedebtype default = debootstrap
[986]596
[962]597=item B<velist>
[986]598
[989]599 Nature: Mandatory
600 Key: project (as defined in the -p option or PBPROJ environment variable)
601 Value: list of coma separated OS (under the form of os-ver-arch).
602 Conffile: ve
603 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
[986]604
[962]605=item B<velogin>
[986]606
[989]607 Nature: Mandatory
608 Key: project (as defined in the -p option or PBPROJ environment variable)
609 Value: account name to use in the VE to build packages.
610 Conffile: ve
611 Example: velogin default = pb
[986]612
[962]613=item B<ventp>
[986]614
[989]615 Nature: Optional
616 Key: project (as defined in the -p option or PBPROJ environment variable)
617 Value: NTP server to contact for time accuracy with B<ventpcmd> before building.
618 Conffile: ve
619 Example: ventp default = 1.pool.ntp.org
[986]620
[962]621=item B<ventpcmd>
[986]622
[1215]623 Nature: Mandatory
[989]624 Key: project (as defined in the -p option or PBPROJ environment variable)
[1215]625 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.
[989]626 Conffile: ve
627 Example: ventpcmd default = /usr/sbin/ntpdate
[986]628
[962]629=item B<vepath>
[986]630
[989]631 Nature: Mandatory
632 Key: project (as defined in the -p option or PBPROJ environment variable)
633 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.
634 Conffile: ve
635 Example: vepath default = /home/rpmbootstrap
[986]636
[962]637=item B<verebuild>
[987]638
[989]639 Nature: Optional
640 Key: project (as defined in the -p option or PBPROJ environment variable)
641 Value: true|false. True means that the VE should be rebuild before usage.
642 Conffile: ve
[1215]643 Example: verebuild default = true
[987]644
[962]645=item B<verpmtype>
[987]646
[989]647 Nature: Mandatory
648 Key: project (as defined in the -p option or PBPROJ environment variable)
649 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).
650 Conffile: ve
651 Example: verpmtype default = rpmbootstrap
[987]652
[962]653=item B<vesnap>
[988]654
[989]655 Nature: Optional
656 Key: project (as defined in the -p option or PBPROJ environment variable)
657 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.
658 Conffile: ve
659 Example: vesnap default = true
[988]660
[962]661=item B<vetype>
[986]662
[989]663 Nature: Mandatory
664 Key: project (as defined in the -p option or PBPROJ environment variable)
665 Value: chroot|schroot. There are two different ways of launching a chroot activity in pb. For the moment only chroot has been tested.
666 Conffile: ve
667 Example: vertype default = chroot
[988]668
[1153]669=item B<vmbuildtm>
670
671 Nature: Optional
672 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
673 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.
674 Conffile: project
675 Example: vmbuildtm default = 600,vmbuildtm mandriva-2009.0-x86_64 = 1200
676
[1072]677=item B<vmcmd>
678
679 Nature: Mandatory
680 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.
681 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.
682 Conffile: vm
683 Example: vmcmd default = /usr/bin/kvm
684
[962]685=item B<vmhost>
[988]686
[989]687 Nature: Mandatory
[1216]688 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
[989]689 Value: hostname to connect to in order to reach the VM through ssh. Generally redirected from a port on localhost.
690 Conffile: vm
691 Example: vmhost default = localhost
[988]692
[962]693=item B<vmlist>
[986]694
[989]695 Nature: Mandatory
696 Key: project (as defined in the -p option or PBPROJ environment variable)
697 Value: list of coma separated OS (under the form of os-ver-arch).
698 Conffile: vm
699 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
[986]700
[962]701=item B<vmlogin>
[987]702
[989]703 Nature: Mandatory
704 Key: project (as defined in the -p option or PBPROJ environment variable)
705 Value: account name to use in the VM to build packages. Communication is done with ssh.
706 Conffile: vm
707 Example: vmlogin default = pb
[987]708
[1153]709=item B<vmmem>
710
711 Nature: Optional
[1216]712 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
[1153]713 Value: Memory size in MB to allocate to the VM.
714 Conffile: vm
715 Example: vmmem default = 512
716
[962]717=item B<vmmonport>
[988]718
[989]719 Nature: Optional
720 Key: project (as defined in the -p option or PBPROJ environment variable)
721 Value: TCP port that is used to dialog with the monitor of the VM, to pass orders such as snapshot. Not really operational yet.
722 Conffile: vm
723 Example: vmmonport default = 4444
[988]724
[962]725=item B<vmntp>
[987]726
[989]727 Nature: Optional
728 Key: project (as defined in the -p option or PBPROJ environment variable)
729 Value: NTP server to contact for time accuracy with B<vmntpcmd> before building.
730 Conffile: vm
731 Example: vmntp default = 1.pool.ntp.org
[987]732
[962]733=item B<vmntpcmd>
[987]734
[1215]735 Nature: Mandatory
[1216]736 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
[1215]737 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.
[989]738 Conffile: vm
[1215]739 Example: vmntpcmd default = /usr/sbin/ntpdate,vmntpcmd opensuse-11.0-i386 = /usr/sbin/sntp -P no -r
[987]740
[962]741=item B<vmopt>
[988]742
[989]743 Nature: Optional
744 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.
745 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.
746 Conffile: vm
747 Example: vmopt default = -m 384 -daemonize,vmopt mandriva-2009.0-i386 = -m 256 -daemonize -no-kvm
[988]748
[962]749=item B<vmpath>
[987]750
[989]751 Nature: Mandatory
752 Key: project (as defined in the -p option or PBPROJ environment variable)
753 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.
754 Conffile: vm
755 Example: vmpath default = /home/qemu
[987]756
[962]757=item B<vmport>
[988]758
[989]759 Nature: Mandatory
760 Key: project (as defined in the -p option or PBPROJ environment variable)
761 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.
762 Conffile: vm
763 Example: vmport pb = 2222,vmport mondorescue = 2223
[988]764
[962]765=item B<vmsize>
[988]766
[989]767 Nature: Mandatory
[1216]768 Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
[989]769 Value: Size of the VM to create when using the newvm command of pb.
770 Conffile: vm
771 Example: vmsize default = 7G
[988]772
[962]773=item B<vmsnap>
[988]774
[989]775 Nature: Optional
776 Key: project (as defined in the -p option or PBPROJ environment variable)
777 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.
778 Conffile: vm
779 Example: vmsnap default = true
[988]780
[962]781=item B<vmtmout>
[988]782
[989]783 Nature: Optional
784 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.
[1153]785 Value: Time in seconds to wait before interacting with the VM. This should correspond to the time the VM takes to boot.
[989]786 Conffile: vm
787 Example: vmtmout default = 180,vmtmout mandriva-2009.0-x86_64 = 500
[988]788
[962]789=item B<vmtype>
[988]790
[989]791 Nature: Mandatory
792 Key: project (as defined in the -p option or PBPROJ environment variable)
793 Value: qemu|kvm. For the moment, only QEMU or KVM are supported as virtualization technologies.
794 Conffile: vm
795 Example: vmrtype default = kvm
[988]796
[962]797=item B<webdir>
798
[989]799 Nature: Optional
800 Key: project (as defined in the -p option or PBPROJ environment variable)
[1115]801 Value: Target directory containing the web content in the project that should be delivered when using the sbx|cms2webssh|pkg command of pb.
[989]802 Conffile: project
803 Example: webdir mondorescue = website
[988]804
[1216]805=item B<websshdir>
806
807 Nature: Optional (when not using *2webssh commands)
808 Key: project (as defined in the -p option or PBPROJ environment variable)
809 Value: dirname into which content is uploaded on the B<websshhost> machine.
810 Conffile: project
811 Example: websshdir mondorescue = /var/www/html
812
813=item B<websshhost>
814
815 Nature: Optional (when not using *2webssh commands)
816 Key: project (as defined in the -p option or PBPROJ environment variable)
817 Value: hostname to connect to in order to deliver content to the Web server.
818 Conffile: project
819 Example: websshhost mondorescue = www.mondorescue.org
820
821=item B<websshlogin>
822
823 Nature: Optional (when not using *2webssh commands)
824 Key: project (as defined in the -p option or PBPROJ environment variable)
825 Value: login to use when connecting to the Web server B<websshhost> for content delivery.
826 Conffile: project
827 Example: websshlogin mondorescue = mylogin
828
829=item B<websshport>
830
831 Nature: Optional (when not using *2webssh commands)
832 Key: project (as defined in the -p option or PBPROJ environment variable)
833 Value: port to use when connecting to the Web server B<websshhost> for content delivery.
834 Conffile: project
835 Example: websshport mondorescue = 22
836
[1117]837=back
[989]838
[1117]839=head1 OTHER PARAMETERS
840=item B<pb_URL>
841=item B<pb_directory_desc>
842=item B<pb_environment_variables>
Note: See TracBrowser for help on using the repository browser.