Your SlideShare is downloading. ×
  • Like
CPAN Packager
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

CPAN Packager



Published in Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. YAPC::Asia 2009 2009/09/10 CPAN::Packager ~Help to make packages from CPAN module~ dann CPAN::Packager dann
  • 2. About me • Dann • Creator of CPAN::Packager • HTTP::Engine(Middleware), Mouse etc • CPAN::Packager dann
  • 3. What is CPAN::Packager? A tool to help you make Redhat or Debian packages from perl modules on CPAN CPAN::Packager dann
  • 4. Motivation • It’s very time wasting to install Catalyst, Plagger... a LOT of dependencies • different module versions on each server.... • Can’t make packages because XXX module has a LOT of DEPENDENCIES... Make RPM/Deb packages and manage them with packaging system CPAN::Packager dann
  • 5. The problem • cpanflute2, dh-make-perl • Don’t resolve module’s dependencies • CPANPLUS::Dist::{Deb, RPM} • resolve module dependency at first level only • can’t fix incorrect module’s dependencies manually CPAN::Packager dann
  • 6. Packaging System requirements • Resolve module’s dependencies • Can fix incorrect module dependencies manually • fix module’s incorrect dependencies with a configuration • Can skip moduledependenciesmodule has some incorrect build if the CPAN::Packager dann
  • 7. Feature and How to use CPAN::Packager dann
  • 8. Key Features of CPAN::Packager • Resolve module dependencies automatically • Can fix module dependencies manually • Can skip incorecct module manually CPAN::Packager can automatically resolve dependencies and manually fixes module’s incorrect dependencies with a configuration CPAN::Packager dann
  • 9. How to use CPAN::Packager How to build a module on CPAN sudo cpan-packager --module Moose --builder RPM -- conf conf/config.yaml Which type of package configuration for manually module’s do you develop? incorrectness. How to develop multiple modules on CPAN sudo cpan-packager --modulelist modules.list --builder RPM --conf conf/config.yaml module lists CPAN::Packager dann
  • 10. How to write the configuration --- global: fix_module_name: Common settings - from: Template::Toolkit for all modules to: Template fix_package_depends: [] no_depends: skip_name_resolve_modules: [] modules: - module: Test::Exception Eash module’s setting to fix incorrectness of depends: the module - module: Test::Simple no_depends: - module: Test::Builder::Tester - module: HTTP::Request::AsCGI skip_build: 1 CPAN::Packager dann
  • 11. Demo build a HTTP::Engine RPM package CPAN::Packager dann
  • 12. • CPAN::Packager help you to make RPM/Deb package • Automatically resolve module dependencies • Can fix modules dependencies with a configuration • Repository • master Angelos dann