• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Revisiting ppm

Revisiting ppm



osdc.tw 2011

osdc.tw 2011



Total Views
Views on SlideShare
Embed Views



4 Embeds 174

http://d.hatena.ne.jp 129
http://blogs.perl.org 42
http://localhost 2
http://xss.yandex.net 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Revisiting ppm Revisiting ppm Presentation Transcript

    • Revisiting PPM March 26, 2011 @OSDC.TW Kenichi Ishigaki (charsbar)
    • Do you remember what miyagawa-san talked here last year?
    • cpanminus
    • A lightweight and faster CPAN client.
    • Why is it lightweight and faster?
    • Remote API servers
    • cpanmetadb
    • search.cpan.org
    • It usually doesn't download indices from a CPAN mirror.
    • Less configuration Less start-up time Less verbose
    • Better user experience.
    • miyagawa++
    • You can make it even faster.
    • cpanm --notest
    • If you don't run tests, you can't tell if it really works for you.
    • We can guess.
    • We have CPAN testers.
    • They continuously do comprehensive tests.
    • It might be reasonable to trust them and skip tests.
    • Go a step further.
    • You delegated testing to the testers.
    • Why don't you delegate building to someone else, too?
    • You can use system package managers like yum or apt.
    • It's convenient if you are satisfied with official packages.
    • It might cause lots of troubles if you install private packages without care.
    • What can we use then?
    • PPM
    • Perl Package Manager
    • PPM is a tool to install pre-processed packages.
    • Originally written for ActivePerl.
    • Used largely by the Windows users.
    • Not only for Windows.
    • 60-70% of the CPAN distributions are ready for PPM.
    • You could save more time if you use them.
    • Or, if you can 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 need a new client.
    • Fortunately, the spec is simple.
    • So I wrote one.
    • App::ppmminus github.com/charsbar/ppmminus
    • Not released to the CPAN yet.
    • Now we can install 60-70% of the CPAN more quickly.
    • Then, what to do with the rest?
    • The most fundamental remedie is fix them.
    • Or, you can package what you want by yourself.
    • Creating PPM packages is very easy.
      • $ perl Makefile.PL
      • $ make
      • $ make test
      • $ make ppm
      • $ tar -czf foobar.tar.gz blib
    • You can also use a dedicated module.
    • PPM::Make
    • $ make_ppm
    • You might also want to provide a summary file.
    • $ rep_summary --rep /path/to/the/repository
    • This was written by Dr. Randy Kobes.
    • He was a maintainer of Winnipeg repository.
    • His repository was not so large, but highly respected.
    • He also created yet another CPAN search site called kobesearch.
    • Or CPAN::SQLite
    • Or Pod::Perldocs
    • He passed away last year.
    • I'm not sure until when his repository would be kept.
    • I took over some of his modules, and started preparing kobesearch mirror.
    • (not done yet)
    • Found several things 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 ever tried WebStart?
    • kobesearch is somewhat localized.
    • No Taiwanese nor Japanese so far.
    • Waiting for your contribution!
    • Questions?
    • Thank you