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

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