Changeset 300 for devel/pb/bin/pb


Ignore:
Timestamp:
Jan 27, 2008, 9:22:16 PM (12 years ago)
Author:
bruno
Message:

Adds support for supplemental files in projects (such as init scripts different for different distributions such as in collectl)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • devel/pb/bin/pb

    r298 r300  
    9999die pb_syntax() if (not defined $action);
    100100
    101 my ($pbrc, $filteredfiles, $defpkgdir, $extpkgdir);
     101my ($pbrc, $filteredfiles, $supfiles, $defpkgdir, $extpkgdir);
    102102my $pbinit = undef;
    103103$pbinit = 1 if ($action =~ /^newproj$/);
     
    106106# And get global params
    107107if (defined $opts{'p'}) {
    108     ($ENV{'PBPROJ'},$debug,$LOG, $pbrc, $filteredfiles, $defpkgdir, $extpkgdir)
     108    ($ENV{'PBPROJ'},$debug,$LOG, $pbrc, $filteredfiles, $supfiles, $defpkgdir, $extpkgdir)
    109109    = pb_env_init($opts{'p'},$pbinit);
    110110} else {
    111     ($ENV{'PBPROJ'},$debug,$LOG, $pbrc, $filteredfiles, $defpkgdir, $extpkgdir)
     111    ($ENV{'PBPROJ'},$debug,$LOG, $pbrc, $filteredfiles, $supfiles, $defpkgdir, $extpkgdir)
    112112    = pb_env_init(undef,$pbinit);
    113113}
     
    233233
    234234            # Find all build files first relatively to PBROOT
     235            # Find also all specific files referenced in the .pb conf file
    235236            my %bfiles;
     237            my %pkgfiles;
    236238            print $LOG "DEBUG dir: $ENV{'PBCONF'}/$pbpkg\n" if ($debug >= 1);
    237239            $build{"$ddir-$dver"} = "yes";
     
    242244                    $bfiles{$f} = "$ENV{'PBCONF'}/$pbpkg/$dtype/$f";
    243245                    $bfiles{$f} =~ s~$ENV{'PBROOT'}~~;
     246                    if (defined $supfiles->{$pbpkg}) {
     247                        $pkgfiles{$f} = "$ENV{'PBCONF'}/$pbpkg/$dtype/$f" if ($f =~ /$supfiles->{$pbpkg}/);
     248                    }
    244249                }
    245250                closedir(BDIR);
     
    250255                    $bfiles{$f} = "$ENV{'PBCONF'}/$pbpkg/$dfam/$f";
    251256                    $bfiles{$f} =~ s~$ENV{'PBROOT'}~~;
     257                    if (defined $supfiles->{$pbpkg}) {
     258                        $pkgfiles{$f} = "$ENV{'PBCONF'}/$pbpkg/$dfam/$f" if ($f =~ /$supfiles->{$pbpkg}/);
     259                    }
    252260                }
    253261                closedir(BDIR);
     
    258266                    $bfiles{$f} = "$ENV{'PBCONF'}/$pbpkg/$ddir/$f";
    259267                    $bfiles{$f} =~ s~$ENV{'PBROOT'}~~;
     268                    if (defined $supfiles->{$pbpkg}) {
     269                        $pkgfiles{$f} = "$ENV{'PBCONF'}/$pbpkg/$ddir/$f" if ($f =~ /$supfiles->{$pbpkg}/);
     270                    }
    260271                }
    261272                closedir(BDIR);
     
    266277                    $bfiles{$f} = "$ENV{'PBCONF'}/$pbpkg/$ddir-$dver/$f";
    267278                    $bfiles{$f} =~ s~$ENV{'PBROOT'}~~;
     279                    if (defined $supfiles->{$pbpkg}) {
     280                        $pkgfiles{$f} = "$ENV{'PBCONF'}/$pbpkg/$ddir-$dver/$f" if ($f =~ /$supfiles->{$pbpkg}/);
     281                    }
    268282                }
    269283                closedir(BDIR);
     
    280294            # destination dir depends on the type of file
    281295            if (defined $ptr) {
    282                 foreach my $f (values %bfiles) {
     296                foreach my $f (values %bfiles,values %pkgfiles) {
    283297                    pb_filter_file_pb("$ENV{'PBROOT'}/$f",$ptr,"$dest/pbconf/$ddir-$dver/".basename($f),$dtype,$pbsuf,$ENV{'PBPROJ'},$pbpkg,$pbver,$pbtag,$pbrev,$pbdate,$defpkgdir,$extpkgdir,$pbpackager,$chglog);
    284298                }
Note: See TracChangeset for help on using the changeset viewer.