CPAN Packager

  • 1,455 views
Uploaded on

 

More 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

Views

Total Views
1,455
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
13
Comments
0
Likes
0

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. YAPC::Asia 2009 2009/09/10 CPAN::Packager ~Help to make packages from CPAN module~ dann CPAN::Packager github.com/dann dann
  • 2. About me • Dann • Creator of CPAN::Packager • HTTP::Engine(Middleware), Mouse etc • http://github.com/dann CPAN::Packager github.com/dann dann
  • 3. What is CPAN::Packager? A tool to help you make Redhat or Debian packages from perl modules on CPAN CPAN::Packager github.com/dann 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 github.com/dann 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 github.com/dann 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 github.com/dann dann
  • 7. Feature and How to use CPAN::Packager github.com/dann 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 github.com/dann 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 github.com/dann 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 github.com/dann dann
  • 11. Demo build a HTTP::Engine RPM package CPAN::Packager github.com/dann dann
  • 12. • CPAN::Packager help you to make RPM/Deb package • Automatically resolve module dependencies • Can fix modules dependencies with a configuration • Repository • http://github.com/dann/p5-cpan-packager/tree/ master Angelos github.com/dann dann