Changeset 409


Ignore:
Timestamp:
Apr 25, 2008, 3:13:55 PM (11 years ago)
Author:
bruno
Message:
  • Document all reusable functions in pb
  • remove the useless pbproj parameter from pb_filter functions
  • Addition and use of pb_conf_init and pb_conf_add in pb
  • Addition and use of pb_conf_fromfile_if in Conf.pm
  • preparation for 0.9.1
  • Update of pbinit files for mondo to support the new interface of pb_filter functions
Location:
devel
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • devel/pb-modules/lib/ProjectBuilder/Conf.pm

    r405 r409  
    2222 
    2323our @ISA = qw(Exporter);
    24 our @EXPORT = qw(pb_conf_init pb_conf_read pb_conf_read_if pb_conf_get pb_conf_get_if);
     24our @EXPORT = qw(pb_conf_init pb_conf_add pb_conf_read pb_conf_read_if pb_conf_get pb_conf_get_if);
     25
     26# Global list of conf files
     27our @pbconffiles = ();
    2528
    2629=pod
     
    5760sub pb_conf_init {
    5861
    59 my @conffiles = @_;
     62@pbconffiles = @_;
     63}
     64
     65=item B<pb_conf_add>
     66
     67This function adds the configuration file to the list last.
     68
     69=cut
     70
     71sub pb_conf_add {
     72
     73my $f = shift;
     74
     75push(@pbconffiles,"$f");
    6076}
    6177
     
    84100
    85101  $k1->{'pb'}  contains 3
    86   $ka->{'default'} contains 1
     102  $k1->{'default'} contains 1
    87103  $k2->{'pb'} contains 12,25
    88104
     
    130146}
    131147
    132 
    133 # Function which returns a pointer on a table
    134 # corresponding to a set of values queried in the conf file
    135 # and test the returned vaue as they need to exist in that case
    136 sub pb_conf_get {
    137 
    138 my @param = @_;
    139 my @return = pb_conf_get_if(@param);
    140 
    141 die "No params found for $ENV{'PBPROJ'}" if (not @return);
    142 
    143 foreach my $i (0..$#param) {
    144     die "No $param[$i] defined for $ENV{'PBPROJ'}" if (not defined $return[$i]);
    145 }
    146 return(@return);
    147 }
    148 
    149 # Function which returns a pointer on a table
    150 # corresponding to a set of values queried in the conf file
    151 # Those value may be undef if they do not exist
     148=item B<pb_conf_get_if>
     149
     150This function returns a table, corresponding to a set of values querried in the conf files or undef if it doen't exist. It takes a table of keys as an input parameter.
     151
     152The format of the configurations file is as follows:
     153
     154key tag = value1,value2,...
     155
     156It will gather the values from all the configurations files passed to pb_conf_init, and return the values for the keys, taking in account the order of conf files, to manage overloading.
     157
     158  $ cat $HOME/.pbrc
     159  pbver pb = 1
     160  pblist pb = 4
     161  $ cat $HOME/.pbrc2
     162  pbver pb = 3
     163  pblist default = 5
     164
     165calling it like this:
     166
     167  pb_conf_init("$HOME/.pbrc","$HOME/.pbrc2");
     168  my ($k1, $k2) = pb_conf_get_if("pbver","pblist");
     169
     170will allow to get the mapping:
     171
     172  $k1->{'pb'} contains 3
     173  $k2->{'pb'} contains 4
     174
     175Valid chars for keys and tags are letters, numbers, '-' and '_'.
     176
     177=cut
     178
    152179sub pb_conf_get_if {
    153180
     181my @param = @_;
     182
     183my $ptr = undef;
     184
     185# the most important conf file is first, so read them in revers order
     186foreach my $f (reverse @pbconffiles) {
     187    $ptr = pb_conf_get_fromfile_if("$f",$ptr,@param);
     188}
     189
     190return(@$ptr);
     191}
     192
     193=item B<pb_conf_fromfile_if>
     194
     195This function returns a pointer on a table, corresponding to a merge of values querried in the conf file and the pointer on another table passed as parameter. It takes a table of keys as last input parameter.
     196
     197  my ($k1) = pb_conf_fromfile_if("$HOME/.pbrc",undef,"pbver","pblist");
     198  my ($k2) = pb_conf_fromfile_if("$HOME/.pbrc3",$k1,"pbver","pblist");
     199
     200It is used internally by pb_conf_get_if and is not exported yet.
     201
     202=cut
     203
     204
     205sub pb_conf_get_fromfile_if {
     206
     207my $conffile = shift;
     208my $ptr2 = shift || undef;
    154209my @param = @_;
    155210
     
    157212my @ptr1 = ();
    158213my @ptr2 = ();
    159 @ptr1 = pb_conf_read_if("$ENV{'PBETC'}", @param) if (defined $ENV{'PBETC'});
    160 @ptr2 = pb_conf_read_if("$ENV{'PBROOTDIR'}/$ENV{'PBPROJ'}.pb", @param) if ((defined $ENV{'PBROOTDIR'}) and (defined $ENV{'PBPROJ'}));
     214
     215# @ptr1 contains the values overloading what @ptr2 may contain.
     216@ptr1 = pb_conf_read_if("$conffile", @param) if (defined $conffile);
     217@ptr2 = @$ptr2 if (defined $ptr2);
    161218
    162219my $p1;
     
    169226    $p1 = $ptr1[$i];
    170227    $p2 = $ptr2[$i];
    171     # Always try to take the param from the home dir conf file in priority
    172     # in order to mask what could be defined under the CMS to allow for overloading
     228    # Always try to take the param from ptr1
     229    # in order to mask what could be defined already in ptr2
    173230    if (not defined $p2) {
    174         # No ref in CMS project conf file so use the home dir one.
     231        # No ref in p2 so use p1
    175232        $p1->{$ENV{'PBPROJ'}} = $p1->{'default'} if ((not defined $p1->{$ENV{'PBPROJ'}}) && (defined $p1->{'default'}));
    176233    } else {
    177         # Ref found in CMS project conf file
     234        # Ref found in p2
    178235        if (not defined $p1) {
    179             # No ref in home dir project conf file so use the CMS one.
     236            # No ref in p1 so use p2's value
    180237            $p2->{$ENV{'PBPROJ'}} = $p2->{'default'} if ((not defined $p2->{$ENV{'PBPROJ'}}) && (defined $p2->{'default'}));
    181238            $p1 = $p2;
     
    196253            }
    197254            # Now copy back into p1 all p2 content which doesn't exist in p1
    198             # p1 content (local) always has priority over p2 (project)
     255            # p1 content always has priority over p2
    199256            foreach my $k (keys %$p2) {
    200257                $p1->{$k} = $p2->{$k} if (not defined $p1->{$k});
     
    205262}
    206263pb_log(2,"DEBUG: pb_conf_get param ptr1: ".Dumper(@ptr1)."\n");
    207 return(@ptr1);
    208 }
    209 
     264return(\@ptr1);
     265}
     266
     267=item B<pb_conf_get>
     268
     269This function is the same B<pb_conf_get_if>, except that it tests each returned value as they need to exist in that case.
     270
     271=cut
     272
     273sub pb_conf_get {
     274
     275my @param = @_;
     276my @return = pb_conf_get_if(@param);
     277
     278die "No params found for $ENV{'PBPROJ'}" if (not @return);
     279
     280foreach my $i (0..$#param) {
     281    die "No $param[$i] defined for $ENV{'PBPROJ'}" if (not defined $return[$i]);
     282}
     283return(@return);
     284}
    210285
    211286=back
  • devel/pb/bin/pb

    r405 r409  
    551551            if (defined $ptr) {
    552552                foreach my $f (values %bfiles,values %pkgfiles) {
    553                     pb_filter_file_pb("$ENV{'PBROOTDIR'}/$f",$ptr,"$dest/pbconf/$ddir-$dver/".basename($f),$dtype,$pbsuf,$ENV{'PBPROJ'},$pbpkg,$pbver,$pbtag,$pbrev,$pbdate,$defpkgdir,$extpkgdir,$ENV{'PBPACKAGER'},$chglog);
     553                    pb_filter_file_pb("$ENV{'PBROOTDIR'}/$f",$ptr,"$dest/pbconf/$ddir-$dver/".basename($f),$dtype,$pbsuf,$pbpkg,$pbver,$pbtag,$pbrev,$pbdate,$defpkgdir,$extpkgdir,$ENV{'PBPACKAGER'},$chglog);
    554554                }
    555555            }
     
    573573        if (defined $filteredfiles->{$pbpkg}) {
    574574            foreach my $f (split(/,/,$filteredfiles->{$pbpkg})) {
    575                 pb_filter_file_inplace($ptr,"$dest/$f",$ENV{'PBPROJ'},$pbpkg,$pbver,$pbtag,$pbrev,$pbdate,$ENV{'PBPACKAGER'});
     575                pb_filter_file_inplace($ptr,"$dest/$f",$pbpkg,$pbver,$pbtag,$pbrev,$pbdate,$ENV{'PBPACKAGER'});
    576576                $liste = "$f $liste";
    577577            }
     
    581581        # Prepare the dest directory for archive
    582582        if (-x "$ENV{'PBROOTDIR'}/$pbpkg/pbinit") {
    583             pb_filter_file("$ENV{'PBROOTDIR'}/$pbpkg/pbinit",$ptr,"$ENV{'PBTMP'}/pbinit",$ENV{'PBPROJ'},$pbpkg,$pbver,$pbtag,$pbrev,$pbdate,$ENV{'PBPACKAGER'});
     583            pb_filter_file("$ENV{'PBROOTDIR'}/$pbpkg/pbinit",$ptr,"$ENV{'PBTMP'}/pbinit",$pbpkg,$pbver,$pbtag,$pbrev,$pbdate,$ENV{'PBPACKAGER'});
    584584            chmod 0755,"$ENV{'PBTMP'}/pbinit";
    585585            pb_system("cd $dest ; $ENV{'PBTMP'}/pbinit","Executing init script from $ENV{'PBROOTDIR'}/$pbpkg/pbinit");
     
    16501650$ENV{'PBETC'} = "$ENV{'HOME'}/.pbrc";
    16511651
     1652# We only have one configuration file for now.
     1653pb_conf_init("$ENV{'PBETC'}");
     1654
    16521655#
    16531656# Check project name
     
    18301833    }
    18311834
    1832     return  if ($action =~ /^newver$/);
     1835    # Adds that conf file to the list to consider
     1836    pb_conf_add("$ENV{'PBROOTDIR'}/$ENV{'PBPROJ'}.pb") if (-f "$ENV{'PBROOTDIR'}/$ENV{'PBPROJ'}.pb");
     1837
     1838    return if ($action =~ /^newver$/);
    18331839
    18341840    my %version = ();
     
    18391845   
    18401846    if ((-f "$ENV{'PBROOTDIR'}/$ENV{'PBPROJ'}.pb") and (not defined $pbinit)) {
     1847
    18411848        # List of pkg to build by default (mandatory)
    18421849        my ($defpkgdir,$pbpackager, $pkgv, $pkgt) = pb_conf_get("defpkgdir","pbpackager","projver","projtag");
  • devel/pb/lib/ProjectBuilder/CMS.pm

    r405 r409  
    2929 
    3030our @ISA = qw(Exporter);
    31 our @EXPORT = qw(pb_cms_init pb_cms_export pb_cms_get_uri pb_cms_copy pb_cms_checkout pb_cms_up pb_cms_checkin pb_cms_isdiff pb_cms_get_pkg pb_cms_compliant pb_cms_log pb_cms_create_authors);
     31our @EXPORT = qw(pb_cms_init pb_cms_export pb_cms_get_uri pb_cms_copy pb_cms_checkout pb_cms_up pb_cms_checkin pb_cms_isdiff pb_cms_get_pkg pb_cms_compliant pb_cms_log);
    3232
    3333=pod
     
    3535=head1 NAME
    3636
    37 ProjectBuilder::CMS, part of the project-builder.org - module dealing with configuration management system functions suitable for pbinit calls.
     37ProjectBuilder::CMS, part of the project-builder.org
    3838
    3939=head1 DESCRIPTION
     
    4141This modules provides configuration management system functions suitable for pbinit calls.
    4242
    43 =cut
    44 
    45 # Setup environment for CMS system for URL passed
     43=head1 USAGE
     44
     45=over 4
     46
     47=item B<pb_cms_init>
     48
     49This function setup the environment for the CMS system related to the URL given by the pburl configuration parameter.
     50The potential parameter indicates whether we should inititate the context or not.
     51It sets up environement variables (PBPROJDIR, PBDIR, PBREVISION, PBCMSLOGFILE)
     52
     53=cut
     54
    4655sub pb_cms_init {
    4756
     
    95104return($scheme,$pburl->{$ENV{'PBPROJ'}});
    96105}
     106
     107=item B<pb_cms_export>
     108
     109This function exports a CMS content to a directory.
     110The first parameter is the URL of the CMS content.
     111The second parameter is the directory in which it is locally exposed (result of a checkout).
     112The third parameter is the directory where we want to deliver it (result of export).
     113
     114=cut
    97115
    98116sub pb_cms_export {
     
    186204}
    187205
    188 # This function is only called with a real CMS system
     206=item B<pb_cms_get_uri>
     207
     208This function is only called with a real CMS system and gives the URL stored in the checked out directory.
     209The first parameter is the schema of the CMS systems (svn, cvs, svn+ssh, ...)
     210The second parameter is the directory in which it is locally exposed (result of a checkout).
     211
     212=cut
     213
    189214sub pb_cms_get_uri {
    190215
     
    234259}
    235260
     261=item B<pb_cms_copy>
     262
     263This function copies a CMS content to another.
     264The first parameter is the schema of the CMS systems (svn, cvs, svn+ssh, ...)
     265The second parameter is the URL of the original CMS content.
     266The third parameter is the URL of the destination CMS content.
     267
     268Only coded for SVN now.
     269
     270=cut
     271
    236272sub pb_cms_copy {
    237273my $scheme = shift;
     
    248284}
    249285
     286=item B<pb_cms_checkout>
     287
     288This function checks a CMS content out to a directory.
     289The first parameter is the schema of the CMS systems (svn, cvs, svn+ssh, ...)
     290The second parameter is the URL of the CMS content.
     291The third parameter is the directory where we want to deliver it (result of export).
     292
     293=cut
     294
    250295sub pb_cms_checkout {
    251296my $scheme = shift;
     
    264309}
    265310
     311=item B<pb_cms_up>
     312
     313This function updates a local directory with the CMS content.
     314The first parameter is the schema of the CMS systems (svn, cvs, svn+ssh, ...)
     315The second parameter is the directory to update.
     316
     317=cut
     318
    266319sub pb_cms_up {
    267320my $scheme = shift;
     
    272325} elsif ($scheme eq "flat") {
    273326} elsif ($scheme =~ /^cvs/) {
    274 } else {
    275     die "cms $scheme unknown";
    276 }
    277 }
     327    pb_system("cvs up $dir","Updating $dir");
     328} else {
     329    die "cms $scheme unknown";
     330}
     331}
     332
     333=item B<pb_cms_checkin>
     334
     335This function updates a CMS content from a local directory.
     336The first parameter is the schema of the CMS systems (svn, cvs, svn+ssh, ...)
     337The second parameter is the directory to update from.
     338
     339=cut
    278340
    279341sub pb_cms_checkin {
     
    286348} elsif ($scheme eq "flat") {
    287349} elsif ($scheme =~ /^cvs/) {
     350    pb_system("cvs ci -m \"updated to $ver\" $dir","Checking in $dir");
    288351} else {
    289352    die "cms $scheme unknown";
     
    291354pb_cms_up($scheme,$dir);
    292355}
     356
     357=item B<pb_cms_isdiff>
     358
     359This function returns a integer indicating the number f differences between the CMS content and the local directory where it's checked out.
     360The first parameter is the schema of the CMS systems (svn, cvs, svn+ssh, ...)
     361The second parameter is the directory to consider.
     362
     363=cut
    293364
    294365sub pb_cms_isdiff {
     
    318389}
    319390
    320 #
    321 # Return the list of packages we are working on in a CMS action
    322 #
     391=item B<pb_cms_isdiff>
     392
     393This function returns the list of packages we are working on in a CMS action.
     394The first parameter is the default list of packages from the configuration file.
     395The second parameter is the optional list of packages from the configuration file.
     396
     397=cut
     398
    323399sub pb_cms_get_pkg {
    324400
     
    340416}
    341417
    342 #
    343 # Check pbconf/project cms compliance
    344 #
     418=item B<pb_cms_compliant>
     419
     420This function checks the compliance of the project and the pbconf directory.
     421The first parameter is the key name of the value that needs to be read in the configuration file.
     422The second parameter is the environment variable this key will populate.
     423The third parameter is the location of the pbconf dir.
     424The fourth parameter is the URI of the CMS content related to the pbconf dir.
     425The fifth parameter indicates whether we should inititate the context or not.
     426
     427=cut
     428
    345429sub pb_cms_compliant {
    346430
     
    403487}
    404488
     489=item B<pb_cms_create_authors>
     490
     491This function creates a AUTHORS files for the project. It call it AUTHORS.pb if an AUTHORS file already exists.
     492The first parameter is the source file for authors information.
     493The second parameter is the directory where to create the final AUTHORS file.
     494The third parameter is the schema of the CMS systems (svn, cvs, svn+ssh, ...)
     495
     496=cut
     497
    405498sub pb_cms_create_authors {
    406499
     
    411504return if ($authors eq "/dev/null");
    412505open(SAUTH,$authors) || die "Unable to open $authors";
    413 # Save a potentially existing AUTHORS file and write instead toi AUTHORS.pb
     506# Save a potentially existing AUTHORS file and write instead to AUTHORS.pb
    414507my $ext = "";
    415508if (-f "$dest/AUTHORS") {
     
    438531}
    439532
     533=item B<pb_cms_log>
     534
     535This function creates a ChangeLog file for the project.
     536The first parameter is the schema of the CMS systems (svn, cvs, svn+ssh, ...)
     537The second parameter is the directory where the CMS content was checked out.
     538The third parameter is the directory where to create the final ChangeLog file.
     539The fourth parameter is unused.
     540The fifth parameter is the source file for authors information.
     541
     542It may use a tool like svn2cl or cvs2cl to generate it if present, or the log file from the CMS if not.
     543
     544=cut
     545
     546
    440547sub pb_cms_log {
    441548
     
    483590}
    484591
     592=back
     593
     594=head1 WEB SITES
     595
     596The main Web site of the project is available at L<http://www.project-builder.org/>. Bug reports should be filled using the trac instance of the project at L<http://trac.project-builder.org/>.
     597
     598=head1 USER MAILING LIST
     599
     600None exists for the moment.
     601
     602=head1 AUTHORS
     603
     604The Project-Builder.org team L<http://trac.project-builder.org/> lead by Bruno Cornec L<mailto:bruno@project-builder.org>.
     605
     606=head1 COPYRIGHT
     607
     608Project-Builder.org is distributed under the GPL v2.0 license
     609described in the file C<COPYING> included with the distribution.
     610
     611=cut
     612
    4856131;
  • devel/pb/lib/ProjectBuilder/Changelog.pm

    r405 r409  
    3838=head1 DESCRIPTION
    3939
    40 blabla
     40This modules provides generic functions suitable for changelog management for project-builder.org
     41
     42=head1 USAGE
     43
     44=over 4
     45
     46=item B<pb_changelog>
     47
     48Function that generates the changelog used in build files, or for announcements (web, mailing-list, ...)
     49
     50It takes up to 9 parameters:
     51The first parameter is the type of the distribution.
     52The second parameter is the package name generated.
     53The third parameter is the version of the package.
     54The fourth parameter is the tag of the package.
     55The fifth parameter is the suffix of the package.
     56The sixth parameter is now unused.
     57The seventh parameter is the file descriptor on which to write the changelog content.
     58The eighth parameter is a flag in the configuration file indicating whether we want changelog expansion or not.
     59The nineth parameter is the potential changelog file pbcl.
    4160
    4261=cut
     
    179198}
    180199
     200
     201=back
     202
     203=head1 WEB SITES
     204
     205The main Web site of the project is available at L<http://www.project-builder.org/>. Bug reports should be filled using the trac instance of the project at L<http://trac.project-builder.org/>.
     206
     207=head1 USER MAILING LIST
     208
     209None exists for the moment.
     210
     211=head1 AUTHORS
     212
     213The Project-Builder.org team L<http://trac.project-builder.org/> lead by Bruno Cornec L<mailto:bruno@project-builder.org>.
     214
     215=head1 COPYRIGHT
     216
     217Project-Builder.org is distributed under the GPL v2.0 license
     218described in the file C<COPYING> included with the distribution.
     219
     220=cut
     221
    1812221;
  • devel/pb/lib/ProjectBuilder/Filter.pm

    r405 r409  
    3535=head1 NAME
    3636
    37 ProjectBuilder::Base, part of the project-builder.org - module dealing with generic functions suitable for perl project development
     37ProjectBuilder::Filter, part of the project-builder.org
    3838
    3939=head1 DESCRIPTION
    4040
    41 pb helps you build various packages directly from your project sources.
    42 Those sources could be handled by a CMS (Configuration Management System)
    43 such as Subversion, CVS, ... or being a simple reference to a compressed tar file.
    44 It's based on a set of configuration files, a set of provided macros to help
    45 you keeping build files as generic as possible. For example, a single .spec
    46 file should be required to generate for all rpm based distributions, even
    47 if you could also have multiple .spec files if required.
    48 
    49 =cut
    50 
    51 # Get all filters to apply
    52 # They're cumulative from less specific to most specific
    53 # suffix is .pbf
     41This module provides filtering functions suitable for pbinit calls.
     42
     43=item B<pb_get_filters>
     44
     45This function gets all filters to apply. They're cumulative from the less specific to the most specific.
     46
     47Suffix of those filters is .pbf. Filter all.pbf applies to whatever distribution. The pbfilter directory may be global under pbconf or per package, for overloading values. Then in order filters are loaded for distribution type, distribution family, distribution name, distribution name-version.
     48
     49The first parameter is the package name.
     50The second parameter is the distribution type.
     51The third parameter is the distribution family.
     52The fourth parameter is the distribution name.
     53The fifth parameter is the distribution version.
     54
     55The function returns a pointer on a hash of filters.
     56
     57=cut
    5458
    5559sub pb_get_filters {
     
    113117}
    114118
    115 # Function which applies filter on pb build files
     119=item B<pb_filter_file_pb>
     120
     121This function applies all filters to pb build files.
     122
     123It takes 15 parameters.
     124
     125The first parameter is the file to filter.
     126The second parameter is the pointer on the hash of filters.
     127The third parameter is the destination file after filtering.
     128The fourth parameter is the distribution type.
     129The fifth parameter is the suffix of the distribution.
     130The sixth parameter is the package name.
     131The seventh parameter is the version of the package.
     132The eighth parameter is the tag of the package.
     133The nineth parameter is the revision of the package.
     134The tenth parameter is the current date.
     135The eleventh parameter is the list of required packages.
     136The twelveth parameter is the list of optional packages.
     137The thirteenth parameter is the packager name.
     138The fourteenth parameter is the changelog.
     139
     140=cut
     141
    116142sub pb_filter_file_pb {
    117143
     
    122148my $dtype=shift;
    123149my $pbsuf=shift;
    124 my $pbproj=shift;
    125150my $pbpkg=shift;
    126151my $pbver=shift;
     
    163188}
    164189
     190=item B<pb_filter_file_inplace>
     191
     192This function applies all filters to a file in place.
     193
     194It takes 8 parameters.
     195
     196The first parameter is the pointer on the hash of filters.
     197The second parameter is the destination file after filtering.
     198The third parameter is the package name.
     199The fourth parameter is the version of the package.
     200The fifth parameter is the tag of the package.
     201The sixth parameter is the revision of the package.
     202The seventh parameter is the current date.
     203The eighth parameter is the packager name.
     204
     205=cut
     206
    165207# Function which applies filter on files (external call)
    166208sub pb_filter_file_inplace {
     
    169211my %filter=%$ptr;
    170212my $destfile=shift;
    171 my $pbproj=shift;
    172213my $pbpkg=shift;
    173214my $pbver=shift;
     
    180221copy($destfile,$cp) || die "Unable to create $cp";
    181222
    182 pb_filter_file($cp,$ptr,$destfile,$pbproj,$pbpkg,$pbver,$pbtag,$pbrev,$pbdate,$pbpackager);
     223pb_filter_file($cp,$ptr,$destfile,$pbpkg,$pbver,$pbtag,$pbrev,$pbdate,$pbpackager);
    183224unlink $cp;
    184225}
     226
     227=item B<pb_filter_file>
     228
     229This function applies all filters on a file to generate a new filtered one.
     230
     231It takes 9 parameters.
     232
     233The first parameter is the original file to filter.
     234The second parameter is the pointer on the hash of filters.
     235The third parameter is the destination file after filtering.
     236The fourth parameter is the package name.
     237The fifth parameter is the version of the package.
     238The sixth parameter is the tag of the package.
     239The seventh parameter is the revision of the package.
     240The eighth parameter is the current date.
     241The nineth parameter is the packager name.
     242
     243=cut
     244
    185245
    186246# Function which applies filter on files (external call)
     
    191251my %filter=%$ptr;
    192252my $destfile=shift;
    193 my $pbproj=shift;
    194253my $pbpkg=shift;
    195254my $pbver=shift;
     
    222281}
    223282
     283=back
     284
     285=head1 WEB SITES
     286
     287The main Web site of the project is available at L<http://www.project-builder.org/>. Bug reports should be filled using the trac instance of the project at L<http://trac.project-builder.org/>.
     288
     289=head1 USER MAILING LIST
     290
     291None exists for the moment.
     292
     293=head1 AUTHORS
     294
     295The Project-Builder.org team L<http://trac.project-builder.org/> lead by Bruno Cornec L<mailto:bruno@project-builder.org>.
     296
     297=head1 COPYRIGHT
     298
     299Project-Builder.org is distributed under the GPL v2.0 license
     300described in the file C<COPYING> included with the distribution.
     301
     302=cut
     303
    2243041;
Note: See TracChangeset for help on using the changeset viewer.