-for my $distro (@distrouse) {
- my $rpmbuild="rpmbuild";
-
- my $cvsbasedir;
- my $cvsroot;
- my $cvsrepo;
- if ($component=~/^fedora(gdb|binutils|glibc)$/) {
- $cvsrepo=$1;
- $cvsbasedir="F-$1" if $distro=~/^fedora-(\d+)-$arches_re$/;
- $cvsbasedir="devel" if $distro=~/^fedora-rawhide-$arches_re$/;
- die "$component vs. $distro" if !$cvsbasedir;
- $cvsroot=$fedoracvsroot;
- }
- if ($component=~/^rhel(gdb|binutils|glibc)$/) {
- $cvsrepo=$1;
- $cvsbasedir="RHEL-$1" if $distro=~/^epel-(\d+)-$arches_re$/;
- die "$component vs. $distro" if !$cvsbasedir;
- $cvsroot=$rhelcvsroot;
- # EPEL still uses Berkeley DB version 8 while F-11+ (F-10?) uses version 9.
- # Using db_dump and db_load would no longer make it mock compatible.
- $rpmbuild.=q{ --dbpath $PWD --nodeps};
- }
+while (@distrouse || keys(%child)) {
+ while (keys(%child)<$distrojobs && @distrouse) {
+ my $distrouse=shift @distrouse;
+ my $distro=$distrouse->{"distro"};
+ my $componentdistro=$distrouse->{"componentdistro"};
+ my $target=$distrouse->{"target"};
+ my $rpmbuild="rpmbuild";
+
+ my $cvsbasedir;
+ my $cvsroot;
+ my $cvsrepo;
+ if ($component=~/^fedora(.*)$/) {
+ $cvsrepo=$1;
+ $cvsbasedir="F-$1" if $componentdistro=~/^fedora-(\d+)$/;
+ $cvsbasedir="devel" if $componentdistro=~/^fedora-rawhide$/;
+ die "$component vs. $componentdistro" if !$cvsbasedir;
+ $cvsroot=$fedoracvsroot;
+ }
+ if ($component=~/^rhel(.*)$/) {
+ $cvsrepo=$1;
+ $cvsbasedir="RHEL-$1" if $componentdistro=~/^epel-(\d+)$/;
+ die "$component vs. $componentdistro" if !$cvsbasedir;
+ $cvsroot=$rhelcvsroot;
+ # EPEL still uses Berkeley DB version 8 while F-11+ (F-10?) uses version 9.
+ # Using db_dump and db_load would no longer make it mock compatible.
+ $rpmbuild.=q{ --dbpath $PWD --nodeps};
+ }