Revisiting ppm
description
Transcript of Revisiting ppm
Do you rememberwhat miyagawa-
santalked here last
year?
cpanminus
A lightweightand faster
CPAN client.
Why is itlightweightand faster?
Remote API servers
cpanmetadb
search.cpan.org
It usually doesn't
download indices
from a CPAN mirror.
Less configurationLess start-up
timeLess verbose
Better userexperience.
miyagawa++
You can make iteven faster.
cpanm --notest
CAVEAT --EMPTOR
If you don't runtests, you can'ttell if it reallyworks for you.
We can guess.
We have CPAN testers.
They continuously do
comprehensive tests.
It might bereasonable
to trust themand skip tests.
Go a stepfurther.
You delegatedtesting
to the testers.
Why don't youdelegate building
to someone else, too?
You can usesystem packagemanagers like
yum or apt.
It's convenientif you are satisfied
with official packages.
It might cause lots of
troubles if you install
private packageswithout care.
What can weuse then?
PPM
Perl Package Manager
PPM is a toolto install
pre-processedpackages.
Originallywritten forActivePerl.
Used largely bythe Windows
users.
Not onlyfor Windows.
60-70% of theCPAN distributionsare ready for PPM.
You could savemore time if
you use them.
Or, if youcan use them.
PPM has gone through
several turning points.
PPM 1.0
•for Perl 5.004/5 (around 1998)•based on Open Software Description (1997)
PPM 2.0
•for Perl 5.6 (around 2000)•Pumpking from ActiveState•Released to the CPAN•started SOAP integration
PPM 3.0
•for Perl 5.8 (around 2002)•Not released to the CPAN•Called "Programmer's Package Manager"•Still used a SOAP server
Sophos Age
•ActiveState was acquired by Sophos. (2003)•ActivePerl was steadily released.•Some of the well known packages were missing from their PPM repository.•Frustrated people started to create yet another Perl for Windows (which became Strawberry Perl). (2006)
PPM 4.0•ActiveState became independent again.(2006)•New version with GUI for Perl 5.8.8 (2006)•Renamed to "Perl Package Manager" again•Moved to another namespace (ActivePerl::PPM)•Not released to the CPAN either•PPD spec has changed•SOAP server was deprecated in favor of local SQLite database
So we needed to
•install ActivePerl•or use an older client on the CPAN
PPM2 client cannot
parse metadata for
PPM4.
We needa new client.
Fortunately,the spec is
simple.
So I wrote one.
App::ppmminus
github.com/charsbar/ppmminus
Not releasedto the CPAN yet.
Now we can install
60-70% of the CPAN
more quickly.
Then, what to do
with the rest?
The most fundamentalremedie is fix
them.
Or, you can package
what you wantby yourself.
Creating PPM packages
is very easy.
•$ perl Makefile.PL•$ make•$ make test•$ make ppm•$ tar -czf foobar.tar.gz blib
You can alsouse a dedicated
module.
PPM::Make
$ make_ppm
You might alsowant to providea summary file.
$ rep_summary --rep /path/to/the/repository
This was writtenby Dr. Randy
Kobes.
He was a maintainerof Winnipeg repository.
His repository was
not so large, buthighly respected.
He also createdyet another CPANsearch site called
kobesearch.
Or CPAN::SQLite
Or Pod::Perldocs
He passed awaylast year.
I'm not sureuntil when his
repository would be kept.
I took over some of
his modules, andstarted preparing
kobesearch mirror.
(not done yet)
Found severalthings to fix.
•top page is not in the distribution•db schema needs to be updated (CPAN grows quite fast)•mod_perl/CGI woes (better use Plack?)
Have you evertried WebStart?
kobesearch issomewhat localized.
No Taiwanesenor Japanese
so far.
Waiting foryour
contribution!
Questions?
Thank you