- Timestamp:
- Feb 14, 2011, 2:41:25 PM (14 years ago)
- Location:
- devel/pb
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pb/bin/pb
r1185 r1186 734 734 735 735 my %pkgs; 736 my %pb; # Structure to store conf info736 my $pb; # Structure to store conf info 737 737 738 738 die "pb_cms2build requires a parameter: SandBox or CMS" if (not defined $param); … … 860 860 } 861 861 862 # Setup %pb structure to allow filtering later on, on files using that structure 863 $pb{'tag'} = $pbtag; 864 $pb{'rev'} = $pbrev; 865 $pb{'ver'} = $pbver; 866 $pb{'pkg'} = $pbpkg; 867 $pb{'realpkg'} = $pbpkg; 868 $pb{'suf'} = $pbos->{'suffix'}; 869 $pb{'date'} = $pbdate; 870 $pb{'defpkgdir'} = $defpkgdir; 871 $pb{'extpkgdir'} = $extpkgdir; 872 $pb{'chglog'} = $chglog; 873 $pb{'packager'} = $ENV{'PBPACKAGER'}; 874 $pb{'proj'} = $ENV{'PBPROJ'}; 875 $pb{'repo'} = $ENV{'PBREPO'}; 876 my %patches = (); 877 my %sources = (); 878 $pb{'patches'} = \%patches; 879 $pb{'sources'} = \%sources; 880 pb_log(2,"DEBUG: pb: ".Dumper(%pb)."\n"); 862 # Setup $pb structure to allow filtering later on, on files using that structure 863 $pb->{'tag'} = $pbtag; 864 $pb->{'rev'} = $pbrev; 865 $pb->{'ver'} = $pbver; 866 $pb->{'pkg'} = $pbpkg; 867 $pb->{'realpkg'} = $pbpkg; 868 $pb->{'suf'} = $pbos->{'suffix'}; 869 $pb->{'date'} = $pbdate; 870 $pb->{'defpkgdir'} = $defpkgdir; 871 $pb->{'extpkgdir'} = $extpkgdir; 872 $pb->{'chglog'} = $chglog; 873 $pb->{'packager'} = $ENV{'PBPACKAGER'}; 874 $pb->{'proj'} = $ENV{'PBPROJ'}; 875 $pb->{'repo'} = $ENV{'PBREPO'}; 876 $pb->{'patches'} = (); 877 $pb->{'sources'} = (); 881 878 882 879 my $tmpd = "$ENV{'PBTMP'}/cms.$$"; … … 889 886 # Execute the pbinit script if any 890 887 if (-x "$ENV{'PBROOTDIR'}/$pbpkg/pbinit") { 891 pb_filter_file("$ENV{'PBROOTDIR'}/$pbpkg/pbinit",$ptr,"$ENV{'PBTMP'}/pbinit", \%pb);888 pb_filter_file("$ENV{'PBROOTDIR'}/$pbpkg/pbinit",$ptr,"$ENV{'PBTMP'}/pbinit",$pb); 892 889 chmod 0755,"$ENV{'PBTMP'}/pbinit"; 893 890 pb_system("cd $dest ; $ENV{'PBTMP'}/pbinit","Executing init script from $ENV{'PBROOTDIR'}/$pbpkg/pbinit","verbose"); … … 913 910 # Distro context 914 911 my $pbos = pb_distro_get_context($v); 912 $pb->{'pbos'} = $pbos; 913 pb_log(3,"DEBUG: pb: ".Dumper($pb)."\n"); 915 914 916 915 # Get all filters to apply … … 921 920 # We need to compute the real name of the package 922 921 my $pbrealpkg = pb_cms_get_real_pkg($pbpkg,$pbos->{'type'}); 923 $pb {'realpkg'} = $pbrealpkg;922 $pb->{'realpkg'} = $pbrealpkg; 924 923 pb_log(1,"Virtual package $pbpkg has a real package name of $pbrealpkg on $pbos->{'name'}-$pbos->{'version'}\n") if ($pbrealpkg ne $pbpkg); 925 924 … … 932 931 my %pkgfiles = (); 933 932 # Used in Filter.pm by pb_filter_file 934 $pb{'tuple'} = "$v";935 933 936 934 $build{$v} = "yes"; … … 950 948 $build{$v} = "no"; 951 949 } 952 pb_log(2,"DEBUG bfiles: ".Dumper(\%bfiles)."\n");950 pb_log(2,"DEBUG($v) bfiles: ".Dumper(\%bfiles)."\n"); 953 951 954 952 if ($build{$v} ne "no") { … … 956 954 # destination dir depends on the type of file 957 955 # 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 956 # 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");957 $pb->{'patches'} = pb_list_sfiles("$ENV{'PBROOTDIR'}/$pbpkg/pbpatch", $pb->{'patches'}, $pbos, "$ENV{'PBROOTDIR'}/$pbpkg/pbextpatch"); 958 pb_log(2,"DEBUG($v) patches: ".Dumper($pb->{'patches'})."\n"); 964 959 # 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");960 $pb->{'sources'} = pb_list_sfiles("$ENV{'PBROOTDIR'}/$pbpkg/pbsrc", $pb->{'sources'}, $pbos, "$ENV{'PBROOTDIR'}/$pbpkg/pbextsrc"); 961 pb_log(2,"DEBUG($v) sources: ".Dumper($pb->{'sources'})."\n"); 967 962 968 if (defined $p atches{$v}) {963 if (defined $pb->{'patches'}->{$v}) { 969 964 # Filter potential patches (local + remote) 970 965 pb_mkdir_p("$dest/pbconf/$v/pbpatch"); 971 foreach my $pf (split(/,/,$p atches{$v})) {966 foreach my $pf (split(/,/,$pb->{'patches'}->{$v})) { 972 967 my $pp = basename($pf); 973 968 pb_cms_export($pf,undef,"$dest/pbconf/$v/pbpatch"); 974 pb_filter_file_inplace($ptr,"$dest/pbconf/$v/pbpatch/$pp", \%pb);969 pb_filter_file_inplace($ptr,"$dest/pbconf/$v/pbpatch/$pp",$pb); 975 970 pb_system("gzip -9f $dest/pbconf/$v/pbpatch/$pp","","quiet"); 976 971 } 977 972 } 978 if (defined $ sources{$v}) {973 if (defined $pb->{'sources'}->{$v}) { 979 974 pb_mkdir_p("$dest/pbconf/$v/pbsrc"); 980 foreach my $pf (split(/,/,$ sources{$v})) {975 foreach my $pf (split(/,/,$pb->{'sources'}->{$v})) { 981 976 my $pp = basename($pf); 982 977 pb_cms_export($pf,undef,"$dest/pbconf/$v/pbsrc"); 983 pb_filter_file_inplace($ptr,"$dest/pbconf/$v/pbsrc/$pp", \%pb);978 pb_filter_file_inplace($ptr,"$dest/pbconf/$v/pbsrc/$pp",$pb); 984 979 } 980 } 981 # Filter build files at the end, as they depend on patches and sources 982 foreach my $f (values %bfiles,values %pkgfiles) { 983 pb_filter_file("$ENV{'PBROOTDIR'}/$f",$ptr,"$dest/pbconf/$v/".basename($f),$pb); 985 984 } 986 985 } … … 990 989 my $str = ""; 991 990 $str .= "build $v = $build{$v}\n" if (defined $build{$v}); 992 $str .= "patches $v = $p atches{$v}\n" if (defined $patches{$v});993 $str .= "sources $v = $ sources{$v}\n" if (defined $sources{$v});991 $str .= "patches $v = $pb->{'patches'}->{$v}\n" if (defined $pb->{'patches'}->{$v}); 992 $str .= "sources $v = $pb->{'sources'}->{$v}\n" if (defined $pb->{'sources'}->{$v}); 994 993 pb_set_content("$tmpd/$$","$str"); 995 994 $pm->finish; … … 1001 1000 my %h = (); 1002 1001 my %tmp; 1002 my %tmp2; 1003 1003 my $pt; 1004 1004 my $k; … … 1016 1016 } 1017 1017 } 1018 pb_log( 3,"HASH: ".Dumper(%h));1018 pb_log(2,"HASH: ".Dumper(%h)); 1019 1019 1020 1020 # Patches 1021 1021 pb_log(0,"Delivered and compressed patches "); 1022 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"); 1023 foreach $k (keys %$pt) { 1024 foreach my $v1 (split(/,/,$pt->{$k})) { 1025 $tmp{$v1} = ""; 1026 } 1027 } 1028 if (keys %tmp) { 1029 foreach $k (keys %tmp) { 1030 pb_log(0,"$k "); 1031 } 1032 } else { 1033 pb_log(0,"N/A"); 1029 1034 } 1030 1035 pb_log(0,"\n"); … … 1033 1038 pb_log(0,"Delivered additional sources "); 1034 1039 $pt = $h{'sources'}; 1035 foreach $k (split(/,/,values %$pt)) { 1036 $tmp{$k} = ""; 1037 } 1038 foreach $k (keys %tmp) { 1039 pb_log(0,"$k"); 1040 foreach $k (keys %$pt) { 1041 foreach my $v1 (split(/,/,$pt->{$k})) { 1042 $tmp2{$v1} = ""; 1043 } 1044 } 1045 if (keys %tmp2) { 1046 foreach $k (keys %tmp2) { 1047 pb_log(0,"$k "); 1048 } 1049 } else { 1050 pb_log(0,"N/A"); 1040 1051 } 1041 1052 pb_log(0,"\n"); … … 1056 1067 if (defined $filteredfiles->{$pbpkg}) { 1057 1068 foreach my $f (split(/,/,$filteredfiles->{$pbpkg})) { 1058 pb_filter_file_inplace($ptr,"$dest/$f", \%pb);1069 pb_filter_file_inplace($ptr,"$dest/$f",$pb); 1059 1070 $liste = "$f $liste"; 1060 1071 } … … 1067 1078 if (-x "$pbvf") { 1068 1079 my $target = "$ENV{'PBDESTDIR'}/".basename($pbvf); 1069 pb_filter_file("$pbvf",$ptr,$target, \%pb);1080 pb_filter_file("$pbvf",$ptr,$target,$pb); 1070 1081 chmod 0755,"$target"; 1071 1082 } … … 3250 3261 3251 3262 open(OUT,"> $ENV{'PBTMP'}/$pbpkg.ann") || die "Unable to create $ENV{'PBTMP'}/$pbpkg.ann: $!"; 3252 my %pb;3253 $pb {'realpkg'} = $pbpkg;3254 $pb {'ver'} = $pbver;3255 $pb {'tag'} = $pbtag;3256 $pb {'date'} = $pbdate;3257 $pb {'chglog'} = $chglog;3258 $pb {'packager'} = $pbpackager;3259 $pb {'proj'} = $ENV{'PBPROJ'};3260 $pb {'repo'} = $pbrepo;3261 pb_changelog( \%pb,\*OUT,"yes");3263 my $pb; 3264 $pb->{'realpkg'} = $pbpkg; 3265 $pb->{'ver'} = $pbver; 3266 $pb->{'tag'} = $pbtag; 3267 $pb->{'date'} = $pbdate; 3268 $pb->{'chglog'} = $chglog; 3269 $pb->{'packager'} = $pbpackager; 3270 $pb->{'proj'} = $ENV{'PBPROJ'}; 3271 $pb->{'repo'} = $pbrepo; 3272 pb_changelog($pb,\*OUT,"yes"); 3262 3273 close(OUT); 3263 3274 push(@files,"$ENV{'PBTMP'}/$pbpkg.ann"); … … 3618 3629 } 3619 3630 pb_log(2,"DEBUG: exiting pb_list_sfiles: ".Dumper($ptr)."\n"); 3631 return($ptr); 3620 3632 } 3621 3633 -
devel/pb/lib/ProjectBuilder/Filter.pm
r1184 r1186 144 144 my $destfile=shift; 145 145 my $pb=shift; 146 147 pb_log(2,"DEBUG: From $f to $destfile\n"); 146 my $tuple = "unknown"; 147 $tuple = "$pb->{'pbos'}->{'name'}-$pb->{'pbos'}->{'version'}-$pb->{'pbos'}->{'arch'}" if (defined $pb->{'pbos'}); 148 149 pb_log(2,"DEBUG: From $f to $destfile (tuple: $tuple)\n"); 150 pb_log(3,"DEBUG($tuple): pb ".Dumper($pb)."\n"); 148 151 pb_mkdir_p(dirname($destfile)) if (! -d dirname($destfile)); 149 152 open(DEST,"> $destfile") || die "Unable to create $destfile: $!"; … … 175 178 $tmp = ""; 176 179 } elsif (($s =~ /^PBPATCHSRC$/) && ($line =~ /^PBPATCHSRC$/)) { 177 pb_log(3,"DEBUG filtering PBPATCHSRC\n");180 pb_log(3,"DEBUG($tuple) filtering PBPATCHSRC\n"); 178 181 my $i = 0; 179 if (defined $pb->{'patches'}->{$pb->{'tuple'}}) { 180 foreach my $p (split(/,/,$pb->{'patches'}->{$pb->{'tuple'}})) { 182 pb_log(3,"DEBUG($tuple): pb ".Dumper($pb)."\n"); 183 pb_log(3,"DEBUG($tuple): pb/patches/tuple $pb->{'patches'}->{$tuple}\n"); 184 if (defined $pb->{'patches'}->{$tuple}) { 185 foreach my $p (split(/,/,$pb->{'patches'}->{$tuple})) { 186 pb_log(3,"DEBUG($tuple) Adding patch $i ".basename($p)."\n"); 181 187 print DEST "Patch$i: ".basename($p).".gz\n"; 182 188 $i++; … … 185 191 $tmp = ""; 186 192 } elsif (($s =~ /^PBMULTISRC$/) && ($line =~ /^PBMULTISRC$/)) { 187 pb_log(3,"DEBUG filtering PBMULTISRC\n");193 pb_log(3,"DEBUG($tuple) filtering PBMULTISRC\n"); 188 194 my $i = 1; 189 if (defined $pb->{'patches'}->{$pb->{'tuple'}}) { 190 foreach my $p (split(/,/,$pb->{'sources'}->{$pb->{'tuple'}})) { 195 if (defined $pb->{'patches'}->{$tuple}) { 196 foreach my $p (split(/,/,$pb->{'sources'}->{$tuple})) { 197 pb_log(3,"DEBUG($tuple) Adding source $i ".basename($p)."\n"); 191 198 print DEST "Source$i: ".basename($p)."\n"; 192 199 $i++; … … 195 202 $tmp = ""; 196 203 } elsif (($s =~ /^PBPATCHCMD$/) && ($line =~ /^PBPATCHCMD$/)) { 197 pb_log(3,"DEBUG filtering PBPATCHCMD\n");204 pb_log(3,"DEBUG($tuple) filtering PBPATCHCMD\n"); 198 205 my $i = 0; 199 if (defined $pb->{'patches'}->{$pb->{'tuple'}}) { 200 foreach my $p (split(/,/,$pb->{'patches'}->{$pb->{'tuple'}})) { 206 if (defined $pb->{'patches'}->{$tuple}) { 207 foreach my $p (split(/,/,$pb->{'patches'}->{$tuple})) { 208 pb_log(3,"DEBUG($tuple) Adding patch command $i\n"); 201 209 print DEST "%patch$i -p1\n"; 202 210 $i++; … … 233 241 my $pb=shift; 234 242 235 my $cp = "$ENV{'PBTMP'}/".basename($destfile)." $$";243 my $cp = "$ENV{'PBTMP'}/".basename($destfile).".$$"; 236 244 copy($destfile,$cp) || die "Unable to copy $destfile to $cp"; 237 245
Note:
See TracChangeset
for help on using the changeset viewer.