/dev/null || true` if [ -n \"\$package_exists\" ]; then echo \"Skipping build of $package\" exit 0 fi echo -n \"Building $package ... \" rm -f /var/lib/mock/jpackage/result/* mock -r jpackage --no-clean rebuild ".getcwd()."/SRPMS/${package}-*.src.rpm > run.log 2>&1 && ok=\"true\" || ok=\"false\" if [ \"\$ok\" == \"true\" ]; then echo \"OK\" mkdir -p /tmp/jpackage/ mv /var/lib/mock/jpackage/result/*.rpm /tmp/jpackage/ createrepo -q /tmp/jpackage/ else echo \"*** FAILED ***\" if [ ! -f /var/lib/mock/jpackage/result/root.log ]; then cat run.log rm -f run.log exit 1 fi missing_deps=`egrep \"Error: Missing Dependency|No Package Found\" /var/lib/mock/jpackage/result/root.log 2>/dev/null || true` # missing root.log shouldn't stop error display if [ -n \"\$missing_deps\" ]; then echo \$missing_deps > scripts/${package}.sh.log else tail -n 250 /var/lib/mock/jpackage/result/{root,build}.log > scripts/${package}.sh.log fi cat scripts/${package}.sh.log exit 1 fi"); fclose($fh); } // ********************************************************************* $requires = array(); $cdeps = array(); $hd = dir("./SRPMS"); print "Reading packages"; while($name = $hd->read()) { if(ereg("\.src\.rpm",$name)) { //print "name=$name\n"; $package = trim(`rpm -qp --queryformat=%{name} ./SRPMS/$name 2>/dev/null`); if(!in_array($package,$packages_not_to_rebuild)) { $requires[$package]=array(); exec("rpm -qp --requires ./SRPMS/$name 2>/dev/null",$results); foreach($results as $name) { if(ereg("^([^( /]+) ",$name,$matches)) { $requires[$package][]=$matches[1]; } } unset($results); print "."; } else { print "skipping $package\n"; } } } print "\n"; if(!is_dir("scripts")) mkdir("scripts",0777,true); if(!is_dir("/tmp/jpackage")) mkdir("scripts",0777,true); #print_r($requires); $reqtree = array(); print "Exanding dependancy tree"; foreach($requires as $package=>$reqs) { # print "$package\t requires (".implode(",",$reqs).")\n"; $reqtree[$package] = get_reqs($package); # print "$package\t requires tree (".implode(",",$reqtree[$package]).")\n"; # print "\n"; print "."; write_script($package,$requires[$package]); chmod("scripts/${package}.sh",0755); } print "\n"; print_r($cdeps); ?>