[MacPorts] #17041: port livecheck makes faulty version comparison

MacPorts noreply at macports.org
Fri Nov 7 13:01:29 PST 2008


#17041: port livecheck makes faulty version comparison
----------------------------------+-----------------------------------------
  Reporter:  devans at macports.org  |       Owner:  macports-tickets at 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 at 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


More information about the macports-tickets mailing list