CPAN Packager
Upcoming SlideShare
Loading in...5

Like this? Share it with your network


CPAN Packager






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



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.

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

CPAN Packager Presentation Transcript

  • 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