livecheck not finding latest version

Simon Ruderich simon at ruderich.com
Sun Mar 9 12:28:12 PDT 2008


On Thu, Feb 28, 2008 at 04:31:56AM +0100, Rainer Müller wrote:
> Anders F Björklund wrote:
> > That's probably because livecheck doesn't check to see if the
> > new version is actually *newer*, it only checks if it changed...
> > 
> > 	if {$updated_version != ${livecheck.version}} {
> > 		set updated 1
> > 	} else {
> > 		set updated 0
> > 	}
> 
> We could also use rpm-vercomp here, but you would never notice if the 
> site being checked is not updated anymore (happens e.g. with freshmeat). 
> So if the port version is newer than the version livecheck finds, we 
> should at least issue a warning that livecheck needs to be tweaked.
> 
> Rainer

Hi,

I found another small problem with the livecheck. I have a port in my local
repository which uses ${name}-${version} as livecheck.version. With the
current version it gives me the following. First it says it matched and then
it doesn't.

DEBUG: The regex matched "<title>fdm fdm-1.5 released (Tue, 04 Mar 2008 08:33:08 GMT)</title>", extracted "fdm-1.5"
DEBUG: The regex matched "<title>fdm fdm-1.4 released (Mon, 01 Oct 2007 12:45:11 GMT)</title>", extracted "fdm-1.4"
DEBUG: The regex matched "<title>fdm fdm-1.3 released (Mon, 30 Jul 2007 17:38:15 GMT)</title>", extracted "fdm-1.3"
DEBUG: The regex matched "<title>fdm fdm-1.2 released (Wed, 27 Jun 2007 08:16:56 GMT)</title>", extracted "fdm-1.2"
DEBUG: The regex matched "<title>fdm fdm-1.1 released (Fri, 06 Apr 2007 13:40:32 GMT)</title>", extracted "fdm-1.1"
DEBUG: The regex matched "<title>fdm fdm-1.0 released (Tue, 27 Feb 2007 23:45:33 GMT)</title>", extracted "fdm-1.0"
DEBUG: The regex matched "<title>fdm fdm-0.9 released (Thu, 25 Jan 2007 16:49:31 GMT)</title>", extracted "fdm-0.9"
DEBUG: The regex matched "<title>fdm fdm-0.8 released (Tue, 09 Jan 2007 16:53:07 GMT)</title>", extracted "fdm-0.8"
DEBUG: The regex matched "<title>fdm fdm-0.7 released (Tue, 12 Dec 2006 17:59:35 GMT)</title>", extracted "fdm-0.7"
DEBUG: The regex matched "<title>fdm fdm-0.6 released (Mon, 04 Dec 2006 14:11:36 GMT)</title>", extracted "fdm-0.6"
Error: cannot check if fdm was updated (regex didn't match)

I looked into this and the problem is that [rpm-vercomp $upver
$updated_version] returns -1 if $updated_version is 0 and $upver is something
like fdm-1.5 which is true before any version is found. It works fine for
$upvar 1.5.

The following patch fixes the problem for me but I'm not sure if it causes any
other problems. Please check if it works fine.

--- src/port1.0/portlivecheck.tcl	(revision 34864)
+++ src/port1.0/portlivecheck.tcl	(working copy)
@@ -187,7 +187,7 @@
                     while {[gets $chan line] >= 0} {
                         if {[regexp $the_re $line matched upver]} {
                             set foundmatch 1
-                            if {[rpm-vercomp $upver $updated_version] > 0} {
+                            if {[rpm-vercomp $upver $updated_version] > 0 || $updated_version == 0} {
                                 set updated_version $upver
                             }
                             ui_debug "The regex matched \"$matched\", extracted \"$upver\""

Thanks,
Simon
-- 
+ privacy is necessary
+ using http://gnupg.org
+ public key id: 0x6115F804EFB33229
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 194 bytes
Desc: not available
Url : http://lists.macosforge.org/pipermail/macports-dev/attachments/20080309/d123defd/attachment-0001.bin 


More information about the macports-dev mailing list