source: ProjectBuilder/devel/pb-doc/pb.conf.pod@ 962

Last change on this file since 962 was 962, checked in by Bruno Cornec, 14 years ago

r3656@localhost: bruno | 2010-02-06 20:14:21 +0100

  • Adds a reference document for all configuration files parameters (half done)
  • Fix typo in pod format for Distribution.pm
  • Adds centos support for setup of VE
File size: 10.4 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 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
19=head1 OPTIONS
20
21=over 4
22
23=item B<defpkgdir>>
24
25Key: project (as defined in the -p option or PBPROJ environment variable)
26Value: 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.
27Conffile: project
28Example: defpkgdir mondorescue = mondo,mindi
29NB: a default value is not really meaningful.
30
31=item B<extpkgdir>
32
33Key: project (as defined in the -p option or PBPROJ environment variable)
34Value: 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.
35Conffile: project
36Example: extpkgdir mondorescue = mondo-doc,mindi-mindibusybox
37
38=item B<filteredfiles>
39
40Key: package (as provided in defpkgdir or extpkgdir)
41Value: 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.
42Conffile: project
43Example: filteredfiles mindi = rootfs/sbin/init,mindi,install.sh,doc/mindi.8
44
45=item B<namingtype>
46
47Key: package (as provided in defpkgdir or extpkgdir)
48Value: 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)
49Conffile: project
50Example: namingtype ProjectBuilder = perl
51
52=item B<osambiguous>
53
54Key: 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.
55Value: 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>
56Conffile: pb
57Example: osambiguous debian = debian,ubuntu
58
59=item B<oscodename>
60
61Key: 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.
62Value: code name. Mostly useful for debian and ubuntu, due to debootstrap.
63Conffile: pb
64Example: oscodename debian-5.0 = lenny
65
66=item B<osfamily>
67
68Key: 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.
69Value: OS family name (used to group similar distribution for handling)
70Conffile: pb
71Example: osfamily debian = du
72
73=item B<osmindep>
74
75Key: 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.
76Value: 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.
77Conffile: pb
78Example: osmindep default = perl,sudo,wget,tar,make,gzip
79
80=item B<osnover>
81
82Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
83Value: true|false. True means that this OS has no need to keep the version
84Conffile: pb
85Example: osnover gentoo = true
86
87=item B<osperldep>
88
89Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
90Value: 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.
91Conffile: pb
92Example: osperldep rhel-5 = Module-Build,File-MimeInfo,File-BaseDir,Mail-Sendmail
93
94=item B<osperlver>
95
96Key: Perl Module (as defined in B<osperldep>)
97Value: Version of the perl module that needs to be found on CPAN.
98Conffile: pb
99Example: Date-Manip = 5.54
100
101=item B<ospkgdep>
102
103Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
104Value: 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.
105Conffile: pb
106Example: ospkgdep rhel-5 = wget,make,ntp,patch,perl-DateManip
107
108=item B<osrelambfile>
109
110Key: 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.
111Value: 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 amiguous other distribution in the B<osambiguous> parameter.
112Conffile: pb
113Example: osrelambfile debian = /etc/debian_version
114
115=item B<osrelexpr>
116
117Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
118Value: 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)
119Conffile: pb
120osrelexpr rhel = Red Hat (?:Enterprise Linux|Linux Advanced Server) .*release ([0-9.]+).* \(
121Example:
122
123=item B<osrelfile>
124
125Key: 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.
126Value: full path name of the file describing non-ambiguously that distribution. THere should be q bijection between the file qnd the distribution name.
127Conffile: pb
128Example: osrelfile fedora = /etc/fedora-release
129
130=item B<osremovedotinver>
131
132Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
133Value: true|false. If true, then no '.' (dot) character is kept in the version name of that OS.
134Conffile: pb
135Example: osremovedotinver redhat = true
136
137=item B<ossuffix>
138
139Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch).
140Value: suffix that will be used in the name of the packages created. By default, concatenation of OS name and version.
141Conffile: pb
142Example: ossuffix mandriva = mdv
143
144=item B<ostype>
145
146Key: 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.
147Value: build type grouping packages family. This is used internaly by pb to make various handling depending on that build type.
148Conffile: pb
149Example: ostype rh = rpm, ostype md = rpm, ostype novell = rpm
150
151=item B<osupd>
152
153Key: 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.
154Value: OS command to lauch in order to automatically install packages on it.
155Conffile: pb
156Example: ostype rh = rpm, ostype md = rpm, ostype novell = rpm
157
158=item B<pbconfurl>
159
160Key: project (as defined in the -p option or PBPROJ environment variable)
161Value: 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
162Conffile: home
163Example: 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
164
165=item B<pbdefdir>
166
167Key: project (as defined in the -p option or PBPROJ environment variable)
168Value: 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.
169Conffile: home
170Example: pbdefdir default = $ENV{'HOME'}/local/pb/projects
171
172=item B<pbml>
173
174Key: project (as defined in the -p option or PBPROJ environment variable)
175Value: white space separated list of e-mail adresses used to send announces with the pb announce option.
176Conffile: project
177Example: pbml pb = pb-announce@project-builder.org pb-devel@project-builder.org
178
179=item B<pbpackager>
180
181Key: project (as defined in the -p option or PBPROJ environment variable)
182Value: Firstname Name and e-mail address of the person packaging the software.
183Conffile: project
184Example: pbpackager pb = Bruno Cornec <bruno@project-builder.org>
185
186=item B<pbprojdir>
187
188Key: project (as defined in the -p option or PBPROJ environment variable)
189Value: local directory under which the project is locally exported. NB: a default value is highly interesting here.
190Conffile: home
191Example: pbprojdir mondorescue = $ENV{'HOME'}/local/mondorescue
192
193=item B<pbrepo>
194
195Key: project (as defined in the -p option or PBPROJ environment variable)
196Value: URL of the server hosting the upstream tar file.
197Conffile: project
198Example: pbrepo mondorescue = ftp://ftp.mondorescue.org
199
200=item B<pbsmtp>
201
202Key: project (as defined in the -p option or PBPROJ environment variable)
203Value: FQDN of the mail server to use to send announces. NB: a default value is highly interesting here.
204Conffile: home
205Example: pbsmtp mondorescue = localhost
206
207=item B<pbsockscmd>
208
209Nature: Optional
210Key: project (as defined in the -p option or PBPROJ environment variable)
211Value: name of the command to use to socksify network calls.
212Conffile: home
213Example: pbsockscmd default = tsocks
214
215=item B<pburl>
216=item B<pbver>
217=item B<pbwf>
218=item B<pkgtag>
219=item B<pkgver>
220=item B<projtag>
221=item B<projver>
222=item B<supfiles>
223=item B<testver>
224=item B<veb4pi>
225=item B<veconf>
226=item B<vedebtype>
227=item B<velist>
228=item B<velogin>
229=item B<ventp>
230=item B<ventpcmd>
231=item B<vepath>
232=item B<vepi>
233=item B<vepkglist>
234=item B<verebuild>
235=item B<verpmtype>
236=item B<version>
237=item B<vesnap>
238=item B<vetmout>
239=item B<vetype>
240=item B<vmhost>
241=item B<vmlist>
242=item B<vmlogin>
243=item B<vmmonport>
244=item B<vmntp>
245=item B<vmntpcmd>
246=item B<vmopt>
247=item B<vmpath>
248=item B<vmport>
249=item B<vmsize>
250=item B<vmsnap>
251=item B<vmtmout>
252=item B<vmtype>
253=item B<webdir>
254
255=item B<pb URL>
256=item B<pb directory desc>
Note: See TracBrowser for help on using the repository browser.