| 58 |
} |
} |
| 59 |
} |
} |
| 60 |
|
|
| 61 |
if (in_array("-db_add",$argv)) db_add((isset($argv[2])?$argv[2]:''), false); |
if (in_array("-db_add",$argv)) db_add((!empty($argv[2])?$argv[2]:''), false); |
| 62 |
elseif (in_array("-db_query",$argv)) db_query($argv[2],$argv[3] ); |
elseif (in_array("-db_query",$argv)) db_query($argv[2],(!empty($argv[3])?$argv[3]:'%') ); |
| 63 |
elseif (in_array("-dl_diffs",$argv) || in_array("-keep_diff",$argv)) dl_diffs($argv[2]); |
elseif (in_array("-dl_diffs",$argv) || in_array("-keep_diff",$argv)) dl_diffs($argv[2]); |
| 64 |
elseif (in_array("-keep_sources",$argv) || in_array("-download_sources",$argv)) download_sources(); |
elseif (in_array("-keep_sources",$argv) || in_array("-download_sources",$argv)) download_sources(); |
| 65 |
elseif (in_array("-db_popcon",$argv)) db_popcon($argv[2]); |
elseif (in_array("-db_popcon",$argv)) db_popcon($argv[2]); |
| 73 |
elseif (in_array("-clear_db",$argv)) clear_db(); |
elseif (in_array("-clear_db",$argv)) clear_db(); |
| 74 |
elseif (in_array("-db_up_error",$argv)) db_up_error(); |
elseif (in_array("-db_up_error",$argv)) db_up_error(); |
| 75 |
elseif (in_array("-up_changes",$argv)) up_changes($argv[2], true); |
elseif (in_array("-up_changes",$argv)) up_changes($argv[2], true); |
| 76 |
elseif (in_array("-watchf",$argv) || in_array("-wwiz",$argv)) watch_wizard($argv[2]); |
elseif (in_array("-watchf",$argv) || in_array("-wwiz",$argv)) watch_wizard((!empty($argv[2])?$argv[2]:'')); |
| 77 |
elseif (in_array("-kb_total",$argv)) print "Diff |
elseif (in_array("-kb_total",$argv)) print "Diff |
| 78 |
#stat_up_error(); |
#stat_up_error(); |
| 79 |
#stat_up_error();to download Kb => " . kb_total($argv[2]) . "\n" ; |
#stat_up_error();to download Kb => " . kb_total($argv[2]) . "\n" ; |
| 207 |
$matches[10]=pg_escape_string($matches[10]); |
$matches[10]=pg_escape_string($matches[10]); |
| 208 |
} |
} |
| 209 |
@pg_exec($db,"INSERT INTO pkgs_atsrc (name,dist) VALUES ('$matches[1]','$dist')") OR die_status("Temp table pkgs_atsrc query error"); |
@pg_exec($db,"INSERT INTO pkgs_atsrc (name,dist) VALUES ('$matches[1]','$dist')") OR die_status("Temp table pkgs_atsrc query error"); |
| 210 |
$rst=@pg_exec($db, "INSERT INTO pkgs (name,version,maint,dir,md5_atsource,bytes,dist,section,uploaders) VALUES ('$matches[1]','$matches[4]','$matches[5]','$matches[6]','$matches[7]','$matches[8]','$dist','$section','$matches[10]')") ; |
$rst=@pg_exec($db, "INSERT INTO pkgs (name,version,dversionmangled,maint,dir,md5_atsource,bytes,dist,section,uploaders) VALUES ('$matches[1]','$matches[4]','$matches[4]','$matches[5]','$matches[6]','$matches[7]','$matches[8]','$dist','$section','$matches[10]')") ; |
| 211 |
if (!$rst) { |
if (!$rst) { |
| 212 |
$rst=@pg_exec($db, "UPDATE pkgs SET name='$matches[1]',version='$matches[4]',maint='$matches[5]',dir='$matches[6]',md5_atsource='$matches[7]',bytes='$matches[8]',dist='$dist',section='$section',uploaders='$matches[10]' WHERE name='$matches[1]' AND dist='$dist'") OR die_status("\nDb adding error =>" . pg_last_error() . "\n"); |
$rst=@pg_exec($db, "UPDATE pkgs SET name='$matches[1]',version='$matches[4]',dversionmangled='$matches[4]',maint='$matches[5]',dir='$matches[6]',md5_atsource='$matches[7]',bytes='$matches[8]',dist='$dist',section='$section',uploaders='$matches[10]' WHERE name='$matches[1]' AND dist='$dist'") OR die_status("\nDb adding error =>" . pg_last_error() . "\n"); |
| 213 |
} |
} |
| 214 |
$bin_names=split(",", $matches[2]); |
$bin_names=split(",", $matches[2]); |
| 215 |
foreach ($bin_names as $bin_name) { |
foreach ($bin_names as $bin_name) { |
| 234 |
clear_db($db); |
clear_db($db); |
| 235 |
pg_close($db); |
pg_close($db); |
| 236 |
} |
} |
| 237 |
function db_query($pkg,$dist) { |
function db_query($pkg,$dist='%') { |
| 238 |
global $dirs,$dbconn; |
global $dirs,$dbconn; |
| 239 |
$db = pg_pconnect($dbconn ) or die_status(pg_last_error($db)); |
$db = pg_pconnect($dbconn ) or die_status(pg_last_error($db)); |
| 240 |
$rsql=pg_exec($db, "SELECT pkgs.* ,mpop_inst FROM (SELECT name,MAX(binpkgs.pop_inst) AS mpop_inst FROM binpkgs GROUP BY name) |
$rsql=pg_exec($db, "SELECT pkgs.* ,mpop_inst FROM (SELECT name,MAX(binpkgs.pop_inst) AS mpop_inst FROM binpkgs GROUP BY name) |
| 241 |
AS binpkgs INNER JOIN pkgs ON pkgs.name=binpkgs.name |
AS binpkgs INNER JOIN pkgs ON pkgs.name=binpkgs.name |
| 242 |
WHERE pkgs.name='$pkg' AND dist='$dist';"); |
WHERE pkgs.name='$pkg' AND dist='$dist';"); |
| 243 |
if (pg_numrows($rsql)==1) { |
while ($res_array=pg_fetch_array($rsql)) { |
|
$res_array=pg_fetch_array($rsql); |
|
| 244 |
print "Package=> " . $res_array['name'] . "\n"; |
print "Package=> " . $res_array['name'] . "\n"; |
| 245 |
print "Version => " . $res_array['version'] . "\n"; |
print "Version => " . $res_array['version'] . "\n"; |
| 246 |
|
print "Mangled version => " . $res_array['dversionmangled'] . "\n"; |
| 247 |
print "Diff MD5 Downloaded => " . $res_array['md5_diff'] . "\n"; |
print "Diff MD5 Downloaded => " . $res_array['md5_diff'] . "\n"; |
| 248 |
print "Diff MD5 at Sources => " . $res_array['md5_atsource'] . "\n"; |
print "Diff MD5 at Sources => " . $res_array['md5_atsource'] . "\n"; |
| 249 |
print "Distribution => " . $res_array['dist'] . "\n"; |
print "Distribution => " . $res_array['dist'] . "\n"; |
| 253 |
if ($res_array['watch']) { |
if ($res_array['watch']) { |
| 254 |
$uscan_res=uscan_foo($res_array['name'] ,$res_array['version'],$res_array['watch']); |
$uscan_res=uscan_foo($res_array['name'] ,$res_array['version'],$res_array['watch']); |
| 255 |
print "Version Upstream => " . $uscan_res[0] . "\n"; |
print "Version Upstream => " . $uscan_res[0] . "\n"; |
| 256 |
print "Watch => " . $res_array['watch']; |
print "Watch => " . trim($res_array['watch'])."\n"; |
| 257 |
print "Watch Warnings => " . $uscan_res[1]; |
print "Watch Warnings => " . $uscan_res[1]; |
| 258 |
} |
} |
| 259 |
else print "Watch => Not present" . "\n"; |
else print "Watch => Not present" . "\n"; |
| 260 |
if ($res_array['wwiz_type']) { |
if ($res_array['wwiz_type']) { |
| 261 |
$uscan_res=uscan_foo($res_array['name'] ,$res_array['version'],$res_array['wwiz']); |
$uscan_res=uscan_foo($res_array['name'] ,$res_array['version'],$res_array['wwiz']); |
| 262 |
print "WWiz Upstream => " . $uscan_res[0] . "\n"; |
print "WWiz Upstream => " . $uscan_res[0] . "\n"; |
| 263 |
print "WWiz => " . $res_array['wwiz']; |
print "WWiz => " . $res_array['wwiz']."\n"; |
| 264 |
print "WWiz Warings => " . $uscan_res[1]; |
print "WWiz Warings => " . $uscan_res[1]; |
| 265 |
} |
} |
| 266 |
print "\n"; |
print "\n"; |
| 267 |
} |
} |
| 268 |
else echo "Package=> " . $pkg . "\nNot found\n!!"; |
if (pg_numrows($rsql)==0) echo "Package=> " . $pkg . "\nNot found\n!!"; |
| 269 |
pg_close($db); |
pg_close($db); |
| 270 |
} |
} |
| 271 |
function byte_total(&$db,$initial) { |
function byte_total(&$db,$initial) { |
| 331 |
global $dirs,$dbconn; |
global $dirs,$dbconn; |
| 332 |
$db = pg_pconnect($dbconn) or die_status(1/*pg_last_notice($db)*/); |
$db = pg_pconnect($dbconn) or die_status(1/*pg_last_notice($db)*/); |
| 333 |
if (!pg_table_exists($db,"pkgs")){ |
if (!pg_table_exists($db,"pkgs")){ |
| 334 |
pg_exec($db, "CREATE TABLE pkgs (id serial PRIMARY KEY,name text,version text,maint text, uploaders text, dir text,watch text,md5_diff text,md5_atsource text,bytes numeric,dist text,section text,up_version text,up_changes text, up_url text,watch_warn text,updated bool, keep_changes bool, wwiz text,wwiz_version text, wwiz_type text)") or die_status('Error creating table pkgs\n'); |
pg_exec($db, "CREATE TABLE pkgs (id serial PRIMARY KEY,name text,version text, dversionmangled text,maint text, uploaders text, dir text,watch text,md5_diff text,md5_atsource text,bytes numeric,dist text,section text,up_version text,up_changes text, up_url text,watch_warn text,updated bool, keep_changes bool, wwiz text,wwiz_version text, wwiz_type text)") or die_status('Error creating table pkgs\n'); |
| 335 |
pg_exec($db, "CREATE UNIQUE INDEX idxname on pkgs (name,dist)") or die_status('Errore creating index - ' . pg_last_error($db)); |
pg_exec($db, "CREATE UNIQUE INDEX idxname on pkgs (name,dist)") or die_status('Errore creating index - ' . pg_last_error($db)); |
| 336 |
$sw=true; |
$sw=true; |
| 337 |
} |
} |
| 340 |
pg_exec($db, "CREATE UNIQUE INDEX idxbin on binpkgs (name,bin_name,dist)") or die_status('Errore creating index - ' . pg_last_error($db)); |
pg_exec($db, "CREATE UNIQUE INDEX idxbin on binpkgs (name,bin_name,dist)") or die_status('Errore creating index - ' . pg_last_error($db)); |
| 341 |
$sw=true; |
$sw=true; |
| 342 |
} |
} |
| 343 |
|
/*if (!pg_table_exists($db,"events")){ |
| 344 |
|
pg_exec($db, "CREATE TABLE events (id serial PRIMARY KEY, name text,type text, dist text)") or die_status('Error creating table binpkgs\n'); |
| 345 |
|
pg_exec($db, "CREATE UNIQUE INDEX idxevents on events (name,dist)") or die_status('Errore creating index - ' . pg_last_error($db)); |
| 346 |
|
$sw=true; |
| 347 |
|
}*/ |
| 348 |
#if (!pg_table_exists($db,"upstream")){ |
#if (!pg_table_exists($db,"upstream")){ |
| 349 |
# pg_exec($db, "CREATE TABLE upstream (name text,dist text,up_version text,watch_warn text,updated bool)") or die_status('Errore nel creare la tabella'); |
# pg_exec($db, "CREATE TABLE upstream (name text,dist text,up_version text,watch_warn text,updated bool)") or die_status('Errore nel creare la tabella'); |
| 350 |
# pg_exec($db, "CREATE UNIQUE INDEX idxupstrm on upstream (name,dist)") or die_status('Errore nel creare gli indici ' . pg_last_error($db)); |
# pg_exec($db, "CREATE UNIQUE INDEX idxupstrm on upstream (name,dist)") or die_status('Errore nel creare gli indici ' . pg_last_error($db)); |
| 407 |
if (preg_match($regexp,$line,$matches)) { |
if (preg_match($regexp,$line,$matches)) { |
| 408 |
#print "\rName => $matches[1] Install => $matches[2] Vote => $matches[3]"; |
#print "\rName => $matches[1] Install => $matches[2] Vote => $matches[3]"; |
| 409 |
@pg_exec($db, "UPDATE binpkgs SET pop_inst='$matches[2]',pop_vote='$matches[3]' WHERE bin_name='$matches[1]'"); |
@pg_exec($db, "UPDATE binpkgs SET pop_inst='$matches[2]',pop_vote='$matches[3]' WHERE bin_name='$matches[1]'"); |
| 410 |
$prcessed++; |
/*$processed++; |
| 411 |
/*$elapsed_time=time()-$tin; |
$elapsed_time=time()-$tin; |
| 412 |
if (($elapsed_time % 20)==0 AND $updtime!=$elapsed_time) { |
if (($elapsed_time % 20)==0 AND $updtime!=$elapsed_time) { |
| 413 |
$updtime=$elapsed_time; |
$updtime=$elapsed_time; |
| 414 |
$wprocessed=$processed-$wprocessed; |
$wprocessed=$processed-$wprocessed; |
| 425 |
} |
} |
| 426 |
@pg_close($db); |
@pg_close($db); |
| 427 |
} |
} |
|
function db_popcon_test() { |
|
|
global $dirs,$dbconn; |
|
|
$db = pg_pconnect($dbconn) or die_status(pg_last_error($db)); |
|
|
$filename=$dirs[popcon_dir] . "/all-popcon-results.txt.gz"; |
|
|
$regexp="/Package:\s(\S+)\s+(\d+)\s+(\d+)/"; |
|
|
$zp = gzfile($filename, "r") or die_status("Could not open $filename"); |
|
|
if(filesize($filename)>20) { |
|
|
foreach ($zp as $line) { |
|
|
if (preg_match($regexp,$line,$matches)) { |
|
|
# print "Name => $matches[1] \n Install => $matches[2] \n Vote => $matches[3]\n"; |
|
|
print "\r" . $i++; |
|
|
#pg_unbuffered_query($db, "UPDATE binpkgs SET pop_inst='$matches[2]',pop_vote='$matches[3]' WHERE bin_name='$matches[1]'"); |
|
|
} |
|
|
} |
|
|
} |
|
|
@pg_close($db); |
|
|
} |
|
| 428 |
function dl_popcon() { |
function dl_popcon() { |
| 429 |
global $dirs,$dbconn; |
global $dirs,$dbconn; |
| 430 |
$localfile=$dirs[popcon_dir] . "/all-popcon-results.txt.gz"; |
$localfile=$dirs[popcon_dir] . "/all-popcon-results.txt.gz"; |
| 433 |
} |
} |
| 434 |
function is_updated ($up_vers,$debian_vers) { |
function is_updated ($up_vers,$debian_vers) { |
| 435 |
if ($up_vers=='') return 0; |
if ($up_vers=='') return 0; |
| 436 |
passthru("dpkg --compare-versions '".escapeshellarg($up_vers)."' eq '" . escapeshellarg(vers_conv($debian_vers)) . "'",$great); |
passthru("dpkg --compare-versions '".escapeshellarg($up_vers)."' le '" . escapeshellarg(vers_conv($debian_vers)) . "'",$great); |
| 437 |
if ($great!=0) return 1; |
if ($great!=0) return 1; |
| 438 |
else return 0; |
else return 0; |
| 439 |
} |
} |
| 447 |
$uscan_res=uscan_foo($res_array['name'],$res_array['version'],$res_array['watch']); |
$uscan_res=uscan_foo($res_array['name'],$res_array['version'],$res_array['watch']); |
| 448 |
#print $uscan_res[0] . "\n Name => $res_array[name]\n"; |
#print $uscan_res[0] . "\n Name => $res_array[name]\n"; |
| 449 |
$version=$res_array[version]; |
$version=$res_array[version]; |
| 450 |
|
$dversionmangled=$res_array['dversionmangled']; |
| 451 |
print "\rVersion=>" . $uscan_res[3]; |
print "\rVersion=>" . $uscan_res[3]; |
| 452 |
if ($uscan_res[3]!=null) $version=$uscan_res[3]; |
if ($uscan_res[3]!=null) $version=$uscan_res[3]; |
| 453 |
#$updated=is_updated($uscan_res[0],$res_array[version]); |
if ($uscan_res[5]!=null && $uscan_res[5] != vers_conv($res_array['version'])) $dversionmangled=$uscan_res[5]; |
| 454 |
$updated=$uscan_res[4]; |
$updated=$uscan_res[4]; |
| 455 |
|
if ($updated) { |
| 456 |
|
$updated=is_updated($uscan_res[0],$dversionmangled); |
| 457 |
|
} |
| 458 |
|
|
| 459 |
if (!$updated) { |
if (!$updated) { |
| 460 |
events::newVersion($res_array['name'], $res_array['version'], $uscan_res[0], $res_array['dist']); |
events::newVersion($res_array['name'], $res_array['version'], $uscan_res[0], $res_array['dist']); |
| 461 |
} |
} |
| 468 |
if($uscan_res[1] != null) { |
if($uscan_res[1] != null) { |
| 469 |
$watch_warn=pg_escape_string(iconv("ISO-8859-1","UTF-8",$uscan_res[1])); |
$watch_warn=pg_escape_string(iconv("ISO-8859-1","UTF-8",$uscan_res[1])); |
| 470 |
} |
} |
| 471 |
pg_exec($db, "UPDATE pkgs SET up_version='" . $up_version . "',up_url='" . $up_url . "', watch_warn='" . $watch_warn . "',keep_changes='$keep_changes', wwiz_version=NULL, wwiz_type=NULL, wwiz=NULL, updated='$updated' WHERE id=$res_array[id]") or die_status("Error in update pkgs upstream"); |
pg_exec($db, "UPDATE pkgs SET up_version='" . pg_escape_string($up_version) . "', dversionmangled='".pg_escape_string($dversionmangled)."',up_url='" . pg_escape_string($up_url) . "', watch_warn='" . $watch_warn . "',keep_changes='$keep_changes', wwiz_version=NULL, wwiz_type=NULL, wwiz=NULL, updated='$updated' WHERE id=$res_array[id]") or die_status("Error in update pkgs upstream"); |
| 472 |
#print "\rUpdated " . $res_array['name'] . " => $updated Up Version => ". $uscan_res[0]; |
#print "\rUpdated " . $res_array['name'] . " => $updated Up Version => ". $uscan_res[0]; |
| 473 |
print "\tUpstream left => " . $tot --; |
print "\t Upstream left => " . $tot --; |
| 474 |
# } |
# } |
| 475 |
# else print "Added ". $res_array['name'] ."\n"; |
# else print "Added ". $res_array['name'] ."\n"; |
| 476 |
# if ($great==0) { |
# if ($great==0) { |
| 592 |
$upstream=$vals[$index['UPSTREAM-VERSION'][0]][value]; |
$upstream=$vals[$index['UPSTREAM-VERSION'][0]][value]; |
| 593 |
$up_url=$vals[$index['UPSTREAM-URL'][0]][value]; |
$up_url=$vals[$index['UPSTREAM-URL'][0]][value]; |
| 594 |
$deb_vers=$vals[$index['DEBIAN-UVERSION'][0]][value]; |
$deb_vers=$vals[$index['DEBIAN-UVERSION'][0]][value]; |
| 595 |
|
$deb_mangled_vers=$vals[$index['DEBIAN-MANGLED-UVERSION'][0]][value]; |
| 596 |
$warnings=$vals[$index['WARNINGS'][0]][value]; |
$warnings=$vals[$index['WARNINGS'][0]][value]; |
| 597 |
$updated=$vals[$index['STATUS'][0]][value]; |
$updated=$vals[$index['STATUS'][0]][value]; |
| 598 |
|
|
| 603 |
if ($up_url=='') $up_url=null; |
if ($up_url=='') $up_url=null; |
| 604 |
if ($deb_vers=='') $deb_vers=null; |
if ($deb_vers=='') $deb_vers=null; |
| 605 |
if ($warnings=='') $warnings=null; |
if ($warnings=='') $warnings=null; |
| 606 |
|
if ($deb_mangled_vers=='') $deb_mangled_vers=null; |
| 607 |
|
|
| 608 |
return array($upstream,$warnings,$up_url,$deb_vers,$updated); |
return array($upstream, $warnings, $up_url, $deb_vers, $updated, $deb_mangled_vers); |
| 609 |
} |
} |
| 610 |
function db_up_error() { |
function db_up_error() { |
| 611 |
global $dbconn; |
global $dbconn; |
| 640 |
pg_close($db); |
pg_close($db); |
| 641 |
} |
} |
| 642 |
function watch_wizard($src_name='%'){ |
function watch_wizard($src_name='%'){ |
| 643 |
global $dirs,$dbconn,$sfIgnore,$watchFileExts,$watchFormat; |
global $dirs,$dbconn,$sfIgnore,$watchFileExts,$watchFileDversionMangle,$watchFormat; |
| 644 |
$db = pg_pconnect($dbconn) or die_status ("Db error"); |
$db = pg_pconnect($dbconn) or die_status ("Db error"); |
| 645 |
$checked=$errors=$notfound=$verok=$notmatch=0; |
$checked=$errors=$notfound=$verok=$notmatch=0; |
| 646 |
|
|
| 647 |
// prepare some stuff that needs to be done once per run |
// prepare some stuff that needs to be done once per run |
| 648 |
$opts = ''; |
$opts = array(); |
| 649 |
$exts = '('; |
$exts = ''; |
| 650 |
|
$dvmanglers = ''; |
| 651 |
|
|
| 652 |
foreach ($watchFileExts as $ext) { |
foreach ($watchFileExts as $ext) { |
| 653 |
$exts .= $ext . '|'; |
$exts .= $ext . '|'; |
| 654 |
} |
} |
| 655 |
unset($ext); |
unset($ext); |
| 656 |
|
|
| 657 |
$exts = substr($exts, 0, -1) . ')'; |
if ($exts != '') { |
| 658 |
if ($exts == '()') { |
$opts[] = 'uversionmangle=s/\.(' . substr($exts, 0, -1) . ')$//i'; |
| 659 |
$exts = ''; |
} |
| 660 |
} else { |
|
| 661 |
$opts = 'opts=uversionmangle=s/\.' . $exts . '$// \\'; |
foreach ($watchFileDversionMangle as $dvmangler) { |
| 662 |
|
$dvmanglers .= $dvmangler . '|'; |
| 663 |
|
} |
| 664 |
|
unset($dvmangler); |
| 665 |
|
|
| 666 |
|
if ($dvmanglers != '') { |
| 667 |
|
$opts[] = 'dversionmangle=s/[-.+~]?(' . substr($dvmanglers, 0, -1) . ')(.*)$//i'; |
| 668 |
|
} |
| 669 |
|
|
| 670 |
|
if (is_array($opts)) { |
| 671 |
|
$_opts = ''; |
| 672 |
|
foreach ($opts as $opt) { |
| 673 |
|
$_opts .= $opt . ','; |
| 674 |
|
} |
| 675 |
|
$opts = ''; |
| 676 |
|
if ($_opts != ',') { |
| 677 |
|
$opts = 'opts=' . substr($_opts, 0, -1) . ' \\'; |
| 678 |
|
} |
| 679 |
} |
} |
| 680 |
|
|
| 681 |
$sqlstring="SELECT mpop_inst,name,pkgs.version,pkgs.section,pkgs.dist,tot_up_error, tot_avg_error_date, wwiz_version FROM pkgs INNER JOIN |
$sqlstring="SELECT mpop_inst,name,pkgs.version,pkgs.dversionmangled,pkgs.section,pkgs.dist,tot_up_error, tot_avg_error_date, wwiz_version FROM pkgs INNER JOIN |
| 682 |
(Select max(pop_inst) as mpop_inst,SUM(up_error) as tot_up_error,AVG(avg_error_date) as tot_avg_error_date,name,dist FROM binpkgs GROUP BY name,dist HAVING max(pop_inst) IS NOT NULL) as binpkgs using(name,dist) |
(Select max(pop_inst) as mpop_inst,SUM(up_error) as tot_up_error,AVG(avg_error_date) as tot_avg_error_date,name,dist FROM binpkgs GROUP BY name,dist HAVING max(pop_inst) IS NOT NULL) as binpkgs using(name,dist) |
| 683 |
WHERE (watch IS NULL OR watch='') AND name LIKE '$src_name%' ORDER BY mpop_inst DESC"; |
WHERE (watch IS NULL OR watch='') AND name LIKE '$src_name%' ORDER BY mpop_inst DESC"; |
| 684 |
$rsql=pg_exec($db, $sqlstring); |
$rsql=pg_exec($db, $sqlstring); |
| 709 |
$contents=@file_get_contents($url) or ''; |
$contents=@file_get_contents($url) or ''; |
| 710 |
} |
} |
| 711 |
|
|
| 712 |
|
if (!$contents) { |
| 713 |
|
$url="http://packages.debian.org/changelogs/pool/" . |
| 714 |
|
$res_array["section"] . "/" . |
| 715 |
|
$initial . "/" . |
| 716 |
|
$res_array["name"] ."/" . |
| 717 |
|
"current/copyright"; |
| 718 |
|
$contents=@file_get_contents($url) or ''; |
| 719 |
|
} |
| 720 |
|
|
| 721 |
if ($contents) { |
if ($contents) { |
| 722 |
|
|
| 723 |
if (preg_match ('/(sf\.net|sourceforge\.net)/i', $contents, $matches) || |
if (preg_match ('/(sf\.net|sourceforge\.net)/i', $contents, $matches) || |
| 782 |
|
|
| 783 |
$uscan_res=uscan_foo($res_array['name'] ,$res_array['version'],$watch); |
$uscan_res=uscan_foo($res_array['name'] ,$res_array['version'],$watch); |
| 784 |
|
|
| 785 |
if ($uscan_res[0]) { |
if ($uscan_res[0] && levenshtein($uscan_res[0], $res_array['version']) < strlen($res_array['version'])) { |
| 786 |
break; |
break; |
| 787 |
} |
} |
| 788 |
} |
} |
| 797 |
} else { |
} else { |
| 798 |
$keep_changes = 0; |
$keep_changes = 0; |
| 799 |
} |
} |
|
$updated=$uscan_res[4]; |
|
| 800 |
|
|
| 801 |
if (!$updated) { |
$dversionmangled = $res_array[version]; |
| 802 |
//FIXME: events::newVersion($res_array['name'], , $uscan_res[0], $res_array['dist']); |
if ($uscan_res[5]!=null && $uscan_res[5] != vers_conv($res_array['version'])) $dversionmangled=$uscan_res[5]; |
| 803 |
|
|
| 804 |
|
$updated=$uscan_res[4]; |
| 805 |
|
if ($updated) { |
| 806 |
|
$updated=is_updated($uscan_res[0],$dversionmangled); |
| 807 |
} |
} |
| 808 |
|
|
| 809 |
pg_exec($db, "UPDATE pkgs SET wwiz='" . pg_escape_string($watch) ."', wwiz_type='watch', wwiz_version='" . pg_escape_string($uscan_res[0]) . "', up_url='" . pg_escape_string($uscan_res[2]) . "', keep_changes='$keep_changes', updated='$updated' where name='" . pg_escape_string($res_array[name]) . "' AND dist='" . $res_array[dist] ."'"); |
/*if (!$updated) { |
| 810 |
|
events::newVersion($res_array['name'], $res_array['version'], $uscan_res[0], $res_array['dist']); |
| 811 |
|
}*/ |
| 812 |
|
|
| 813 |
|
pg_exec($db, "UPDATE pkgs SET wwiz='" . pg_escape_string($watch) ."', wwiz_type='watch', wwiz_version='" . pg_escape_string($uscan_res[0]) . "',dversionmangled='".pg_escape_string($dversionmangled)."', up_url='" . pg_escape_string($uscan_res[2]) . "', keep_changes='$keep_changes', updated='$updated' where name='" . pg_escape_string($res_array[name]) . "' AND dist='" . $res_array[dist] ."'"); |
| 814 |
} |
} |
| 815 |
} |
} |
| 816 |
} else { |
} else { |
| 839 |
foreach ($dists as $dist) { |
foreach ($dists as $dist) { |
| 840 |
$id=dbqa_conn($dir1 . "dehs_qa_" . $dist . ".db",'n'); |
$id=dbqa_conn($dir1 . "dehs_qa_" . $dist . ".db",'n'); |
| 841 |
$db = pg_pconnect($dbconn) or die_status ("Db error"); |
$db = pg_pconnect($dbconn) or die_status ("Db error"); |
| 842 |
$sql="SELECT name, id, up_version, wwiz_version, watch, wwiz_type, watch_warn, updated, version FROM pkgs WHERE dist='$dist'"; |
$sql="SELECT name, id, up_version, wwiz_version, watch, wwiz_type, watch_warn, version, dversionmangled FROM pkgs WHERE dist='$dist'"; |
|
//TOADD: versionmangled |
|
| 843 |
$rsql=pg_exec($db, $sql); |
$rsql=pg_exec($db, $sql); |
| 844 |
while($res_array=pg_fetch_array($rsql)) { |
while($res_array=pg_fetch_array($rsql)) { |
| 845 |
|
|
| 852 |
|
|
| 853 |
$xml="<data><id>$res_array[id]</id>" . |
$xml="<data><id>$res_array[id]</id>" . |
| 854 |
"<up_version>$version</up_version>" . |
"<up_version>$version</up_version>" . |
| 855 |
//"<dversion>$res_array[version]</dversion>" . |
"<dversion>$res_array[version]</dversion>" . |
| 856 |
//"<dversionmangled>$res_array[versionmangled]</dversionmangled>" . |
"<dversionmangled>$res_array[dversionmangled]</dversionmangled>" . |
| 857 |
"<wwiz>$wwiz</wwiz>" . |
"<wwiz>$wwiz</wwiz>" . |
|
//"<updated>" . ($res_array['updated']=='t')? 'true': 'false' . "</updated>" . |
|
| 858 |
"</data>"; |
"</data>"; |
| 859 |
$value=addslashes($xml); |
$value=addslashes($xml); |
| 860 |
dba_replace($res_array[name],$xml,$id); |
dba_replace($res_array[name],$xml,$id); |
| 930 |
$sql="SELECT name FROM pkgs WHERE up_version='' AND watch!=''"; |
$sql="SELECT name FROM pkgs WHERE up_version='' AND watch!=''"; |
| 931 |
$rsql=pg_exec($db, $sql); |
$rsql=pg_exec($db, $sql); |
| 932 |
$res_array=pg_fetch_all($rsql); |
$res_array=pg_fetch_all($rsql); |
| 933 |
pg_close($db); |
$orig_count = ((!is_array($res_array))?0:count($res_array)); |
| 934 |
if ($res_array !== false) { |
if ($res_array !== false) { |
| 935 |
foreach ($res_array as $entry) { |
foreach ($res_array as $entry) { |
| 936 |
db_upstream($entry['name']); |
db_upstream($entry['name']); |
| 938 |
} |
} |
| 939 |
dehsqa_db(); |
dehsqa_db(); |
| 940 |
} |
} |
| 941 |
|
$sql="SELECT COUNT(name) FROM pkgs WHERE up_version='' AND watch!=''"; |
| 942 |
|
$rsql=pg_exec($db, $sql); |
| 943 |
|
$res_array=pg_fetch_array($rsql); |
| 944 |
|
$new_count = (int)$res_array[0]; |
| 945 |
|
pg_close($db); |
| 946 |
$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); |
| 947 |
$messaggio="Dehs executed successful\nBegin: $intime\nPackages processed: ".((!is_array($res_array))?'none':count($res_array))."\nEnd: $endtime"; |
$messaggio="Dehs executed successful\nBegin: $intime\n". |
| 948 |
|
"Packages processed: $orig_count\n" . |
| 949 |
|
"New bogus watches count: $new_count\nEnd: $endtime"; |
| 950 |
mail($email_all, "DEHS update_bogus report", $messaggio, |
mail($email_all, "DEHS update_bogus report", $messaggio, |
| 951 |
"From: dehs-noreply@{$_SERVER['SERVER_NAME']}\r\n" . |
"From: dehs-noreply@{$_SERVER['SERVER_NAME']}\r\n" . |
| 952 |
"Reply-To: dehs-noreply@{$_SERVER['SERVER_NAME']}\r\n" . |
"Reply-To: dehs-noreply@{$_SERVER['SERVER_NAME']}\r\n" . |