Your SlideShare is downloading. ×
Revisiting ppm
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Revisiting ppm

1,724
views

Published on

osdc.tw 2011

osdc.tw 2011


0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,724
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Revisiting PPM March 26, 2011 @OSDC.TW Kenichi Ishigaki (charsbar)
  • 2. Do you remember what miyagawa-san talked here last year?
  • 3. cpanminus
  • 4. A lightweight and faster CPAN client.
  • 5. Why is it lightweight and faster?
  • 6. Remote API servers
  • 7. cpanmetadb
  • 8. search.cpan.org
  • 9. It usually doesn't download indices from a CPAN mirror.
  • 10. Less configuration Less start-up time Less verbose
  • 11. Better user experience.
  • 12. miyagawa++
  • 13. You can make it even faster.
  • 14. cpanm --notest
  • 15. CAVEAT --EMPTOR
  • 16. If you don't run tests, you can't tell if it really works for you.
  • 17. We can guess.
  • 18. We have CPAN testers.
  • 19. They continuously do comprehensive tests.
  • 20. It might be reasonable to trust them and skip tests.
  • 21. Go a step further.
  • 22. You delegated testing to the testers.
  • 23. Why don't you delegate building to someone else, too?
  • 24. You can use system package managers like yum or apt.
  • 25. It's convenient if you are satisfied with official packages.
  • 26. It might cause lots of troubles if you install private packages without care.
  • 27. What can we use then?
  • 28. PPM
  • 29. Perl Package Manager
  • 30. PPM is a tool to install pre-processed packages.
  • 31. Originally written for ActivePerl.
  • 32. Used largely by the Windows users.
  • 33. Not only for Windows.
  • 34. 60-70% of the CPAN distributions are ready for PPM.
  • 35. You could save more time if you use them.
  • 36. Or, if you can use them.
  • 37. PPM has gone through several turning points.
  • 38. PPM 1.0
    • for Perl 5.004/5 (around 1998)
    • based on Open Software Description (1997)
  • 39. PPM 2.0
    • for Perl 5.6 (around 2000)
    • Pumpking from ActiveState
    • Released to the CPAN
    • started SOAP integration
  • 40. PPM 3.0
    • for Perl 5.8 (around 2002)
    • Not released to the CPAN
    • Called "Programmer's Package Manager"
    • Still used a SOAP server
  • 41. 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)
  • 42. 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
  • 43. So we needed to
    • install ActivePerl
    • or use an older client on the CPAN
  • 44. PPM2 client cannot parse metadata for PPM4.
  • 45. We need a new client.
  • 46. Fortunately, the spec is simple.
  • 47. So I wrote one.
  • 48. App::ppmminus github.com/charsbar/ppmminus
  • 49. Not released to the CPAN yet.
  • 50. Now we can install 60-70% of the CPAN more quickly.
  • 51. Then, what to do with the rest?
  • 52. The most fundamental remedie is fix them.
  • 53. Or, you can package what you want by yourself.
  • 54. Creating PPM packages is very easy.
  • 55.
    • $ perl Makefile.PL
    • $ make
    • $ make test
    • $ make ppm
    • $ tar -czf foobar.tar.gz blib
  • 56. You can also use a dedicated module.
  • 57. PPM::Make
  • 58. $ make_ppm
  • 59. You might also want to provide a summary file.
  • 60. $ rep_summary --rep /path/to/the/repository
  • 61. This was written by Dr. Randy Kobes.
  • 62. He was a maintainer of Winnipeg repository.
  • 63. His repository was not so large, but highly respected.
  • 64. He also created yet another CPAN search site called kobesearch.
  • 65. Or CPAN::SQLite
  • 66. Or Pod::Perldocs
  • 67. He passed away last year.
  • 68. I'm not sure until when his repository would be kept.
  • 69. I took over some of his modules, and started preparing kobesearch mirror.
  • 70. (not done yet)
  • 71. Found several things to fix.
  • 72.
    • top page is not in the distribution
    • db schema needs to be updated (CPAN grows quite fast)
    • mod_perl/CGI woes (better use Plack?)
  • 73. Have you ever tried WebStart?
  • 74. kobesearch is somewhat localized.
  • 75. No Taiwanese nor Japanese so far.
  • 76. Waiting for your contribution!
  • 77. Questions?
  • 78. Thank you