#17041: port livecheck makes faulty version comparison ----------------------------------+----------------------------------------- Reporter: devans@macports.org | Owner: macports-tickets@lists.macosforge.org Type: defect | Status: new Priority: Normal | Milestone: MacPorts base bugs Component: base | Version: 1.7.0 Resolution: | Keywords: livecheck Port: | ----------------------------------+----------------------------------------- Comment(by devans@macports.org): Although Portfile livecheck has been fixed for the two examples above the comparison problem in base remains. The attached patch to portlivecheck.tcl fixes the problem for both the regex and regexm cases. To illustrate using geneweb as my new example, {{{ port -d livecheck geneweb DEBUG: Found port in file:///opt/macports/trunk/dports/genealogy/geneweb DEBUG: Changing to port directory: /opt/macports/trunk/dports/genealogy/geneweb DEBUG: setting option os.universal_supported to yes DEBUG: org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided DEBUG: org.macports.distfiles registered provides 'distfiles', a pre- existing procedure. Target override will not be provided DEBUG: adding the default universal variant DEBUG: Requested variant powerpc is not provided by port geneweb. DEBUG: Requested variant darwin is not provided by port geneweb. DEBUG: Requested variant no_x11 is not provided by port geneweb. DEBUG: Requested variant macosx is not provided by port geneweb. DEBUG: Executing org.macports.main (geneweb) DEBUG: Executing org.macports.livecheck (geneweb) DEBUG: Portfile modification date is Thu Oct 09 15:43:57 PDT 2008 DEBUG: Port (livecheck) version is 5.01 DEBUG: Fetching http://freshmeat.net/projects-xml/geneweb/geneweb.xml DEBUG: The regex is "<latest_release_version>(.*)</latest_release_version>" DEBUG: The regex matched "<latest_release_version>4.09</latest_release_version>", extracted "4.09" geneweb seems to have been updated (port version: 5.01, new version: 4.09) }}} which is not correct. After the patch, {{{ port -d livecheck geneweb DEBUG: Found port in file:///opt/macports/trunk/dports//genealogy/geneweb DEBUG: Changing to port directory: /opt/macports/trunk/dports/genealogy/geneweb DEBUG: setting option os.universal_supported to yes DEBUG: org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided DEBUG: org.macports.distfiles registered provides 'distfiles', a pre- existing procedure. Target override will not be provided DEBUG: adding the default universal variant DEBUG: Requested variant powerpc is not provided by port geneweb. DEBUG: Requested variant darwin is not provided by port geneweb. DEBUG: Requested variant macosx is not provided by port geneweb. DEBUG: Executing org.macports.main (geneweb) DEBUG: Executing org.macports.livecheck (geneweb) DEBUG: Portfile modification date is Thu Oct 09 15:43:57 PDT 2008 DEBUG: Port (livecheck) version is 5.01 DEBUG: Fetching http://freshmeat.net/projects-xml/geneweb/geneweb.xml DEBUG: The regex is "<latest_release_version>(.*)</latest_release_version>" DEBUG: The regex matched "<latest_release_version>4.09</latest_release_version>", extracted "4.09" DEBUG: Livecheck version "5.01" is newer than or equal to extracted version "4.09" geneweb seems to be up to date }}} which is correct. A test case for the situation where an update is required is lifelines {{{ port -d livecheck lifelines DEBUG: Found port in file:///opt/macports/trunk/dports//genealogy/lifelines DEBUG: Changing to port directory: /opt/macports/trunk/dports/genealogy/lifelines DEBUG: setting option os.universal_supported to yes DEBUG: org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided DEBUG: org.macports.distfiles registered provides 'distfiles', a pre- existing procedure. Target override will not be provided DEBUG: adding the default universal variant DEBUG: Requested variant powerpc is not provided by port lifelines. DEBUG: Requested variant darwin is not provided by port lifelines. DEBUG: Requested variant macosx is not provided by port lifelines. DEBUG: Executing org.macports.main (lifelines) DEBUG: Executing org.macports.livecheck (lifelines) DEBUG: Portfile modification date is Thu Oct 09 15:43:57 PDT 2008 DEBUG: Port (livecheck) version is 3.0.46.1 DEBUG: Fetching http://sourceforge.net/export/rss2_projfiles.php?project=lifelines DEBUG: The regex is "<title>lifelines (.*) released.*</title>" DEBUG: The regex matched "<title>lifelines 3.0.62 released (Sat, 06 Oct 2007 22:02:33 GMT)</title>", extracted "3.0.62" DEBUG: The regex matched "<title>lifelines 3.0.61 released (Wed, 08 Aug 2007 14:38:03 GMT)</title>", extracted "3.0.61" DEBUG: The regex matched "<title>lifelines 3.0.60 released (Fri, 06 Jul 2007 22:23:48 GMT)</title>", extracted "3.0.60" DEBUG: The regex matched "<title>lifelines 3.0.59 released (Fri, 11 May 2007 19:39:36 GMT)</title>", extracted "3.0.59" DEBUG: The regex matched "<title>lifelines beta versions 3.0.58 released (Sun, 06 May 2007 23:34:25 GMT)</title>", extracted "beta versions 3.0.58" DEBUG: The regex matched "<title>lifelines beta versions 3.0.57 released (Sun, 22 Apr 2007 19:47:44 GMT)</title>", extracted "beta versions 3.0.57" DEBUG: The regex matched "<title>lifelines beta versions 3.0.56 released (Thu, 19 Apr 2007 21:53:27 GMT)</title>", extracted "beta versions 3.0.56" DEBUG: The regex matched "<title>lifelines beta versions 3.0.55 released (Fri, 13 Apr 2007 22:21:46 GMT)</title>", extracted "beta versions 3.0.55" DEBUG: The regex matched "<title>lifelines beta versions 3.0.54 released (Tue, 10 Apr 2007 01:26:34 GMT)</title>", extracted "beta versions 3.0.54" DEBUG: The regex matched "<title>lifelines beta versions 3.0.53 released (Wed, 04 Apr 2007 23:34:14 GMT)</title>", extracted "beta versions 3.0.53" DEBUG: Extracted version "3.0.62" is newer than livecheck version "3.0.46.1" lifelines seems to have been updated (port version: 3.0.46.1, new version: 3.0.62) }}} which is correct. I don't think this is a risky change but since this is my first effort at mucking around with base files, I'd appreciate it if someone with more experience would review this fix prior to committing to svn. Thanks -- Ticket URL: <http://trac.macports.org/ticket/17041#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS