Randy Kobes wrote:

Essentially what is after here is a way for PPM to map module
names to distribution names. The "name" used in a ppm package is
derived from the name that the CPAN distribution comes as - in
many cases it happens to be the same (with s/::/-/g) as the name
of the main module in the distribution, but in other cases (eg,
libwww-perl, containing LWP et al, or libnet, containing Net::FTP
et al) it's not. This mapping is available with CPAN.pm, so
within the CPAN shell you can "install LWP". If you want to let
PPM install it, so that it will recognize it in future sessions,
what you could do is let CPAN.pm build it (or do so by hand), and
then change into the build directory and do a "ppm install". The
PPM::Make module can automate some of this procedure.

Certainly this would solve the problem.... and be highly convenient.... but even just documenting how to figure it out would be helpful. After all, when someone shares a script, it has "use" directives that name modules, not distribution names. And the errors from Perl if the module isn't installed names the module, not the distribution. So there is a disconnect there which doesn't make things easy to use.

Perhaps the reason libwww-perl isn't available as a ppm package
for ActivePerl 8xx is that not all of its tests pass - I think
there's been some problems with some of the recent "live" tests.

Perhaps.
This is not true. After looking back through your messages, they suggest you do not know how to use PPM. A module, i.e., Crypt::SSLeay, is called by replacing the "::" with a "-", so you install Crypt-SSLeay. (Did you notice this is also the way that the modules are listed in CPAN?) Also, to get LWP, you just install "libnet" (no quotes). Don't blame ActiveState for your confusion, the conventions were set way before they came along, but perhaps a sentence or two explaining such idiosyncracies might be put in the AS HTML docs for new users such as yourself. I'm cc'ing this message to Jan as a friendly suggestion.
So if it is not (currently) in the AS docs.... is it documented anywhere?

I think with recent ppm versions a s/::/-/g is done for you
on a query, so that you can do, eg,
ppm> search AI::Fuzzy
and ppm finds the AI-Fuzzy package, and
ppm> install AI::Fuzzy
will install it. This works because the package name is AI-Fuzzy, so s/::/-/g succeeds in finding the available package. After installation, though, one must do a
ppm> query AI-Fuzzy
to find it. But this won't work for, eg,
ppm> install Date::Manip
as the package (which is available in ActiveState's repository)
is called DateManip.

Yes, PPM does auto :: to - translation, generally, and searching for a subset of the module name finds cases like DateManip.... but searching for LWP only turns up LWP-attic (whatever that is) not LWP::Simple. It is the bundle names for which the documentation seems to be scarce. Perhaps that is on CPAN, but does PPM refer you to CPAN?

The reason Crypt-SSLeay isn't available in ActiveState's
repository is that it requires an external library (openssl), and
ActiveState (normally) makes up ppm packages via an automated
build process that would require no manual intervention and for
which all tests pass. Given the sheer size of CPAN, this is
reasonable.

Yes, I can see that automating things is necessary. Does this mean that after Cyrpt::SSLeay is installed (from, say, your repository, thank you for the reference), that it won't function unless this openssl library is separately installed? I thought most packages included the precompiled stuff necessary to use them.....

And my "missing feature" PPM rant is that it would be nice to be able to issue PPM commands to prepare a CD containing a collection of modules and their dependencies to take to an offline machine (there are places where there just isn't local access to the internet, and I have some friends that live in such a place).

This would be similar to CPAN.pm's autobundle feature - it seems
possible using the installation information in
C:/Perl/site/lib/ppm.xml.

I noticed that the internal pathnames in the .ppd files included in the .zip module distributions are relative paths, whereas those in the .ppd files in the ActiveState repository used by ppm reference URLs. So some transformation and downloading would have to take place before these could be taken to another machine via CD.

--
Glenn
=====
Not everything that is counted counts,
and not everything that counts can be counted.
-- A. Einstein



_______________________________________________
Perl-Win32-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to