Changeset 25 in ProjectBuilder for devel/pb/bin
- Timestamp:
- Aug 1, 2007, 3:30:16 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pb/bin/pb.pl
r23 r25 160 160 $build{"$ddir-$dver"} = "yes"; 161 161 if (-d "$ENV{'PBCONF'}/$pkg/$dtype") { 162 opendir(BDIR,"$ENV{'PBCONF'}/$pkg/$dtype" || die "Unable to open dir $ENV{'PBCONF'}/$pkg/$dtype: $!");162 opendir(BDIR,"$ENV{'PBCONF'}/$pkg/$dtype") || die "Unable to open dir $ENV{'PBCONF'}/$pkg/$dtype: $!"; 163 163 foreach my $f (readdir(BDIR)) { 164 164 next if ($f =~ /^\./); … … 168 168 closedir(BDIR); 169 169 } elsif (-d "$ENV{'PBCONF'}/$pkg/$dfam") { 170 opendir(BDIR,"$ENV{'PBCONF'}/$pkg/$dfam" || die "Unable to open dir $ENV{'PBCONF'}/$pkg/$dfam: $!");170 opendir(BDIR,"$ENV{'PBCONF'}/$pkg/$dfam") || die "Unable to open dir $ENV{'PBCONF'}/$pkg/$dfam: $!"; 171 171 foreach my $f (readdir(BDIR)) { 172 172 next if ($f =~ /^\./); … … 176 176 closedir(BDIR); 177 177 } elsif (-d "$ENV{'PBCONF'}/$pkg/$ddir") { 178 opendir(BDIR,"$ENV{'PBCONF'}/$pkg/$ddir" || die "Unable to open dir $ENV{'PBCONF'}/$pkg/$ddir: $!");178 opendir(BDIR,"$ENV{'PBCONF'}/$pkg/$ddir") || die "Unable to open dir $ENV{'PBCONF'}/$pkg/$ddir: $!"; 179 179 foreach my $f (readdir(BDIR)) { 180 180 next if ($f =~ /^\./); … … 184 184 closedir(BDIR); 185 185 } elsif (-d "$ENV{'PBCONF'}/$pkg/$ddir-$dver") { 186 opendir(BDIR,"$ENV{'PBCONF'}/$pkg/$ddir-$dver" || die "Unable to open dir $ENV{'PBCONF'}/$pkg/$ddir-$dver: $!");186 opendir(BDIR,"$ENV{'PBCONF'}/$pkg/$ddir-$dver") || die "Unable to open dir $ENV{'PBCONF'}/$pkg/$ddir-$dver: $!"; 187 187 foreach my $f (readdir(BDIR)) { 188 188 next if ($f =~ /^\./); … … 269 269 chdir "$ENV{'PBDESTDIR'}"; 270 270 print $LOG "Creating $pkg tar files (gzip... " if ($debug >= 0); 271 # Possibility to look at PBSRC to guess more the filename 271 272 system("tar cfphz $pkg-$pbver.tar.gz $pkg-$pbver"); 272 273 if ($? == -1) { … … 300 301 # Get the running distro to build on 301 302 my ($ddir, $dver, $dfam, $dtype, $dsuf) = distro_init(); 302 print $LOG "DEBUG: distro tuple: ".Dumper($ddir, $dver, $dfam, $dtype, $dsuf)."\n" if ($debug >= 1); 303 303 print $LOG "DEBUG: distro tuple: ".join(',',($ddir, $dver, $dfam, $dtype, $dsuf))."\n" if ($debug >= 1); 304 305 chdir "$ENV{'PBBUILDDIR'}"; 304 306 foreach my $pkg (@pkgs) { 307 my $src="$ENV{'PBDESTDIR'}/$pkg-$pbver.tar.gz"; 308 print $LOG "Handling source file $src\n" if ($debug >= 0); 309 310 if ($dtype eq "rpm") { 311 # rpm has its own standard build directory 312 $ENV{'PBBUILDDIR'}=`rpmquery --eval '%{_topdir}' 2> /dev/null`; 313 chdir "$ENV{'PBBUILDDIR'}"; 314 foreach my $d ('RPMS','SRPMS','SPECS','SOURCES','BUILD') { 315 pbmkdir_p($d) if (! -d $d) || die "Please ensure that you can write into $ENV{'PBBUILDDIR'}\nSolution: setup _topdir in your ~/.rpmmacros or\nchown the $ENV{'PBBUILDDIR'} directory to your uid"; 316 } 317 318 # We need to first extract the spec file 319 print $LOG "Extracting spec file\n" if ($debug >= 0); 320 symlink $src,"SOURCES/" || die "Unable to symlink $src in SOURCES";; 321 chdir "SPECS"; 322 extract_build_files($src,"$pkg-$pbver/pbconf/$ddir-$dver/"); 323 324 # set LANGUAGE to check for correct log messages 325 $ENV{'LANGUAGE'}="C"; 326 system("rpmbuild -ba *.spec 2>&1 | tee "); 327 328 } elsif ($dtype eq "tgz") { 329 pbmkdir_p("$ENV{'PBBUILDDIR'}/install") if (! -d "$ENV{'PBBUILDDIR'}/install"); 330 } elsif ($dtype eq "ebuild") { 331 pbmkdir_p("$ENV{'PBBUILDDIR'}/portage") if (! -d "$ENV{'PBBUILDDIR'}/portage"); 332 } else { 333 } 305 334 } 306 335 } else { … … 371 400 } 372 401 402 sub extract_build_files { 403 404 my $src=shift; 405 my $dir=shift; 406 407 system("tar xfz $src $dir >/dev/null"); 408 if ($? == -1) { 409 print $LOG "failed to execute: $!\n" if ($debug >= 0); 410 } elsif ($? & 127) { 411 printf $LOG "child died with signal %d, %s coredump\n", ($? & 127), ($? & 128) ? 'with' : 'without' if ($debug >= 0); 412 } else { 413 print $LOG " OK\n" if ($debug >= 0); 414 } 415 opendir(DIR,"$dir") || die "Unable to open directory $dir"; 416 foreach my $f (readdir(DIR)) { 417 next if ($f =~ /^\./); 418 rename("$dir/$f","."); 419 } 420 closedir(DIR); 421 pbrm_rf("$dir"); 422 } 423 373 424 sub syntax { 374 425
Note:
See TracChangeset
for help on using the changeset viewer.