[Dehs-devel] r76 - in trunk: . www
atomo64-guest at alioth.debian.org
atomo64-guest at alioth.debian.org
Sun Dec 16 00:49:38 UTC 2007
Author: atomo64-guest
Date: 2007-12-16 00:49:38 +0000 (Sun, 16 Dec 2007)
New Revision: 76
Modified:
trunk/dehs_pg.php
trunk/www/no_watch.php
Log:
dehs_pg.php: add an 'updated' status corrector when version in Debian is newer than upstream
www/no_watch.php: updated the vers_conv function with the one used everywhere else
Modified: trunk/dehs_pg.php
===================================================================
--- trunk/dehs_pg.php 2007-12-16 00:12:23 UTC (rev 75)
+++ trunk/dehs_pg.php 2007-12-16 00:49:38 UTC (rev 76)
@@ -58,8 +58,8 @@
}
}
-if (in_array("-db_add",$argv)) db_add((isset($argv[2])?$argv[2]:''), false);
- elseif (in_array("-db_query",$argv)) db_query($argv[2],(isset($argv[3])?$argv[3]:'%') );
+if (in_array("-db_add",$argv)) db_add((!empty($argv[2])?$argv[2]:''), false);
+ elseif (in_array("-db_query",$argv)) db_query($argv[2],(!empty($argv[3])?$argv[3]:'%') );
elseif (in_array("-dl_diffs",$argv) || in_array("-keep_diff",$argv)) dl_diffs($argv[2]);
elseif (in_array("-keep_sources",$argv) || in_array("-download_sources",$argv)) download_sources();
elseif (in_array("-db_popcon",$argv)) db_popcon($argv[2]);
@@ -73,7 +73,7 @@
elseif (in_array("-clear_db",$argv)) clear_db();
elseif (in_array("-db_up_error",$argv)) db_up_error();
elseif (in_array("-up_changes",$argv)) up_changes($argv[2], true);
- elseif (in_array("-watchf",$argv) || in_array("-wwiz",$argv)) watch_wizard((isset($argv[2])?$argv[2]:''));
+ elseif (in_array("-watchf",$argv) || in_array("-wwiz",$argv)) watch_wizard((!empty($argv[2])?$argv[2]:''));
elseif (in_array("-kb_total",$argv)) print "Diff
#stat_up_error();
#stat_up_error();to download Kb => " . kb_total($argv[2]) . "\n" ;
@@ -445,7 +445,7 @@
}
function is_updated ($up_vers,$debian_vers) {
if ($up_vers=='') return 0;
- 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);
if ($great!=0) return 1;
else return 0;
}
@@ -463,8 +463,11 @@
print "\rVersion=>" . $uscan_res[3];
if ($uscan_res[3]!=null) $version=$uscan_res[3];
if ($uscan_res[5]!=null) $dversionmangled=$uscan_res[5];
- #$updated=is_updated($uscan_res[0],$dversionmangled);
$updated=$uscan_res[4];
+ if ($updated) {
+ $updated=is_updated($uscan_res[0],$dversionmangled);
+ }
+
if (!$updated) {
events::newVersion($res_array['name'], $res_array['version'], $uscan_res[0], $res_array['dist']);
}
@@ -806,13 +809,18 @@
} else {
$keep_changes = 0;
}
+
+ $dversionmangled = $res_array[version];
+ if ($uscan_res[5]!=null) $dversionmangled=$uscan_res[5];
+
$updated=$uscan_res[4];
+ if ($updated) {
+ $updated=is_updated($uscan_res[0],$dversionmangled);
+ }
if (!$updated) {
events::newVersion($res_array['name'], $res_array['version'], $uscan_res[0], $res_array['dist']);
}
- $dversionmangled = $res_array[version];
- if ($uscan_res[5]!=null) $dversionmangled=$uscan_res[5];
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] ."'");
}
Modified: trunk/www/no_watch.php
===================================================================
--- trunk/www/no_watch.php 2007-12-16 00:12:23 UTC (rev 75)
+++ trunk/www/no_watch.php 2007-12-16 00:49:38 UTC (rev 76)
@@ -122,17 +122,25 @@
if ($up_vers=='') return 0;
$up_vers = escapeshellarg($up_vers);
$debian_vers = escapeshellarg(vers_conv($debian_vers));
-passthru("dpkg --compare-versions $up_vers gt $debian_vers",$great);
+passthru("dpkg --compare-versions $up_vers le $debian_vers",$great);
if ($great==0) return 1;
else return 0;
}
function vers_conv($debvers) {
- preg_match("/(.+:)?([^-]+)(ds|dfsg|debian)/",$debvers,$matches);
- if (!$matches[3]) {
- unset($matches);
- preg_match("/(.+:)?([^-]+)/",$debvers,$matches);
- }
- if (substr($matches[2],-1)=='.') $matches[2]=substr($matches[2],0,-1);
- return $matches[2];
+ // Strip off the epoch
+ $pos = strpos($debvers, ':');
+ if ( $pos !== FALSE) {
+ $debvers = substr($debvers, $pos+1);
+ }
+
+ // strip off the Debian revision (look from the back of the string)
+ $pos = strrpos($debvers, '-');
+ if ( $pos !== FALSE) {
+ $debvers = substr($debvers, 0, $pos);
+ }
+
+ // strip off repacking indicators
+ $debvers = preg_replace("/[-.+~]?(ds|dfsg|debian)(.*)/i", "", $debvers);
+ return $debvers;
}
?>
More information about the Dehs-devel
mailing list