/[dehs]/trunk/dehs_pg.php
ViewVC logotype

Diff of /trunk/dehs_pg.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 25 by evaso-guest, Mon Jul 19 20:05:08 2004 UTC revision 26 by evaso-guest, Wed Aug 4 19:31:38 2004 UTC
# Line 53  if (in_array("-db_add",$argv))  db_add($ Line 53  if (in_array("-db_add",$argv))  db_add($
53                  elseif (in_array("-db_upstream",$argv))  db_upstream($argv[2]);                  elseif (in_array("-db_upstream",$argv))  db_upstream($argv[2]);
54                  elseif (in_array("-update_all",$argv))  update_all();                  elseif (in_array("-update_all",$argv))  update_all();
55                  elseif (in_array("-check_db",$argv))  check_db();                  elseif (in_array("-check_db",$argv))  check_db();
56                    elseif (in_array("-dehsqa_db",$argv))  dehsqa_db();
57                  elseif (in_array("-clear_db",$argv))  clear_db();                  elseif (in_array("-clear_db",$argv))  clear_db();
58                  elseif (in_array("-db_up_error",$argv))  db_up_error();                  elseif (in_array("-db_up_error",$argv))  db_up_error();
59                  elseif (in_array("-up_changes",$argv))  up_changes($argv[2]);                  elseif (in_array("-up_changes",$argv))  up_changes($argv[2]);
# Line 205  pg_exec($db, "CREATE UNIQUE INDEX idxbis Line 206  pg_exec($db, "CREATE UNIQUE INDEX idxbis
206              gzclose($zp) ;              gzclose($zp) ;
207          }          }
208      }      }
             clear_db();  
