Changeset 1728 in ProjectBuilder
- Timestamp:
- Mar 17, 2013, 6:10:40 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pb/bin/pb
r1726 r1728 2684 2684 2685 2685 my ($tmpcmd,$void) = split(/ +/,$cmd); 2686 my $vmexist= pb_check_ps($tmpcmd,$vmm);2686 my ($vmexist,$vmmport) = pb_check_ps($tmpcmd,$vmm); 2687 2687 my $vmpid = 0; 2688 2688 if (! $vmexist) { … … 2723 2723 } else { 2724 2724 pb_log(0,"Found an existing VM $vmm (pid $vmexist)\n"); 2725 # Set the correct port here based on what is done 2726 $pbport = $vmmport; 2727 $vmpid = $vmexist; 2725 2728 } 2726 2729 pb_log(2,"DEBUG: pb_launchv returns ($vmexist,$vmpid)\n"); … … 3734 3737 my $ntag = "[2-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]"; 3735 3738 $pbver .= $ntag; 3736 $findstr .= "-name \'$pbrealpkgrpm-$pbver-$pbtag\.*.rpm\' -o -name \'$pbrealpkgrpm-debug-$pbver-$pbtag\.*.rpm\' -o -name \'$pbrealpkgdeb"."_$pbver-$pbtag"."_*\.deb\' -o -name \'$pbrealpkgdeb"."_$pbver-$pbtag.dsc\' -o -name \'$pbrealpkgdeb"."_$pbver-$pbtag.tar.gz\' -o -name \'$pbrealpkg-$nver"."_p$ntag\.ebuild\' -o -name \'$pbrealpkg-$pbver-$pbtag*\.pkg\ ' -o -name \'$pbrealpkg-$pbver-$pbtag*\.sd\' ";3739 $findstr .= "-name \'$pbrealpkgrpm-$pbver-$pbtag\.*.rpm\' -o -name \'$pbrealpkgrpm-debug-$pbver-$pbtag\.*.rpm\' -o -name \'$pbrealpkgdeb"."_$pbver-$pbtag"."_*\.deb\' -o -name \'$pbrealpkgdeb"."_$pbver-$pbtag.dsc\' -o -name \'$pbrealpkgdeb"."_$pbver-$pbtag.tar.gz\' -o -name \'$pbrealpkg-$nver"."_p$ntag\.ebuild\' -o -name \'$pbrealpkg-$pbver-$pbtag*\.pkg\.gz\' -o -name \'$pbrealpkg-$pbver-$pbtag*\.sd\' "; 3737 3740 $srcstr .= "src/$pbrealpkg-$pbver.tar.gz src/$pbrealpkg-$pbver.pbconf.tar.gz "; 3738 3741 } else { … … 3749 3752 $nver = $pbver."-r$pbtag"; 3750 3753 } 3751 $findstr .= "-name \'$pbrealpkgrpm-$pbver-$pbtag\.*.rpm\' -o -name \'$pbrealpkgdeb"."_$pbver-$pbtag"."_*\.deb\' -o -name \'$pbrealpkg-$nver\.ebuild\' -o -name \'$pbrealpkg-$pbver\.pkg\ ' -o -name \'$pbrealpkg-$pbver\.sd\' ";3754 $findstr .= "-name \'$pbrealpkgrpm-$pbver-$pbtag\.*.rpm\' -o -name \'$pbrealpkgdeb"."_$pbver-$pbtag"."_*\.deb\' -o -name \'$pbrealpkg-$nver\.ebuild\' -o -name \'$pbrealpkg-$pbver\.pkg\.gz\' -o -name \'$pbrealpkg-$pbver\.sd\' "; 3752 3755 } 3753 3756 … … 3793 3796 $archlist{"$pbos->{'name'}/$pbos->{'version'}/$pbrealpkg-$pbver$prefix$pbtag.ebuild"} = "$pbos->{'arch'}"; 3794 3797 } elsif ($pbos->{'type'} eq "pkg") { 3795 $theorlist{"$pbos->{'name'}/$pbos->{'version'}/$pbos->{'arch'}/$pbrealpkg-$pbver-$pbtag.pkg "} = 0;3798 $theorlist{"$pbos->{'name'}/$pbos->{'version'}/$pbos->{'arch'}/$pbrealpkg-$pbver-$pbtag.pkg.gz"} = 0; 3796 3799 } else { 3797 3800 pb_log(1,"No theoritical list possible for type $pbos->{'type'}\n"); … … 3917 3920 $excl .= $chkex->{$pkgn} if (defined $chkex->{$pkgn}); 3918 3921 $excl .= $chkex->{"all"} if (defined $chkex->{"all"}); 3922 3923 pb_log(2,"Searching in excl $excl\n"); 3919 3924 foreach my $ex (split(/,/,$excl)) { 3920 3925 $found = 1 if ("$os-$ver-$arch" =~ /^$ex/); … … 4160 4165 4161 4166 4162 # Returns the pid of a running VM command using a specific VM file 4167 # Returns the pid of a running VM command using a specific VM file, and the port used if the VM exists 4163 4168 sub pb_check_ps { 4164 4169 my $vmcmd = shift; 4165 4170 my $vmm = shift; 4166 4171 my $vmexist = 0; # FALSE by default 4172 my $vmport = undef; # NONE by default 4167 4173 4168 4174 open(PS, "ps auxhww|") || die "Unable to call ps"; … … 4171 4177 next if (! /$vmm/); 4172 4178 my ($void1, $void2); 4173 ($void1, $vmexist, $void2) = split(/ +/); 4179 ($void1, $vmexist, $vmport) = split(/ +/,$_,3); 4180 pb_log(2,"pb_check_ps $vmport\n"); 4181 $vmport =~ s/.*\stcp\:([0-9]+)\:10.0.2.15:22.*/$1/; 4182 chomp($vmport); 4183 pb_log(2,"pb_check_ps found a VM $vmexist using port $vmport\n"); 4174 4184 last; 4175 4185 } 4186 # Maintain compatibility by just returning PID if no port 4187 return($vmexist,$vmport) if (defined $vmport); 4176 4188 return($vmexist); 4177 4189 } … … 4331 4343 } 4332 4344 pb_log(2,"pb_get_port with $nport\n"); 4333 # Maybe a port was given as parameter so overwrite 4334 $nport = "$pbport" if (defined $pbport); 4335 # Maybe in // mode so use the env var set up as an offset to the base port, except when called from send2target for Packages or for RM 4336 if (($cmt ne "Packages") && ($cmt !~ /^RM/i)) { 4345 if ($cmt =~ /^VM/i) { 4346 # Maybe a port was given as parameter so overwrite 4347 $nport = "$pbport" if (defined $pbport); 4348 # Maybe in // mode so use the env var set up as an offset to the base port 4337 4349 $nport += $ENV{'PBVMPORT'} if ((defined $pbparallel) && (defined $ENV{'PBVMPORT'})); 4338 4350 }
Note:
See TracChangeset
for help on using the changeset viewer.