• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
MyCPAN (Frozen Perl 2008 Lightning Talk)
 

MyCPAN (Frozen Perl 2008 Lightning Talk)

on

  • 5,468 views

 

Statistics

Views

Total Views
5,468
Views on SlideShare
5,467
Embed Views
1

Actions

Likes
0
Downloads
0
Comments
2

1 Embed 1

http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

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.

Cancel

12 of 2 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • I can't wait to see more presentations from you.
    http://www.teethgrindinginsleep.net/
    http://www.teethgrindinginsleep.net/how-to-stop-teeth-grinding-at-night/
    http://www.teethgrindinginsleep.net/get-a-mouth-guard-to-stop-teeth-grinding-at-night/
    Are you sure you want to
    Your message goes here
    Processing…
  • Outstanding demonstration. Really clear along with useful
    Teisha
    http://dashinghealth.com http://healthimplants.com
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    MyCPAN (Frozen Perl 2008 Lightning Talk) MyCPAN (Frozen Perl 2008 Lightning Talk) Presentation Transcript

    • Making My Own CPAN brian d foy Stonehenge Consulting Services Frozen Perl February 16, 2008
    • Goals • Make my own version of CPAN (MyCPAN) • Freeze MyCPAN • Make a CPAN for something else
    • PAUSE • http://pause.perl.org • Perl Authors Upload SErver (PAUSE) • Gateway for adding modules to CPAN • CPAN Master mirror PAUSE • modules/ • authors/
    • PAUSE index files • PAUSE indexes modules • Creates index files for CPAN tool chain • modules/02packages.details.txt.gz • modules/03modlist.data.gz • modules/06perms.txt.gz
    • Tool chain • quot;Third Partyquot; projects • CPAN Search • CPAN.pm • CPANPLUS • AnnoCPAN
    • CPAN.pm • Uses index files to find distro • Looks for path on mirror • http://mirror/... • .../authors/ • .../B/BD/BDFOY/Foo-1.23.tar.gz
    • Installing a module • Get from first mirror that has it • Check checksum • Unpack, run Makefile.PL or Build.PL • Discover dependencies • Find, get, install dependencies
    • MiniCPAN • A local CPAN mirror • Only has latest versions, indices • Point CPAN.pm at local mirror • Update from network • Install without network
    • CPAN::Mini • The module behind minicpan • by Ricardo SIGNES • Configurable • Programmable
    • MicroCPAN CPAN::Mini->update_mirror( ..., path_filters => [ sub { !( $_[0] =~ /BDFOY/ ) } ], module_filters => [ qr/Test/, ], );
    • MyCPAN • Only the modules I want • Only the versions I want • Extra, private modules • Public modules with local patches • Internal server or removable media
    • CPAN::Mini::Inject • Creates a parallel archive • Update MiniCPAN first • Inject parallel archive into MiniCPAN • Update PAUSE index files locally • Update CHECKSUMS
    • Replacing public distros • Sometimes I want local patches • absent author • truculent author • Don’t want the latest distro
    • BackPAN • http://backpan.cpan.org • All modules ever uploaded to PAUSE • Not integrated with CPAN tool chain • Which distro has module version?
    • Finding old distros • It's all on BackPAN • Brute force, right now • Unpack a distro and check • Repeat until you find it
    • MyCPAN on a CD • I have all the bits to carry around MyCPAN • MiniCPAN • Private modules • Configure CPAN.pm • Need to discover MyCPAN location