in reply to PPM mis-identifying / failing to upgrade some module upgrade candidates

I have seen this too. With a little digging I located the code that deals with this functionality.

Two issues spring to mind when I read the comments below.

  • the order of your repositories matter and
  • if the repository description doesn't match the installed description then it will show an upgrade version
    # 3. Send the installed version to the Repository for checking. # I used to only upgrade from the place it came from. Now it will com +e # from the current repository. my $res = $pkg->uptodate($target); unless ($res->ok) { return Error("bundled package - no upgrade available") if $bundled; return $res; } my ($uptodate, $newversion) = $res->result_l; # 4. Return uptodate(t/f), newversion, oldversion, bundled(t/f): return List($uptodate, $bundled, $precious, $newversion, $ver_p); } # Find the first repository containing the package, and report whether + the # package is up-to-date w.r.t that repository. sub uptodate { my $o = shift; my $target = PPM::UI::get_targ(shift)->result; my $desc = $o->describe($target); if ($o->{current_rep} and $desc and $desc->ok) { my $u2d = $o->{current_rep}->uptodate( $target, $o->{id}, $desc->result->version_osd, ); return $u2d; } Error("package $o->{rawname} not found in repositories"); }
    If I set the first repository to be the "ActiveState Package Repository" (which is where the upgrade is).Then request the upgrade information and issue a describe on what was found I get the following.

    ppm> describe cgi-enurl ==================== Name: CGI-Enurl Version: 1.07 Author: Unknown ( ) Title: CGI-Enurl Abstract: Encode strings, arrays and hashes so that they may be append +ed to URLs as queries Location: ActiveState Package Repository Available Platforms: 1. i686-linux-thread-multi-5.8 ==================== ppm>
    Listing the properties of currently installed package results in the this listing.
    ppm> prop cgi-enurl ==================== Name: CGI-Enurl Version: 1.07 Author: Jan Krynicky (=Jan Krynicky) (Jenda@Krynicky.cz) Title: CGI-Enurl Abstract: Encode strings, arrays and hashes so that they may be append +ed to URLs as queries InstDate: 08:17:45 2005 Location: http://ppm.ActiveState.com/cgibin/PPM/ppmserver-5.8-windows. +pl?urn:/PPMServer Available Platforms: 1. MSWin32-x86-multi-thread-5.8 ==================== ppm>
    The author is missing in the repository for some reason. Interestingly if I look at the raw out from describe it is listed.
    ppm> describe -dump cgi-enurl ==================== <?xml version="1.0" encoding="UTF-8"?> <SOFTPKG NAME="CGI-Enurl" VERSION="1,07,0,0"> <IMPLEMENTATION> <CODEBASE HREF="http://ppm.activestate.com/PPMPackages/5.8-windows +/MSWin32-x86-multi-thread-5.8/CGI-Enurl.tar.gz" /> <ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.8" /> <OS NAME="MSWin32" /> </IMPLEMENTATION> <ABSTRACT>Encode strings, arrays and hashes so that they may be appe +nded to URLs as queries</ABSTRACT> <AUTHOR>Jan Krynicky (=Jan Krynicky) (Jenda@Krynicky.cz)</AUTHOR> <TITLE>CGI-Enurl</TITLE> </SOFTPKG> ==================== ppm>
    I may be incorrect but I don't believe I have seen this issue with packages from Uwinnipeg. Maybe it is an ActiveState repository issue?