The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

App::CPAN2Pkg - generating native linux packages from cpan

SYNOPSIS

    $ cpan2pkg
    $ cpan2pkg Module::Foo Module::Bar ...

DESCRIPTION

Don't use this module directly, refer to the cpan2pkg script instead.

App::CPAN2Pkg is the controller for the cpan2pkg application. It implements a POE session, responsible to schedule and advance module packagement.

It is spawned by the poe session responsible for the user interface.

PUBLIC PACKAGE METHODS

my $id = App::CPAN2Pkg->spawn( \%params )

This method will create a POE session responsible for coordinating the package(s) creation.

It will return the POE id of the session newly created.

You can tune the session by passing some arguments as a hash reference, where the hash keys are:

  • modules => \@list_of_modules

    A list of modules to start packaging.

PUBLIC EVENTS ACCEPTED

The following events are the module's API.

cpan2dist_status( $module, $success )

Sent when $module has been cpan2dist-ed, with $success being true if everything went fine.

local_install( $module, $success )

Sent when $module has been installed locally, with $success return value.

local_status( $module, $is_installed )

Sent when $module knows whether it is installed locally ($is_installed set to true) or not.

module_spawned( $module )

Sent when $module has been spawned successfully.

package( $module )

Request the application to package (if needed) the perl $module. Note that the module can be either the top-most module of a distribution or deep inside said distribution.

prereqs( $module, @prereqs )

Inform main application that $module needs some @prereqs (possibly empty).

upstream_install( $module, $success )

Sent after trying to install $module from upstream dist. Result is passed along with $success.

upstream_status( $module, $is_available )

Sent when $module knows whether it is available upstream ($is_available set to true) or not.

BUGS

Please report any bugs or feature requests to app-cpan2pkg at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=App-CPAN2Pkg. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SEE ALSO

Our git repository is located at git://repo.or.cz/app-cpan2pkg.git, and can be browsed at http://repo.or.cz/w/app-cpan2pkg.git.

You can also look for information on this module at:

AUTHOR

Jerome Quelin, <jquelin@cpan.org>

COPYRIGHT & LICENSE

Copyright (c) 2009 Jerome Quelin, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.