13 if($url == "" || $file == "") {
14 echo "need a url and file\n";
18 if(file_exists("$file/repodata/repoupdate.lock")) {
20 $lf = fopen("$file/repodata/repoupdate.lock", "r");
22 $lockres = flock($lf, LOCK_EX|LOCK_NB);
24 error_log("flock did fail, all is right with the world a download is in progress");
28 error_log("weird problem");
32 $lf = fopen("$file/repodata/repoupdate.lock", "w");
33 flock($lf, LOCK_EX|LOCK_NB);
35 error_log("called with $url and $file");
37 $actionurl = "$url/repodata/repomd.xml";
38 $repomdxml = file_get_contents($actionurl);
39 if(file_exists("$file/repodata/repomd.xml.new")) unlink("$file/repodata/repomd.xml.new");
40 file_put_contents("$file/repodata/repomd.xml.new", $repomdxml);
43 $xml = simplexml_load_file("$file/repodata/repomd.xml.new");
46 foreach($xml as $key => $var) {
47 //echo "for key $key has:\n";
50 $fileloc = $var->location["href"];
51 if(!file_exists("$file/$fileloc")) {
52 error_log("getting $file/$fileloc on $url/$fileloc");
53 $dlfile = file_get_contents("$url/$fileloc");
54 file_put_contents("$file/$fileloc", $dlfile);
56 error_log("Not getting $fileloc because we already have it");
61 unlink("$file/repodata/repoupdate.lock");
62 if(file_exists("$file/repodata/repomd.xml")) {
63 unlink("$file/repodata/repomd.xml");
65 rename("$file/repodata/repomd.xml.new", "$file/repodata/repomd.xml")
67 // TODO: check for outdated repodata files and delete