Changeset 1185


Ignore:
Timestamp:
02/14/11 13:13:31 (2 years ago)
Author:
bruno
Message:
  • Fix pb for patches and additional sources support in parallel mode which was previously broken
Location:
devel/pb
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • devel/pb/bin/pb

    r1179 r1185  
    822822 
    823823        # Get project info on authors and log file 
     824        # TODO: Make it CMS aware 
    824825        $chglog = "$ENV{'PBROOTDIR'}/$pbpkg/pbcl"; 
    825826        $chglog = "$ENV{'PBROOTDIR'}/pbcl" if (! -f $chglog); 
    826827        $chglog = undef if (! -f $chglog); 
    827828 
     829        # TODO: Make it CMS aware 
    828830        my $authors = "$ENV{'PBROOTDIR'}/$pbpkg/pbauthors"; 
    829831        $authors = "$ENV{'PBROOTDIR'}/pbauthors" if (! -f $authors); 
     
    838840 
    839841        my %build; 
    840         my %patches; 
    841         my %sources; 
    842842        # We want to at least build for the underlying distro 
    843843        # except if a target was given, in which case we only build for it 
     
    874874        $pb{'proj'} = $ENV{'PBPROJ'}; 
    875875        $pb{'repo'} = $ENV{'PBREPO'}; 
     876        my %patches = (); 
     877        my %sources = (); 
    876878        $pb{'patches'} = \%patches; 
    877879        $pb{'sources'} = \%sources; 
    878880        pb_log(2,"DEBUG: pb: ".Dumper(%pb)."\n"); 
    879881     
     882        my $tmpd = "$ENV{'PBTMP'}/cms.$$"; 
     883        pb_mkdir_p($tmpd) if (defined $pbparallel); 
     884 
     885        # Get only all.pbf filter at this stage for pbinit 
     886        my $ptr = pb_get_filters($pbpkg); 
     887 
     888        # TODO: Make it CMS aware 
     889        # Execute the pbinit script if any 
     890        if (-x "$ENV{'PBROOTDIR'}/$pbpkg/pbinit") { 
     891            pb_filter_file("$ENV{'PBROOTDIR'}/$pbpkg/pbinit",$ptr,"$ENV{'PBTMP'}/pbinit",\%pb); 
     892            chmod 0755,"$ENV{'PBTMP'}/pbinit"; 
     893            pb_system("cd $dest ; $ENV{'PBTMP'}/pbinit","Executing init script from $ENV{'PBROOTDIR'}/$pbpkg/pbinit","verbose"); 
     894        } 
     895 
    880896        # Do not do that for website 
    881897        if (not defined $web) { 
    882             pb_log(0,"Build files are being generated for ...\n"); 
    883898            my %virt; 
    884899            # De-duplicate similar VM/VE/RM 
     
    898913                # Distro context 
    899914                my $pbos = pb_distro_get_context($v); 
     915 
     916                # Get all filters to apply 
     917                my $ptr = pb_get_filters($pbpkg,$pbos); 
     918     
    900919                pb_log(2,"DEBUG Filtering PBDATE => $pbdate, PBTAG => $pbtag, PBVER => $pbver\n"); 
    901920     
     
    912931                my %bfiles = (); 
    913932                my %pkgfiles = (); 
    914                 $build{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"} = "yes"; 
    915      
    916                 if (-d "$ENV{'PBROOTDIR'}/$pbpkg/$pbos->{'type'}") { 
     933                # Used in Filter.pm by pb_filter_file 
     934                $pb{'tuple'} = "$v"; 
     935 
     936                $build{$v} = "yes"; 
     937                if (-d "$ENV{'PBROOTDIR'}/$pbpkg/$pbos->{'os'}") { 
     938                    pb_list_bfiles("$ENV{'PBROOTDIR'}/$pbpkg/$pbos->{'os'}",$pbpkg,\%bfiles,\%pkgfiles,$supfiles); 
     939                } elsif (-d "$ENV{'PBROOTDIR'}/$pbpkg/$pbos->{'type'}") { 
    917940                    pb_list_bfiles("$ENV{'PBROOTDIR'}/$pbpkg/$pbos->{'type'}",$pbpkg,\%bfiles,\%pkgfiles,$supfiles); 
    918941                } elsif (-d "$ENV{'PBROOTDIR'}/$pbpkg/$pbos->{'family'}") { 
     
    925948                    pb_list_bfiles("$ENV{'PBROOTDIR'}/$pbpkg/$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}",$pbpkg,\%bfiles,\%pkgfiles,$supfiles); 
    926949                } else { 
    927                     $build{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"} = "no"; 
    928                     next; 
     950                    $build{$v} = "no"; 
    929951                } 
    930952                pb_log(2,"DEBUG bfiles: ".Dumper(\%bfiles)."\n"); 
    931953     
    932                 # Get all filters to apply 
    933                 my $ptr = pb_get_filters($pbpkg,$pbos); 
     954                if ($build{$v} ne "no") { 
     955                    # Apply now all the filters on all the files concerned 
     956                    # destination dir depends on the type of file 
     957                    # For patch support 
     958                    foreach my $f (values %bfiles,values %pkgfiles) { 
     959                        pb_filter_file("$ENV{'PBROOTDIR'}/$f",$ptr,"$dest/pbconf/$v/".basename($f),\%pb); 
     960                    } 
     961                    # TODO: Make it CMS aware 
     962                    pb_list_sfiles("$ENV{'PBROOTDIR'}/$pbpkg/pbpatch", \%patches, $pbos, "$ENV{'PBROOTDIR'}/$pbpkg/pbextpatch"); 
     963                    pb_log(2,"DEBUG patches: ".Dumper(\%patches)."\n"); 
     964                    # TODO: Make it CMS aware 
     965                    pb_list_sfiles("$ENV{'PBROOTDIR'}/$pbpkg/pbsrc", \%sources, $pbos, "$ENV{'PBROOTDIR'}/$pbpkg/pbextsrc"); 
     966                    pb_log(2,"DEBUG sources: ".Dumper(\%sources)."\n"); 
    934967     
    935                 # Apply now all the filters on all the files concerned 
    936                 # destination dir depends on the type of file 
    937                 if (defined $ptr) { 
    938                     # For patch support 
    939                     $pb{'tuple'} = "$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"; 
    940                     foreach my $f (values %bfiles,values %pkgfiles) { 
    941                         pb_filter_file("$ENV{'PBROOTDIR'}/$f",$ptr,"$dest/pbconf/$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}/".basename($f),\%pb); 
     968                    if (defined $patches{$v}) { 
     969                        # Filter potential patches (local + remote) 
     970                        pb_mkdir_p("$dest/pbconf/$v/pbpatch"); 
     971                        foreach my $pf (split(/,/,$patches{$v})) { 
     972                            my $pp = basename($pf); 
     973                            pb_cms_export($pf,undef,"$dest/pbconf/$v/pbpatch"); 
     974                            pb_filter_file_inplace($ptr,"$dest/pbconf/$v/pbpatch/$pp",\%pb); 
     975                            pb_system("gzip -9f $dest/pbconf/$v/pbpatch/$pp","","quiet"); 
     976                        } 
     977                    } 
     978                    if (defined $sources{$v}) { 
     979                        pb_mkdir_p("$dest/pbconf/$v/pbsrc"); 
     980                        foreach my $pf (split(/,/,$sources{$v})) { 
     981                            my $pp = basename($pf); 
     982                            pb_cms_export($pf,undef,"$dest/pbconf/$v/pbsrc"); 
     983                            pb_filter_file_inplace($ptr,"$dest/pbconf/$v/pbsrc/$pp",\%pb); 
     984                        } 
    942985                    } 
    943986                } 
    944                 pb_list_sfiles("$ENV{'PBROOTDIR'}/$pbpkg/pbpatch", \%patches, $pbos, "$ENV{'PBROOTDIR'}/$pbpkg/pbextpatch"); 
    945                 pb_list_sfiles("$ENV{'PBROOTDIR'}/$pbpkg/pbsrc", \%sources, $pbos, "$ENV{'PBROOTDIR'}/$pbpkg/pbextsrc"); 
    946  
    947                 $pm->finish if (defined $pbparallel); 
    948             } 
     987 
     988                if (defined $pbparallel) { 
     989                    # Communicate results back to parent 
     990                    my $str = ""; 
     991                    $str .= "build $v = $build{$v}\n" if (defined $build{$v}); 
     992                    $str .= "patches $v = $patches{$v}\n" if (defined $patches{$v}); 
     993                    $str .= "sources $v = $sources{$v}\n" if (defined $sources{$v}); 
     994                    pb_set_content("$tmpd/$$","$str"); 
     995                    $pm->finish; 
     996                } 
     997            } 
     998            # In the parent, we need to get the result from the children 
    949999            $pm->wait_all_children if (defined $pbparallel); 
     1000            my $made = ""; 
     1001            my %h = (); 
     1002            my %tmp; 
     1003            my $pt; 
     1004            my $k; 
     1005 
     1006            foreach $k (<$tmpd/*>) { 
     1007                $made .= pb_get_content($k); 
     1008            } 
     1009            pb_rm_rf($tmpd); 
     1010            pb_log(3,"MADE:\n$made"); 
     1011 
     1012            # Rebuild local hashes 
     1013            foreach $k (split(/\n/,$made)) { 
     1014                if ($k =~ /^\s*([A-z0-9-_]+)\s+([[A-z0-9-_.]+)\s*=\s*(.+)$/) { 
     1015                    $h{$1}->{$2}=$3; 
     1016                } 
     1017            } 
     1018            pb_log(3,"HASH: ".Dumper(%h)); 
     1019 
     1020            # Patches 
     1021            pb_log(0,"Delivered and compressed patches "); 
     1022            $pt = $h{'patches'}; 
     1023            foreach $k (split(/,/,values %$pt)) { 
     1024                $tmp{$k} = ""; 
     1025            } 
     1026            foreach $k (keys %tmp) { 
     1027                $tmp{$k} = undef; 
     1028                pb_log(0,"$k"); 
     1029            } 
     1030            pb_log(0,"\n"); 
     1031 
     1032            # Sources 
     1033            pb_log(0,"Delivered additional sources "); 
     1034            $pt = $h{'sources'}; 
     1035            foreach $k (split(/,/,values %$pt)) { 
     1036                $tmp{$k} = ""; 
     1037            } 
     1038            foreach $k (keys %tmp) { 
     1039                pb_log(0,"$k"); 
     1040            } 
     1041            pb_log(0,"\n"); 
     1042 
     1043            # Build files 
    9501044            my @found; 
    9511045            my @notfound; 
    952             foreach my $b (keys %build) { 
    953                 push @found,$b if ($build{$b} =~ /yes/); 
    954                 push @notfound,$b if ($build{$b} =~ /no/); 
    955             } 
    956             pb_log(0," ... ".join(',',sort(@found))."\n"); 
     1046            $pt = $h{'build'}; 
     1047            foreach my $b (keys %$pt) { 
     1048                push @found,$b if ($pt->{$b} =~ /yes/); 
     1049                push @notfound,$b if ($pt->{$b} =~ /no/); 
     1050            } 
     1051            pb_log(0,"Build files have been generated for ... ".join(',',sort(@found))."\n") if (@found); 
    9571052            pb_log(0,"No Build files found for ".join(',',sort(@notfound))."\n") if (@notfound); 
    958             pb_log(2,"DEBUG: patches: ".Dumper(%patches)."\n"); 
    959             pb_log(2,"DEBUG: sources: ".Dumper(%sources)."\n"); 
    960         } 
    961  
    962         # Get the generic filter (all.pbf) and  
    963         # apply those to the non-build files including those 
    964         # generated by pbinit if applicable 
    965  
    966         # Get only all.pbf filter 
    967         my $ptr = pb_get_filters($pbpkg); 
    968  
    969         my $liste =""; 
    970         if (defined $filteredfiles->{$pbpkg}) { 
    971             foreach my $f (split(/,/,$filteredfiles->{$pbpkg})) { 
    972                 pb_filter_file_inplace($ptr,"$dest/$f",\%pb); 
    973                 $liste = "$f $liste"; 
    974             } 
    975         } 
    976         pb_log(2,"Files ".$liste."have been filtered\n"); 
    977  
    978         # Do not do that for website 
    979         if (not defined $web) { 
    980             my %tmp; 
    981             my $warnptcflag = 0; 
    982             my $warnsrcflag = 0; 
    983             # Filter potential patches (local + remote) 
    984             pb_log(0,"Delivering and compressing patches "); 
    985             foreach my $v (keys %patches) { 
    986                 pb_mkdir_p("$dest/pbconf/$v/pbpatch"); 
    987                 foreach my $pf (split(/,/,$patches{$v})) { 
    988                     my $pp = basename($pf); 
    989                     if ($param eq "SandBox") { 
    990                         $warnptcflag = 1; 
    991                     } 
    992                     pb_cms_export($pf,undef,"$dest/pbconf/$v/pbpatch"); 
    993                     pb_filter_file_inplace($ptr,"$dest/pbconf/$v/pbpatch/$pp",\%pb); 
    994                     pb_system("gzip -9f $dest/pbconf/$v/pbpatch/$pp","","quiet"); 
    995                     $tmp{$pf} = ""; 
     1053 
     1054            # Apply filters to the non-build files 
     1055            my $liste =""; 
     1056            if (defined $filteredfiles->{$pbpkg}) { 
     1057                foreach my $f (split(/,/,$filteredfiles->{$pbpkg})) { 
     1058                    pb_filter_file_inplace($ptr,"$dest/$f",\%pb); 
     1059                    $liste = "$f $liste"; 
    9961060                } 
    9971061            } 
    998             pb_log(0,"Delivering additional sources "); 
    999             foreach my $v (keys %sources) { 
    1000                 pb_mkdir_p("$dest/pbconf/$v/pbsrc"); 
    1001                 foreach my $pf (split(/,/,$sources{$v})) { 
    1002                     my $pp = basename($pf); 
    1003                     if ($param eq "SandBox") { 
    1004                         $warnsrcflag = 1; 
    1005                     } 
    1006                     pb_cms_export($pf,undef,"$dest/pbconf/$v/pbsrc"); 
    1007                     pb_filter_file_inplace($ptr,"$dest/pbconf/$v/pbsrc/$pp",\%pb); 
    1008                     $tmp{$pf} = ""; 
     1062            pb_log(2,"Files ".$liste."have been filtered\n"); 
     1063 
     1064            # Do we have additional script to run to prepare the environement for the project ?  
     1065            # Then include it in the pbconf delivery 
     1066            foreach my $pbvf (<$ENV{'PBROOTDIR'}/pbv*.pre>,<$ENV{'PBROOTDIR'}/pbv*.post>, <$ENV{'PBROOTDIR'}/pbtest*>) { 
     1067                if (-x "$pbvf") { 
     1068                    my $target = "$ENV{'PBDESTDIR'}/".basename($pbvf); 
     1069                    pb_filter_file("$pbvf",$ptr,$target,\%pb); 
     1070                    chmod 0755,"$target"; 
    10091071                } 
    10101072            } 
    1011             foreach my $v (keys %tmp) { 
    1012                 pb_log(0,"$v "); 
    1013             } 
    1014             pb_log(0,"\n"); 
    1015             pb_log(0,"WARNING: Patches are always taken from repository not local export\n") if ($warnptcflag == 1); 
    1016             pb_log(0,"WARNING: Sources are always taken from repository not local export\n") if ($warnsrcflag == 1); 
    10171073        } else { 
    10181074            # Instead call News generation 
     
    10361092 
    10371093        # Prepare the dest directory for archive 
    1038         if (-x "$ENV{'PBROOTDIR'}/$pbpkg/pbinit") { 
    1039             pb_filter_file("$ENV{'PBROOTDIR'}/$pbpkg/pbinit",$ptr,"$ENV{'PBTMP'}/pbinit",\%pb); 
    1040             chmod 0755,"$ENV{'PBTMP'}/pbinit"; 
    1041             pb_system("cd $dest ; $ENV{'PBTMP'}/pbinit","Executing init script from $ENV{'PBROOTDIR'}/$pbpkg/pbinit","verbose"); 
    1042         } 
    1043  
    1044         # Do we have additional script to run to prepare the environement for the project ?  
    1045         # Then include it in the pbconf delivery 
    1046         foreach my $pbvf (<$ENV{'PBROOTDIR'}/pbv*.pre>,<$ENV{'PBROOTDIR'}/pbv*.post>, <$ENV{'PBROOTDIR'}/pbtest*>) { 
    1047             if (-x "$pbvf") { 
    1048                 my $target = "$ENV{'PBDESTDIR'}/".basename($pbvf); 
    1049                 pb_filter_file("$pbvf",$ptr,$target,\%pb); 
    1050                 chmod 0755,"$target"; 
    1051             } 
    1052         } 
    1053  
    1054         # Archive dest dir 
    10551094        chdir "$ENV{'PBDESTDIR'}" || die "Unable to change dir to $ENV{'PBDESTDIR'}"; 
    10561095        if (defined $preserve) { 
     
    12211260            # We put every apps here under sys-apps. hope it's correct 
    12221261            # We use pb's home dir in order to have a single OVERLAY line 
    1223             my $tmpd = "$ENV{'HOME'}/portage/pb/sys-apps/$pbpkg"; 
    1224             pb_mkdir_p($tmpd) if (! -d "$tmpd"); 
     1262            my $tmpe = "$ENV{'HOME'}/portage/pb/sys-apps/$pbpkg"; 
     1263            pb_mkdir_p($tmpe) if (! -d "$tmpe"); 
    12251264            pb_mkdir_p("$ENV{'HOME'}/portage/distfiles") if (! -d "$ENV{'HOME'}/portage/distfiles"); 
    12261265 
    12271266            # We need to first extract the ebuild file  
    1228             @ebuildfile = pb_extract_build_files($src2,"$pbpkg-$pbver/pbconf/$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}/","$tmpd","ebuild"); 
     1267            @ebuildfile = pb_extract_build_files($src2,"$pbpkg-$pbver/pbconf/$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}/","$tmpe","ebuild"); 
    12291268 
    12301269            # Prepare the build env for gentoo 
     
    12581297                if ($f =~ /\.ebuild$/) { 
    12591298                    pb_distro_installdeps($f,$pbos); 
    1260                     move($f,"$tmpd/$pbpkg-$pbver.ebuild"); 
    1261                     pb_system("cd $tmpd ; ebuild $pbpkg-$pbver.ebuild clean ; ebuild $pbpkg-$pbver.ebuild digest ; ebuild $pbpkg-$pbver.ebuild package","verbose"); 
     1299                    move($f,"$tmpe/$pbpkg-$pbver.ebuild"); 
     1300                    pb_system("cd $tmpe ; ebuild $pbpkg-$pbver.ebuild clean ; ebuild $pbpkg-$pbver.ebuild digest ; ebuild $pbpkg-$pbver.ebuild package","verbose"); 
    12621301                    # Now move it where pb expects it 
    12631302                    pb_mkdir_p("$ENV{'PBBUILDDIR'}/portage/pb/sys-apps/$pbpkg"); 
     
    12661305                        my $ntag = $pbtag; 
    12671306                        $ntag =~ s/^0\.//; 
    1268                         move("$tmpd/$pbpkg-$pbver.ebuild","$ENV{'PBBUILDDIR'}/portage/pb/sys-apps/$pbpkg/$pbpkg-$pbver"."_p$ntag.ebuild"); 
     1307                        move("$tmpe/$pbpkg-$pbver.ebuild","$ENV{'PBBUILDDIR'}/portage/pb/sys-apps/$pbpkg/$pbpkg-$pbver"."_p$ntag.ebuild"); 
    12691308                        $made="$made portage/pb/sys-apps/$pbpkg/$pbpkg-$pbver"."_p$ntag.ebuild"; 
    12701309                    } else { 
    1271                         move("$tmpd/$pbpkg-$pbver.ebuild","$ENV{'PBBUILDDIR'}/portage/pb/sys-apps/$pbpkg/$pbpkg-$pbver-r$pbtag.ebuild"); 
     1310                        move("$tmpe/$pbpkg-$pbver.ebuild","$ENV{'PBBUILDDIR'}/portage/pb/sys-apps/$pbpkg/$pbpkg-$pbver-r$pbtag.ebuild"); 
    12721311                        $made="$made portage/pb/sys-apps/$pbpkg/$pbpkg-$pbver-r$pbtag.ebuild"; 
    12731312                    } 
     
    35193558my $supfiles = shift; 
    35203559 
     3560pb_log(2,"DEBUG: entering pb_list_bfiles: ".Dumper($bfiles)."\n"); 
    35213561opendir(BDIR,"$dir") || die "Unable to open dir $dir: $!"; 
    35223562foreach my $f (readdir(BDIR)) { 
     
    35343574} 
    35353575closedir(BDIR); 
     3576pb_log(2,"DEBUG: exiting pb_list_bfiles: ".Dumper($bfiles)."\n"); 
     3577} 
     3578 
     3579sub pb_add_coma { 
     3580 
     3581my $str = shift; 
     3582my $addstr = shift; 
     3583 
     3584$str .= "," if (defined $str); 
     3585$str .= $addstr; 
     3586return($str); 
    35363587} 
    35373588 
     
    35393590 
    35403591my $sdir = shift; 
    3541 my $sources = shift; 
     3592my $ptr = shift; 
    35423593my $pbos = shift; 
    35433594my $extdir = shift; 
     3595 
     3596pb_log(2,"DEBUG: entering pb_list_sfiles: ".Dumper($ptr)."\n"); 
     3597my $key = "$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"; 
    35443598 
    35453599# Prepare local sources for this distro - They are always applied first - May be a problem one day 
    35463600# This function works for both patches and additional sources 
    35473601foreach my $p (sort(<$sdir/*>)) { 
    3548     $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"} .= "," if ((defined $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"}) and ($p =~ /\.all$/)); 
    3549     $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"} .= "file://$p" if ($p =~ /\.all$/); 
    3550     $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"} .= "," if ((defined $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"}) and ($p =~ /\.$pbos->{'type'}$/)); 
    3551     $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"} .= "file://$p" if ($p =~ /\.$pbos->{'type'}$/); 
    3552     $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"} .= "," if ((defined $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"}) and ($p =~ /\.$pbos->{'family'}$/)); 
    3553     $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"} .= "file://$p" if ($p =~ /\.$pbos->{'family'}$/); 
    3554     $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"} .= "," if ((defined $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"}) and ($p =~ /\.$pbos->{'name'}$/)); 
    3555     $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"} .= "file://$p" if ($p =~ /\.$pbos->{'name'}$/); 
    3556     $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"} .= "," if ((defined $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"}) and ($p =~ /\.$pbos->{'name'}-$pbos->{'version'}$/)); 
    3557     $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"} .= "file://$p" if ($p =~ /\.$pbos->{'name'}-$pbos->{'version'}$/); 
    3558     $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"} .= "," if ((defined $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"}) and ($p =~ /\.$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}$/)); 
    3559     $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"} .= "file://$p" if ($p =~ /\.$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}$/); 
     3602    $ptr->{$key} = pb_add_coma($ptr->{$key},"file://$p") if (($p =~ /\.all$/) || ($p =~ /\.$pbos->{'os'}$/) || ($p =~ /\.$pbos->{'type'}$/) || ($p =~ /\.$pbos->{'family'}$/) || ($p =~ /\.$pbos->{'name'}$/) || ($p =~ /\.$pbos->{'name'}-$pbos->{'version'}$/) ||($p =~ /\.$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}$/)); 
    35603603} 
    35613604 
    35623605# Prepare also remote sources to be included - Applied after the local ones 
    3563 foreach my $p ("all","$pbos->{'type'}","$pbos->{'family'}","$pbos->{'name'}","$pbos->{'name'}-$pbos->{'version'}","$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}") { 
     3606foreach my $p ("all","$pbos->{'os'}","$pbos->{'type'}","$pbos->{'family'}","$pbos->{'name'}","$pbos->{'name'}-$pbos->{'version'}","$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}") { 
    35643607    my $f = "$extdir.".".$p"; 
    35653608    next if (not -f $f); 
     
    35703613    while (<PATCH>) { 
    35713614        chomp(); 
    3572         $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"} .= "," if (defined $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"}); 
    3573         $sources->{"$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}"} .= "$_"; 
     3615        $ptr->{$key} = pb_add_coma($ptr->{$key},"$_"); 
    35743616    } 
    35753617    close(PATCH); 
    35763618} 
    3577 pb_log(2,"DEBUG: sources: ".Dumper($sources)."\n"); 
     3619pb_log(2,"DEBUG: exiting pb_list_sfiles: ".Dumper($ptr)."\n"); 
    35783620} 
    35793621     
  • devel/pb/lib/ProjectBuilder/CMS.pm

    r1176 r1185  
    232232    # to verify the checksum will have issues (Fedora) 
    233233    # Then upstream should be notified that they need to change their rules 
     234    # This doesn't apply to patches or additional sources of course. 
    234235    my ($pbwf) = pb_conf_get_if("pbwf"); 
    235     if ((defined $pbwf) && (defined $pbwf->{$ENV{'PBPROJ'}})) { 
     236    if ((defined $pbwf) && (defined $pbwf->{$ENV{'PBPROJ'}}) && ($path !~ /\/pbpatch\//) && ($path !~ /\/pbsrc\//)) { 
    236237        $destdir = dirname($destdir); 
    237238        pb_log(2,"This is a well-formed file so destdir is now $destdir\n"); 
Note: See TracChangeset for help on using the changeset viewer.