Changeset 1597 in ProjectBuilder for devel/pb/bin
- Timestamp:
- May 26, 2012, 2:13:12 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pb/bin/pb
r1595 r1597 42 42 43 43 # Global variables 44 $Global::pb_stop_on_error = 1; 44 $Global::pb_stop_on_error = 1; # True by default 45 $Global::pb_show_sudo = 0; # False by default 46 45 47 my %opts; # CLI Options 46 48 my $action; # action to realize … … 739 741 # Check for command requirements 740 742 # 741 my ($req,$opt,$pbpara ) = pb_conf_get_if("oscmd","oscmdopt","pbparallel");743 my ($req,$opt,$pbpara,$pbshowsudo) = pb_conf_get_if("oscmd","oscmdopt","pbparallel","pbshowsudo"); 742 744 pb_check_requirements($req,$opt,$appname); 745 746 $Global::pb_show_sudo = 1 if ((defined $pbshowsudo) && (defined $pbshowsudo->{$ENV{'PBPROJ'}}) && ($pbshowsudo->{$ENV{'PBPROJ'}} =~ /true/oi)); 743 747 744 748 # … … 1432 1436 pb_mkdir_p($tmpd) if (defined $pbparallel); 1433 1437 1438 # Do it here as this doesn't work in // mode as itdies if it fails 1439 if ($pbos->{'type'} eq "rpm") { 1440 foreach my $d ('RPMS','SRPMS','SPECS','SOURCES','BUILD') { 1441 if (! -d "$ENV{'PBBUILDDIR'}/$d") { 1442 pb_mkdir_p("$ENV{'PBBUILDDIR'}/$d"); 1443 } 1444 } 1445 } 1446 1434 1447 foreach my $pbpkg (@pkgs) { 1435 1448 $pm->start and next if (defined $pbparallel); … … 1447 1460 pb_log(2,"Working directory: $ENV{'PBBUILDDIR'}\n"); 1448 1461 if ($pbos->{'type'} eq "rpm") { 1449 foreach my $d ('RPMS','SRPMS','SPECS','SOURCES','BUILD') {1450 if (! -d "$ENV{'PBBUILDDIR'}/$d") {1451 pb_mkdir_p("$ENV{'PBBUILDDIR'}/$d");1452 }1453 }1454 1455 1462 # Remove in case a previous link/file was there 1456 1463 unlink "$ENV{'PBBUILDDIR'}/SOURCES/".basename($src); … … 1548 1555 #pb_extract_build_files($src2,"$pbpkg-$pbver$pbextdir/pbconf/$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'}/pbsrc/","$ENV{'PBBUILDDIR'}/debian","src"); 1549 1556 1557 # This can create problems in // mode as well 1550 1558 pb_distro_installdeps("debian/control",$pbos); 1551 1559 pb_system("dpkg-buildpackage -us -uc -rfakeroot","Building package","verbose"); 1560 1552 1561 # Get the name of the generated packages 1553 1562 open(LOG,"$ENV{'PBTMP'}/system.$$.log") || die "Unable to open $ENV{'PBTMP'}/system.$$.log"; 1554 my $tmp = "";1555 1563 while (<LOG>) { 1556 1564 chomp(); 1565 pb_log(3,"In loop: $_\n"); 1557 1566 next unless (/^dpkg-deb.*:\s+building\s+package\s+.*\s+in\s+\`\.\.\/(\S+)\'\./o); 1558 $tmp = $1; 1559 die "Missing file $tmp" if (not -f $tmp); 1567 my $tmp = $1; 1568 #doesn't work in my case 1569 #die "Missing file $tmp" if (not -f "../$tmp"); 1560 1570 $made = "$made $tmp"; 1561 1571 } 1562 1572 close(LOG); 1563 open(CTRL,"debian/control") or die "Unable to open debian/control: $!"; 1564 #$made="$made $tmp.dsc $tmp.tar.gz $tmp"."_*.deb $tmp"."_*.changes"; 1573 pb_log(2,"Now made is: $made\n"); 1574 1575 open(CTRL,"debian/control") || die "Unable to open debian/control: $!"; 1565 1576 while (<CTRL>) { 1577 pb_log(3,"In loop: $_\n"); 1566 1578 next unless (/^Source: (\S+)/o); 1567 foreach my $glob (("$1\_*.changes", "$1\_*.dsc", "$1\_*.tar.gz")) { 1568 my @file = glob($glob); 1569 die "Missing file for $glob" unless @file > 0; 1570 die "Too many files for $glob" if @file > 1; 1571 die "Missing file $file[0]" if (not -f $file[0]); 1572 $made .= " $file[0]"; 1573 } 1579 my $tmp = $1; 1580 $made = "$made $tmp"."_*.dsc $tmp"."_*.tar.gz $tmp"."_*.deb $tmp"."_*.changes"; 1581 #doesn't work in my case 1582 #foreach my $glob (("$1\_*.changes", "$1\_*.dsc", "$1\_*.tar.gz")) { 1583 #my @file = glob($glob); 1584 #die "Missing file for $glob" unless (@file > 0); 1585 #die "Too many files for $glob" if (@file > 1); 1586 #die "Missing file $file[0]" if (not -f $file[0]); 1587 #$made .= " $file[0]"; 1588 #} 1574 1589 } 1575 1590 close(CTRL); 1576 pb_display_file("$ENV{'PBTMP'}/system.$$.log"); 1591 #pb_display_file("$ENV{'PBTMP'}/system.$$.log"); 1592 pb_log(2,"Finally made is: $made\n"); 1577 1593 1578 1594 chdir ".." || die "Unable to chdir to parent dir"; 1579 pb_rm_rf("$pbpkg-$pbver ");1595 pb_rm_rf("$pbpkg-$pbver$pbextdir"); 1580 1596 } elsif ($pbos->{'type'} eq "ebuild") { 1581 1597 my @ebuildfile; … … 2345 2361 # For VE we need to change the owner manually 2346 2362 if ($cmt eq "VEbuild") { 2347 pb_system("sudo chown $UID $ENV{'PBBUILDDIR'}/pbgen-$ENV{'PBPROJVER'}-$ENV{'PBPROJTAG'}.$$","Adapt owner in $tdir to $UID"); 2363 my $command = pb_check_req("chown",0); 2364 pb_system("sudo $command $UID $ENV{'PBBUILDDIR'}/pbgen-$ENV{'PBPROJVER'}-$ENV{'PBPROJTAG'}.$$","Adapt owner in $tdir to $UID"); 2348 2365 } 2349 2366 if (not -f "$ENV{'PBBUILDDIR'}/pbgen-$ENV{'PBPROJVER'}-$ENV{'PBPROJTAG'}.$$") { … … 2733 2750 $i++; 2734 2751 } 2735 print SCRIPT "set -e\n" if $Global::pb_stop_on_error;2752 print SCRIPT "set -e\n" if ($Global::pb_stop_on_error); 2736 2753 # Activate script verbosity if at least 2 for pbdebug 2737 2754 print SCRIPT "set -x\n" if ($i gt 1);
Note:
See TracChangeset
for help on using the changeset viewer.