diff options
Diffstat (limited to 'refresh.php')
-rw-r--r-- | refresh.php | 197 |
1 files changed, 7 insertions, 190 deletions
diff --git a/refresh.php b/refresh.php index 14b0020..6c7827b 100644 --- a/refresh.php +++ b/refresh.php @@ -63,6 +63,7 @@ try { echo date("r : ") . "Refreshing " . MYBASE . " database\n"; if ($_SERVER['argc']==1 || in_array('repo', $_SERVER['argv'])) { + if (in_array('empty', $_SERVER['argv'])) { $crit = array('stamp' => null); } else if (in_array('old', $_SERVER['argv'])) { @@ -72,7 +73,7 @@ try { } Parser::readRpm(new TableRpm($db), new TableRpmRepo($db), $crit); - } // If ask + } // ------------------------------------------------------------------- // Upstream Version @@ -83,202 +84,19 @@ try { if ($_SERVER['argc']==1 || in_array('pecl', $_SERVER['argv'])) { Parser::readPecl($uptable, 'http://pecl.php.net/xmlrpc.php'); - - } // if in options + } // ------------------------------------------------------------------- if ($_SERVER['argc']==1 || in_array('pear', $_SERVER['argv'])) { - echo date("r : ") . "PEAR reading channels\n"; - $pear = new TablePearRepo($db); - $channels = $pear->getAllRepo(true); - try { - $nbtot=0; - - foreach ($channels as $channelname => $channelurl) { - $channel = @simplexml_load_file("http://$channelurl/channel.xml"); - if (!$channel) { - throw new Exception( - "can't read PEAR site (channel of $channelname)" - ); - } - - $rest = $channel->servers->primary->rest->baseurl[0]; - echo date("r : ") . "PEAR reading channel=$channelname" . - ", baseurl = $rest\n"; - - $categories = @simplexml_load_file($rest."c/categories.xml"); - if (!$categories) { - throw new Exception("can't read PEAR site (categories)"); - } - - $crit = array('type'=>'pear', 'channel'=>$channelname); - $nb = $uptable->delete($crit); - echo date("r : ") . "Delete $nb packages\n"; - - $nb=0; - if (!isset($categories->c[0])) { - echo date("r : ") . "Reading ALL\n"; // ezc only - $pitxt = @file_get_contents($rest."p/packages.xml"); - if (!$pitxt) { - throw new Exception( - "can't read PEAR site (".$rest."p/packagesinfo.xml)" - ); - } - $allpi = @simplexml_load_string($pitxt); - foreach ($allpi->p as $name) { - $pitxt = @file_get_contents( - $rest."r/".strtolower($name)."/allreleases.xml" - ); - if (!$pitxt) { - throw new Exception( - "can't read PEAR site (".$rest."r/". - strtolower($name)."/allreleases.xml" - ); - } - $pi = @simplexml_load_string($pitxt); - - $rpmname1="php-".$channelname."-". - str_replace("_", "-", $name); - $rpmname2="php-".$channelname."-".$name; - - //echo $rpmname ."/".(string)$pi->r[0]->v."/". - // (string)$pi->r[0]->s."\n"; - $uptable->record( - "pear", - $channelname, - $rpmname1, - (string)$pi->r[0]->v, - false, - (string)$pi->r[0]->s - ); - $uptable->record( - "pear", - $channelname, - $rpmname2, - (string)$pi->r[0]->v, - false, - (string)$pi->r[0]->s - ); - foreach ($pi->r as $rev) { - if ($rev->s=='stable') { - //echo $rpmname ."/".(string)$rev->v."/". - // (string)$rev->s."\n"; - $uptable->record( - "pear", - $channelname, - $rpmname1, - (string)$rev->v, - true - ); - $uptable->record( - "pear", - $channelname, - $rpmname2, - (string)$rev->v, - true - ); - break; - } - } - $nb++; - } - } else { - foreach ($categories->c as $cat) { - echo date("r : ") . "Reading $cat\n"; - - $pitxt = @file_get_contents( - $rest."c/".urlencode($cat)."/packagesinfo.xml" - ); - if (!$pitxt) { - throw new Exception( - "can't read PEAR site (".$rest."c/". - urlencode($cat)."/packagesinfo.xml)" - ); - } - $pitxt = "<?" . preg_replace( - "/<\?xml.*?>/U", - "", - str_replace("\r\n", "\n", substr($pitxt, 2)) - ); - - $pi = @simplexml_load_string($pitxt); - if (!$pi) { - throw new Exception("can't read response ($cat)"); - } - foreach ($pi->pi as $ps) { - if (isset($ps->p->n) && isset($ps->a->r)) { - $name=(string)$ps->p->n; - - if ($channelname=='phing' && $name=='phing') { - $rpmname1="php-pear-phing"; - } else if ($channelname=='phpunit' - && $name=='PHPUnit' - ) { - $rpmname1="php-pear-PHPUnit"; - } else { - $rpmname1="php-".$channelname."-". - str_replace("_", "-", $name); - } - $rpmname2="php-".$channelname."-".$name; - - $uptable->record( - "pear", - $channelname, - $rpmname1, - (string)$ps->a->r[0]->v, - false, - (string)$ps->a->r[0]->s - ); - $uptable->record( - "pear", - $channelname, - $rpmname2, - (string)$ps->a->r[0]->v, - false, - (string)$ps->a->r[0]->s - ); - foreach ($ps->a->r as $rev) { - if ($rev->s=='stable') { - $uptable->record( - "pear", - $channelname, - $rpmname1, - (string)$rev->v, - true - ); - $uptable->record( - "pear", - $channelname, - $rpmname2, - (string)$rev->v, - true - ); - break; - } - } - $nb++; - // echo $ps->p->n."\n"; - } - } - } - } - echo date("r : ") . "read $nb packages in $channelname\n"; - $nbtot += $nb; - } - echo date("r : ") . "read $nbtot packages in all channels\n"; - - } catch (Exception $e) { - echo date("r : ") . 'ERROR ' . $e->getMessage(), "\n"; - } - } // if in options + Parser::readPear($uptable, new TablePearRepo($db)); + } // ------------------------------------------------------------------- if ($_SERVER['argc']==1 || in_array('R', $_SERVER['argv'])) { Parser::readR($uptable, new TableRRepo($db)); - - } // If R in options + } // ------------------------------------------------------------------- // Package Owners from pkgdb (thanks Smootherfrog) @@ -287,8 +105,7 @@ try { $url = "https://admin.fedoraproject.org/pkgdb/lists/bugzilla?tg_format=plain"; Parser::readAcls(new TableAcls($db), $url); - - } // If in options + } } catch(PDOException $e) { printf("%s ERREUR : %s\n", date("r"), $e->getMessage()); |