Changes in devel/pb/lib/common.pm [18:30] in ProjectBuilder


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • devel/pb/lib/common.pm

    r18 r30  
    8989# Set delivery directory
    9090#
    91 $ENV{'PBTOPDIR'}="$ENV{'PBROOT'}/../delivery";
     91chdir "$ENV{'PBROOT'}/..";
     92my $path = `pwd`;
     93chomp($path);
     94$ENV{'PBTOPDIR'}=$path."/delivery";
    9295$ENV{'PBDESTDIR'}="$ENV{'PBTOPDIR'}/$ENV{'PBVER'}-$ENV{'PBTAG'}";
    93 pbrm_rf($ENV{'PBDESTDIR'}) if (-d "$ENV{'PBDESTDIR'}");
    94 pbmkdir_p($ENV{'PBDESTDIR'}) || die "Unable to recursively create $ENV{'PBDESTDIR'}";
     96if (-d $ENV{'PBDESTDIR'}) {
     97    opendir(DIR,$ENV{'PBDESTDIR'}) || die "Unable to open directory $ENV{'PBDESTDIR'}: $!";
     98    foreach my $d (readdir(DIR)) {
     99        next if ($d =~ /^\./);
     100        pbrm_rf("$ENV{'PBDESTDIR'}/$d") if (-d "$ENV{'PBDESTDIR'}/$d");
     101    }
     102    closedir(DIR);
     103}
     104if (! -d "$ENV{'PBDESTDIR'}") {
     105    pbmkdir_p($ENV{'PBDESTDIR'}) || die "Unable to recursively create $ENV{'PBDESTDIR'}";
     106}
     107
     108#
     109# Set build directory
     110#
     111$ENV{'PBBUILDDIR'}=$path."/build";
     112pbrm_rf($ENV{'PBBUILDDIR'}) if (-d "$ENV{'PBBUILDDIR'}");
     113pbmkdir_p($ENV{'PBBUILDDIR'}) || die "Unable to recursively create $ENV{'PBBUILDDIR'}";
    95114
    96115umask 0022;
     
    99118
    100119sub pbmkdir_p {
    101     my @dir = @_;
    102     my $ret = mkpath(@dir, 0, 0755);
    103     return($ret);
     120my @dir = @_;
     121my $ret = mkpath(@dir, 0, 0755);
     122return($ret);
    104123}
    105124
    106125sub pbrm_rf {
    107     my @dir = @_;
    108     my $ret = rmtree(@dir, 0, 0);
    109     return($ret);
     126my @dir = @_;
     127my $ret = rmtree(@dir, 0, 0);
     128return($ret);
    110129}
    111130
     131sub pbsystem {
     132
     133my $cmd=shift;
     134my $cmt=shift || $cmd;
     135
     136print $LOG "$cmt... ";
     137system("$cmd");
     138if ($? == -1) {
     139    print $LOG "failed to execute: $!\n" if ($debug >= 0);
     140} elsif ($? & 127) {
     141    printf $LOG "child died with signal %d, %s coredump\n", ($? & 127),  ($? & 128) ? 'with' : 'without' if ($debug >= 0);
     142} else {
     143    print $LOG "OK\n" if ($debug >= 0);
     144}
     145}
    1121461;
Note: See TracChangeset for help on using the changeset viewer.