in reply to Problems with "PPM::PPD::init: not a PPD and not a file"

If the ppd is blank and causing the error, where is the search query getting it's version information from

That's a damn good question - and I look forward to seeing an answer provided by someone who knows. Like you, I expected the information would be retrieved from the ppd file - but the ppd file in question certainly doesn't contain that information. I've looked at the ConfigReader-Simple.ppd in both IE7 and Firefox, and done an LWP::Simple::get(). It always shows up as empty. A "view source" in IE7 shows up some html, but I think IE7 is just making it up. In any case, the html doesn't contain any useful info for ppm.

All I can think of is that either ppm finds another ConfigReader-Simple ppd file, or that ppm knows to look in the MSWin32-x86-multi-thread-5.8 folder (where it will find the zip files - whose names incorporate the version info).

Neither alternative seems particularly likely to me ... but it's all I can think of. (And I don't feel like delving into the PPM source.)

Incidentally, using ppm4 on build 822 I get:
C:\_32>ppm search ConfigReader-Simple Downloading ActiveState Package Repository packlist...not modified 1: ConfigReader-Simple Simple configuration file parser Version: 1.23 Repo: ActiveState Package Repository 2: ConfigReader-Simple Simple configuration file parser Version: 1.25 Repo: trouchelle.com C:\_32>ppm install http://trouchelle.com/ppm/ConfigReader-Simple.ppd ppm install failed: No PPD found at http://trouchelle.com/ppm/ConfigRe +ader-Simpl e.ppd
I notice there's quite a few empty (0k) ppd files at trouchelle. You might like to 'ppm install' more of them and see if there actually is a correlation between empty ppd files and that error you're getting.

Cheers,
Rob
Update: When I added trouchelle to the ppm repo list I got the following output:
C:\_32>ppm repo add http://trouchelle.com/ppm/ Downloading ActiveState Package Repository packlist...done Updating ActiveState Package Repository database...done Downloading trouchelle.com packlist...done Updating trouchelle.com database...done Repo 2 added.
I don't know where those packlists are kept ... but perhaps that's what 'ppm search' uses ?

Replies are listed 'Best First'.
Re^2: Problems with "PPM::PPD::init: not a PPD and not a file"
by Casteele (Novice) on Aug 19, 2007 at 10:16 UTC

    Well, it does appear to be the problem with that particular package, and a few of the others. I am still digging around getting all the info together on which packages this is the problem--and which ones have valid PPD's but still error out (some still seem to).

    On the plus side, I did figure out where it's getting the version information from: There were a couple XML and PPM files amongst all the PPDs.. The XML includes what looks like each of the full SOFTPKG entries for the entire repository (this is what normally goes in each PPD, right?), and the PPM files have summary information (I'm guessing to aid in searching).

    I am starting to wonder if maybe this particular package problem is related to how and when the trouchelle repository (and possibly others) update their stores; The information seems disjoint between the XML and PPM files. For example, the ConfigReader-Simple package lists in one as version 1.24, and in another as 1.25. (The site seems to have the 1.23, 1.24 and 1.25 ZIP files, as well. Just no valid PPD file for them.)

    Is there some perlmonk out there who can confirm this.. or better yet, suggest some solution? I am wary of fiddling with the internals of the PPM code--But it would certainly be nice if I could modify PPM to print the error, then continue processing the rest of the commands instead of dumping me back to the command-line with only half the packages processed. (Maybe it's even possible to "build" a valid PPD from the package.xml file? It looks like a complete SOFTPKG entry..)

    One more last minute note, again as I'm writing this (I keep working in a command window as I write ;-)).. Some of the packages which previously processed OK are now showing this error, and some of the ones which previously had errors are now working OK. Just more reason I'm starting to think it's a problem with de-sync during the rep's update process..

      I did figure out where it's getting the version information from

      Yes, http://trouchelle.com/ppm/package.xml seems to contain the info ... well spotted. But why did your search report version 1.24 of ConfigReader-Simple, and not version 1.25 ?

      Cheers,
      Rob

        Yes, I noticed that too.. Which is why I think something got messed up during an update. But then I went back to look at the "Last Modified" time for the files, and since that was some time ago (many days or more), so that didn't make sense, either.

        But then I saw why.. The summary.ppm and searchsummary.ppm both list 1.24 as the current version. Things are starting to make sense.. But I still don't know if this is a problem with this particular repository or with the PPM system of tools--Or what can be done to handle it more gracefully. Nor does it explain why I get some of the same odd errors with other repositories and packages (which I have not yet been able to consistently reproduce, so might just be a httpd server issue--At this point, I'm even willing to believe it's got something to do with the alignment of the planets and phases of the moon, as long as it has a solution :-P)

        Maybe some perlmonk will wake up and explain it all.. Until then, I will continue my own expedition into it.. ;-)

        C. M.

Re^2: Problems with "PPM::PPD::init: not a PPD and not a file"
by Anonymous Monk on Aug 19, 2007 at 09:59 UTC
    0k files are error, please report
      0k files are error, please report

      Done. (Sent an email, as that was the only reporting mechanism I could find.)

      Cheers,
      Rob