Revisiting ppm

Preview:

DESCRIPTION

osdc.tw 2011

Citation preview

Revisiting PPM

March 26, 2011@OSDC.TW

Kenichi Ishigaki(charsbar)

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

Recommended