ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> ppm
ppm
Re: CPAN version of PPM broken by latest ppd files
by Sisyphus other posts by this author
Oct 3 2006 8:17AM messages near this date
view in the new Beta List Site
Re: CPAN version of PPM broken by latest ppd files | Re: CPAN version of PPM broken by latest ppd files
----- Original Message ----- 
From: "Randy Kobes" <randy@[...].ca> 
.
.
> 
>  The problem with the uwinnipeg repository comes from us
>  inserting a PROVIDE element in the ppd file (which is
>  new for ppm4), and ppm2 not ignoring it. This patch
>  to the CPAN ppm version:
> 

Ok - I can now get to the uwinnipeg ppd files ... and I've applied the
patch. But I get:

D:\> ppm install http://theoryx5.uwinnipeg.ca/ppms/Math-Vec.ppd
Installing package 'http://theoryx5.uwinnipeg.ca/ppms/Math-Vec.ppd'...
Element 'IMPLEMENTATION' cannot contain a child element 'PROVIDE' at
D:/perl58_M/site/5.8.8/lib/PPM.pm line 1658.
Can't locate object method "rvalidate" via package "PPM::XML::PPD::PROVIDE"
at D:/perl58_M/site/5.8.8/lib/PPM/XML/ValidatingElement.pm line 38.

The relevant section of ValidatingElement.pm looks like:

34:
35:     foreach (@{$self-> {Kids}})
36:     {
37:         if ((ref $_) !~ /::Characters$/o)
38:             { $success &= $_-> rvalidate( $func ); }
39:     }
40:
41:     return $success;
42: }
43:

And if I view the source at http://www.bribes.org/perl/ppm/DateTime.ppd I
see no mention of "PROVIDE":

<SOFTPKG NAME="DateTime" VERSION="0,34,0,0"> 
 <TITLE> DateTime</TITLE>
 <ABSTRACT> DateTime base objects</ABSTRACT>
 <AUTHOR> Dave Rolsky (autarch@urth.org)</AUTHOR>
 <IMPLEMENTATION> 
  <DEPENDENCY NAME="DateTime-Locale" VERSION="0,21,0,0" /> 
  <DEPENDENCY NAME="DateTime-TimeZone" VERSION="0,38,0,0" /> 
  <DEPENDENCY NAME="Params-Validate" VERSION="0,76,0,0" /> 
  <DEPENDENCY NAME="Scalar-List-Utils" VERSION="0,0,0,0" /> 
  <DEPENDENCY NAME="Time-Local" VERSION="1,04,0,0" /> 
  <OS NAME="MSWin32" /> 
  <ARCHITECTURE NAME="MSWin32-x86-multi-thread" /> 
  <CODEBASE HREF="DateTime-0.34-PPM56.tar.gz" /> 
 </IMPLEMENTATION> 
 <IMPLEMENTATION> 
    <DEPENDENCY NAME="DateTime-Locale" VERSION="0,21,0,0" /> 
    <DEPENDENCY NAME="DateTime-TimeZone" VERSION="0,38,0,0" /> 
    <DEPENDENCY NAME="Params-Validate" VERSION="0,76,0,0" /> 
    <DEPENDENCY NAME="Scalar-List-Utils" VERSION="0,0,0,0" /> 
    <DEPENDENCY NAME="Time-Local" VERSION="1,04,0,0" /> 
    <OS NAME="MSWin32" /> 
    <ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.8" /> 
    <CODEBASE HREF="DateTime-0.34-PPM58.tar.gz" /> 
  </IMPLEMENTATION> 
</SOFTPKG> 

And yet, I get:

D:\> ppm install http://www.bribes.org/perl/ppm/DateTime.ppd
Element 'IMPLEMENTATION' cannot contain a child element 'PROVIDE' at
D:/perl58_M/site/5.8.8/lib/PPM.pm line 1658.
Element 'IMPLEMENTATION' cannot contain a child element 'PROVIDE' at
D:/perl58_M/site/5.8.8/lib/PPM.pm line 1658.
.
<repeated many times> 
.
Element 'IMPLEMENTATION' cannot contain a child element 'PROVIDE' at
D:/perl58_M/site/5.8.8/lib/PPM.pm line 1658.
Element 'IMPLEMENTATION' cannot contain a child element 'PROVIDE' at
D:/perl58_M/site/5.8.8/lib/PPM.pm line 1658.
Can't locate object method "rvalidate" via package "PPM::XML::PPD::PROVIDE"
at D:/perl58_M/site/5.8.8/lib/PPM/XML/ValidatingElement.pm line 38.

Otoh, I can install the Digest-Whirlpool ppm just fine:

D:\> ppm install http://www.bribes.org/perl/ppm/Digest-Whirlpool.ppd
Installing package 'http://www.bribes.org/perl/ppm/Digest-Whirlpool.ppd'...
Bytes transferred: 17219
Installing D:\perl58_M\site\5.8.8\lib\auto\Digest\Whirlpool\Whirlpool.bs
Installing D:\perl58_M\site\5.8.8\lib\auto\Digest\Whirlpool\Whirlpool.dll
Installing D:\perl58_M\site\5.8.8\lib\auto\Digest\Whirlpool\Whirlpool.exp
Installing D:\perl58_M\site\5.8.8\lib\auto\Digest\Whirlpool\Whirlpool.lib
Installing D:\perl58_M\5.8.8\html\site\lib\Digest\Whirlpool.html
Files found in blib\arch: installing files in blib\lib into architecture
dependent library tree
Installing D:\perl58_M\site\5.8.8\lib\Digest\Whirlpool.pm
Writing D:\perl58_M\site\5.8.8\lib\auto\Digest\Whirlpool\.packlist

Beats me. I gotta go to bed :-)

Cheers,
Rob
Thread:
Sisyphus
Randy Kobes
Sisyphus
Sisyphus
Randy Kobes

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved