Your SlideShare is downloading. ×
0
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
CAVEAT --EMPTOR
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 <ul><li>for Perl 5.004/5 (around 1998) </li></ul><ul><li>based on Open Software Description (1997) </li></ul>
PPM 2.0 <ul><li>for Perl 5.6 (around 2000) </li></ul><ul><li>Pumpking from ActiveState </li></ul><ul><li>Released to the C...
PPM 3.0 <ul><li>for Perl 5.8 (around 2002) </li></ul><ul><li>Not released to the CPAN </li></ul><ul><li>Called &quot;Progr...
Sophos Age <ul><li>ActiveState was acquired by Sophos. (2003) </li></ul><ul><li>ActivePerl was steadily released. </li></u...
PPM 4.0 <ul><li>ActiveState became independent again.(2006) </li></ul><ul><li>New version with GUI for Perl 5.8.8 (2006) <...
So we needed to <ul><li>install ActivePerl </li></ul><ul><li>or use an older client on the CPAN </li></ul>
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.
<ul><li>$ perl Makefile.PL </li></ul><ul><li>$ make </li></ul><ul><li>$ make test </li></ul><ul><li>$ make ppm </li></ul><...
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.
<ul><li>top page is not in the distribution </li></ul><ul><li>db schema needs to be updated (CPAN grows quite fast) </li><...
Have you ever tried WebStart?
kobesearch is somewhat localized.
No Taiwanese nor Japanese so far.
Waiting for your contribution!
Questions?
Thank you
Upcoming SlideShare
Loading in...5
×

Revisiting ppm

1,764

Published on

osdc.tw 2011

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

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

No notes for slide

Transcript of "Revisiting ppm"

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

    Clipping is a handy way to collect important slides you want to go back to later.

×