=pod =head1 NAME Documentation for pb configuration files =head1 DESCRIPTION pb helps you build various packages directly from your project sources. In 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). =head1 SYNOPSIS Those files have the same format, which is near from a a perl hash structure: keyword key = value1[,value2,...] The 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. =head1 OPTIONS =over 4 =item B> Key: project (as defined in the -p option or PBPROJ environment variable) 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. Conffile: project Example: defpkgdir mondorescue = mondo,mindi NB: a default value is not really meaningful. =item B Key: project (as defined in the -p option or PBPROJ environment variable) 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. Conffile: project Example: extpkgdir mondorescue = mondo-doc,mindi-mindibusybox =item B Key: package (as provided in defpkgdir or extpkgdir) 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. Conffile: project Example: filteredfiles mindi = rootfs/sbin/init,mindi,install.sh,doc/mindi.8 =item B Key: package (as provided in defpkgdir or extpkgdir) 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) Conffile: project Example: namingtype ProjectBuilder = perl =item B 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. 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 Conffile: pb Example: osambiguous debian = debian,ubuntu =item B 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. Value: code name. Mostly useful for debian and ubuntu, due to debootstrap. Conffile: pb Example: oscodename debian-5.0 = lenny =item B 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. Value: OS family name (used to group similar distribution for handling) Conffile: pb Example: osfamily debian = du =item B 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. 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. Conffile: pb Example: osmindep default = perl,sudo,wget,tar,make,gzip =item B Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). Value: true|false. True means that this OS has no need to keep the version Conffile: pb Example: osnover gentoo = true =item B Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). 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. Conffile: pb Example: osperldep rhel-5 = Module-Build,File-MimeInfo,File-BaseDir,Mail-Sendmail =item B Key: Perl Module (as defined in B) Value: Version of the perl module that needs to be found on CPAN. Conffile: pb Example: Date-Manip = 5.54 =item B Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). 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. Conffile: pb Example: ospkgdep rhel-5 = wget,make,ntp,patch,perl-DateManip =item B 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. 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 amiguous other distribution in the B parameter. Conffile: pb Example: osrelambfile debian = /etc/debian_version =item B Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). Value: the perl regular expression used to parse the B in order to extract from it the version of the distribution (in parenthesis to allow its usage as $1 by perl) Conffile: pb osrelexpr rhel = Red Hat (?:Enterprise Linux|Linux Advanced Server) .*release ([0-9.]+).* \( Example: =item B 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. Value: full path name of the file describing non-ambiguously that distribution. THere should be q bijection between the file qnd the distribution name. Conffile: pb Example: osrelfile fedora = /etc/fedora-release =item B Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). Value: true|false. If true, then no '.' (dot) character is kept in the version name of that OS. Conffile: pb Example: osremovedotinver redhat = true =item B Key: OS (could be from the most generic up to the most specific from ostype, osfamily, os, os-ver, os-ver-arch). Value: suffix that will be used in the name of the packages created. By default, concatenation of OS name and version. Conffile: pb Example: ossuffix mandriva = mdv =item B 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. Value: build type grouping packages family. This is used internaly by pb to make various handling depending on that build type. Conffile: pb Example: ostype rh = rpm, ostype md = rpm, ostype novell = rpm =item B 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. Value: OS command to lauch in order to automatically install packages on it. Conffile: pb Example: ostype rh = rpm, ostype md = rpm, ostype novell = rpm =item B Key: project (as defined in the -p option or PBPROJ environment variable) Value: B 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 Conffile: home 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 =item B Key: project (as defined in the -p option or PBPROJ environment variable) 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. Conffile: home Example: pbdefdir default = $ENV{'HOME'}/local/pb/projects =item B Key: project (as defined in the -p option or PBPROJ environment variable) Value: white space separated list of e-mail adresses used to send announces with the pb announce option. Conffile: project Example: pbml pb = pb-announce@project-builder.org pb-devel@project-builder.org =item B Key: project (as defined in the -p option or PBPROJ environment variable) Value: Firstname Name and e-mail address of the person packaging the software. Conffile: project Example: pbpackager pb = Bruno Cornec =item B Key: project (as defined in the -p option or PBPROJ environment variable) Value: local directory under which the project is locally exported. NB: a default value is highly interesting here. Conffile: home Example: pbprojdir mondorescue = $ENV{'HOME'}/local/mondorescue =item B Key: project (as defined in the -p option or PBPROJ environment variable) Value: URL of the server hosting the upstream tar file. Conffile: project Example: pbrepo mondorescue = ftp://ftp.mondorescue.org =item B Key: project (as defined in the -p option or PBPROJ environment variable) Value: FQDN of the mail server to use to send announces. NB: a default value is highly interesting here. Conffile: home Example: pbsmtp mondorescue = localhost =item B Nature: Optional Key: project (as defined in the -p option or PBPROJ environment variable) Value: name of the command to use to socksify network calls. Conffile: home Example: pbsockscmd default = tsocks =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B