pecl redirects now; update pharext
[m6w6/replicator] / bin / fetch
index 0523c96a944c56f1e336950169a04966ed20e53b..c55e785d1f0530d8e5d287f3caa5c7028801445d 100755 (executable)
--- a/bin/fetch
+++ b/bin/fetch
@@ -12,28 +12,29 @@ $procs = [];
 $client = new Client;
 $client->setOptions([
        "timetout" => 60,
 $client = new Client;
 $client->setOptions([
        "timetout" => 60,
+       "redirect" => 1,
        "connecttimeout" => 6
 ]);
 
 while (!feof(STDIN)) {
        "connecttimeout" => 6
 ]);
 
 while (!feof(STDIN)) {
-       if (strlen($url = rtrim(fgets(STDIN)))) {
-               $url = new Url($url, null, 0);
-               $ver = basename($url->path);
-               $pkg = basename(dirname($url->path));
-               $skp = sprintf("%s/../build/%s-%s.skip", __DIR__, $pkg, $ver);
-               $tgz = sprintf("%s/../build/%s-%s.tgz", __DIR__, $pkg, $ver);
-               $ext = sprintf("%s/../public/phars/%s/%s-%s.ext.phar", __DIR__, $pkg, $pkg, $ver);
+   if (strlen($line = rtrim(fgets(STDIN)))) {
+        if (list($pkg, $ver, $url) = explode("\t", $line)) {
+                       $url = new Url($url, null, 0);
+                       $skp = sprintf("%s/../build/%s-%s.skip", __DIR__, $pkg, $ver);
+                       $tgz = sprintf("%s/../build/%s-%s.tgz", __DIR__, $pkg, $ver);
+                       $ext = sprintf("%s/../public/phars/%s/%s-%s.ext.phar", __DIR__, $pkg, $pkg, $ver);
 
 
-               if (is_file($skp)) {
-                       // skip
-               } elseif (is_file($tgz) || is_file($ext)) {
-                       printf("%s\t%s\t%s\n", $pkg, $ver, $tgz);
-               } else {
-                       $client->enqueue(new Request("GET", $url), function($res) use($tgz, $pkg, $ver) {
-                               $res->getBody()->toStream(fopen($tgz, "w"));
+                       if (is_file($skp)) {
+                               // skip
+                       } elseif (is_file($tgz) || is_file($ext)) {
                                printf("%s\t%s\t%s\n", $pkg, $ver, $tgz);
                                printf("%s\t%s\t%s\n", $pkg, $ver, $tgz);
-                               return true;
-                       });
+                       } else {
+                               $client->enqueue(new Request("GET", $url), function($res) use($tgz, $pkg, $ver) {
+                                       $res->getBody()->toStream(fopen($tgz, "w"));
+                                       printf("%s\t%s\t%s\n", $pkg, $ver, $tgz);
+                                       return true;
+                               });
+                       }
                }
        }
 }
                }
        }
 }