209             pg_close($db);             pg_close($db);
210               clear_db();
211  }  }
212  function db_query($pkg,$dist) {  function db_query($pkg,$dist) {
213          global $dirs,$dbconn;          global $dirs,$dbconn;
# Line 277  return array("md5"=>$matches[1],"bytes"= Line 278  return array("md5"=>$matches[1],"bytes"=
278  }  }
279    
280  function vers_conv($debvers) {  function vers_conv($debvers) {
281  preg_match("/(.+)(ds-|-)/",$debvers,$matches);  preg_match("/(.+:)?(.+)(ds-|-)/",$debvers,$matches);
282  return $matches[1];  return $matches[2];
283  }  }
284  function check_db() {  function check_db() {
285  global $dirs,$dbconn;  global $dirs,$dbconn;
# Line 404  $remotefile="http://popcon.debian.org/al Line 405  $remotefile="http://popcon.debian.org/al
405  }  }
406  function is_updated ($up_vers,$debian_vers) {  function is_updated ($up_vers,$debian_vers) {
407  if ($up_vers=='') return 0;  if ($up_vers=='') return 0;
408  passthru("dpkg --compare-versions '$up_vers' gt '" . vers_conv($debian_vers) . "'",$great);  passthru("dpkg --compare-versions '$up_vers' eq '" . vers_conv($debian_vers) . "'",$great);
409  if ($great==0) return 1;  if ($great!=0) return 1;
410  else return 0;  else return 0;
411  }  }
412  function db_upstream($initial='%') {  function db_upstream($initial='%') {
# Line 579  function watch_fill($src_name='%'){ Line 580  function watch_fill($src_name='%'){
580                  $contents=@file_get_contents($url) or '';                  $contents=@file_get_contents($url) or '';
581                  $space='';                  $space='';
582                  if (!$contents) {                  if (!$contents) {
583                            $url="http://packages.debian.org/changelogs/pool/" .
584                            $res_array["section"] . "/" .
585                            $initial . "/" .
586                            $res_array["name"] ."/" .
587                            $res_array["name"] . "_" .
588                            $res_array["version"] . "/" . $res_array["name"] . ".copyright";
589                            $contents=@file_get_contents($url) or '';
590                    }
591                    if (!$contents) {
592                          $notfound++;                          $notfound++;
593                          pg_exec($db, "UPDATE pkgs SET wwiz_type='no_cright' where name='" . $res_array[name] . "' AND dist='" . $res_array[dist] ."'");                          pg_exec($db, "UPDATE pkgs SET wwiz_version=NULL, wwiz_type='no_cright' where name='" . $res_array[name] . "' AND dist='" . $res_array[dist] ."'");
594                  }                  }
595                  else {                  else {
596                          $res=preg_match ('/(sf\.net|sourceforge\.net)/',$contents,$matches);                          $res=preg_match ('/(sf\.net|sourceforge\.net)/',$contents,$matches);
# Line 604  function watch_fill($src_name='%'){ Line 614  function watch_fill($src_name='%'){
614                          if (!$res) {                          if (!$res) {
615                                  $notmatch++;                                  $notmatch++;
616                                  $contents=iconv("ISO-8859-1","UTF-8",$contents);                                  $contents=iconv("ISO-8859-1","UTF-8",$contents);
617                                  pg_exec($db, "UPDATE pkgs SET wwiz='" . addslashes($contents) . "', wwiz_type='notmatch', up_url='', up_changes='',keep_changes='f' where name='" . $res_array[name] . "' AND dist='" . $res_array[dist] ."'");                                  pg_exec($db, "UPDATE pkgs SET wwiz_version=NULL, wwiz='" . addslashes($contents) . "', wwiz_type='notmatch', up_url='', up_changes='',keep_changes='f' where name='" . $res_array[name] . "' AND dist='" . $res_array[dist] ."'");
618                          }                          }
619                          else {                          else {
620                                  if (!preg_match("/$res_array[name]/",$matches[1])) {                                  if (!preg_match("/$res_array[name]/",$matches[1])) {
# Line 613  function watch_fill($src_name='%'){ Line 623  function watch_fill($src_name='%'){
623                                  }                                  }
624                                  else $depured_debian_name=$res_array[name];                                  else $depured_debian_name=$res_array[name];
625                                  $watch="version=2\n" .                                  $watch="version=2\n" .
626                                  $matches[1]  . $space . $depured_debian_name . "-([\d+\.]+|\d+)(\.tar|\.tgz)(\.gz|\.bz2|) debian uupdate";                                  $matches[1]  . $space . $depured_debian_name . "-?_?([\d+\.]+|\d+)(\.tar|\.tgz)(\.gz|\.bz2|) debian uupdate";
627                                  $uscan_res=uscan_foo($res_array['name'] ,$res_array['version'],$watch);                                  $uscan_res=uscan_foo($res_array['name'] ,$res_array['version'],$watch);
628                          if ($uscan_res[1] AND !$uscan_res[0]) {                          if ($uscan_res[1] AND !$uscan_res[0]) {
629                                  pg_exec($db, "UPDATE pkgs SET wwiz='" . addslashes($uscan_res[1]) . "', wwiz_type='error', up_url='', up_changes='', keep_changes='f' where name='" . $res_array[name] . "' AND dist='" . $res_array[dist] ."'");                                  pg_exec($db, "UPDATE pkgs SET wwiz_version=NULL, wwiz='" . addslashes($uscan_res[1]) . "', wwiz_type='error', up_url='', up_changes='', keep_changes='f' where name='" . $res_array[name] . "' AND dist='" . $res_array[dist] ."'");
630                                  $errors++;                                  $errors++;
631                          }                          }
632                          else {                          else {
# Line 634  function watch_fill($src_name='%'){ Line 644  function watch_fill($src_name='%'){
644          print "Automatic genereted watch file failure: $errors\n";          print "Automatic genereted watch file failure: $errors\n";
645          pg_close($db);          pg_close($db);
646  }  }
647    function dbqa_conn ($dbname,$mode) {
648    $id = dba_open($dbname, $mode, "db2");
649    if (!$id) {
650       echo "dba_open failed\n";
651       exit;
652    }
653    return $id;
654    }
655    function dehsqa_db () {
656    #to complete!!!
657    #print phpinfo();
658            global $dirs,$dbconn;
659            $dir1='/org/alioth.debian.org/chroot/home/groups/dehs/htdocs/';
660            $dir2="/org/qa.debian.org/data/dehs/";
661            $dists=array("unstable","experimental");
662            foreach ($dists as $dist) {
663                    $id=dbqa_conn($dir1 . "dehs_qa_" . $dist . ".db",'n');
664                    $db = pg_pconnect($dbconn) or DIE ("Db error");
665                    $sql="SELECT name, id, up_version, wwiz_version, watch, wwiz_type, watch_warn, updated FROM pkgs WHERE dist='$dist'";
666                    $rsql=pg_exec($db, $sql);
667                    while($res_array=pg_fetch_array($rsql)) {
668                            if (!$res_array[watch]) $version="N/A";
669                            elseif (!$res_array[up_version]) $version="Error";
670                            else $version=$res_array[up_version];
671                            if ($res_array[wwiz_type]=="watch") $wwiz=$res_array[wwiz_version];
672                            else $wwiz=$res_array[wwiz_type];
673                            $xml="<data><id>$res_array[id]</id>" .
674                                    "<up_version>$version</up_version>" .
675                                    "<wwiz>$wwiz</wwiz>" .
676                                    "</data>";
677                            $value=addslashes($xml);
678                            dba_replace($res_array[name],$xml,$id);
679                    }
680                    dba_optimize($id);
681                    dba_close($id);
682                    pg_close($db);
683            }
684    }
685    function md5_of_file($inFile) {
686       if (file_exists($inFile)) {
687           $fd = fopen($inFile, 'r');
688           $fileContents = fread($fd, filesize($inFile));
689           fclose ($fd);
690           return md5($fileContents);
691       } else {
692           return false;
693       }
694    }
695  function update_all() {  function update_all() {
696  global $email;  global $email;
697  $intime=gmdate('D, d M Y H:i:s \C\E\S\T',time()+3600*2);  $intime=gmdate('D, d M Y H:i:s \C\E\S\T',time()+3600*2);
# Line 645  db_up_error(); Line 703  db_up_error();
703  db_upstream();  db_upstream();
704  watch_fill();  watch_fill();
705  up_changes();  up_changes();
706    dehsqa_db();
707  $endtime=gmdate('D, d M Y H:i:s \C\E\S\T',time()+3600*2);  $endtime=gmdate('D, d M Y H:i:s \C\E\S\T',time()+3600*2);
708  $messaggio="Dehs executed successful\nBegin: $intime\nEnd: $endtime";  $messaggio="Dehs executed successful\nBegin: $intime\nEnd: $endtime";
709  mail($email, "DEHS report", $messaggio,  mail($email, "DEHS report", $messaggio,
# Line 652  mail($email, "DEHS report", $messaggio, Line 711  mail($email, "DEHS report", $messaggio,
711       "Reply-To: dehs-noreply@{$_SERVER['SERVER_NAME']}\r\n" .       "Reply-To: dehs-noreply@{$_SERVER['SERVER_NAME']}\r\n" .
712       "X-Mailer: PHP/" . phpversion());       "X-Mailer: PHP/" . phpversion());
713  }  }
 function md5_of_file($inFile) {  
    if (file_exists($inFile)) {  
        $fd = fopen($inFile, 'r');  
        $fileContents = fread($fd, filesize($inFile));  
        fclose ($fd);  
        return md5($fileContents);  
    } else {  
        return false;  
    }  
 }  
714  ?>  ?>

Legend:
Removed from v.25  
changed lines
  Added in v.26

  ViewVC Help
Powered by ViewVC 1.1.5