This manual page is for Mac OS X version 10.6

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • For more information about the manual page format, see the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



CPANPLUS::Dist::Base(3pm)             Perl Programmers Reference Guide             CPANPLUS::Dist::Base(3pm)



NAME
       CPANPLUS::Dist::Base - Base class for custom distribution classes

SYNOPSIS
           package CPANPLUS::Dist::MY_IMPLEMENTATION

           use base 'CPANPLUS::Dist::Base';

           sub prepare {
               my $dist = shift;

               ### do the 'standard' things
               $dist->SUPER::prepare( @_ ) or return;

               ### do MY_IMPLEMENTATION specific things
               ...

               ### don't forget to set the status!
               return $dist->status->prepared( $SUCCESS ? 1 : 0 );
           }

DESCRIPTION
       CPANPLUS::Dist::Base functions as a base class for all custom distribution implementations. It does
       all the mundane work CPANPLUS would have done without a custom distribution, so you can override just
       the parts you need to make your own implementation work.

FLOW
       Below is a brief outline when and in which order methods in this class are called:

           $Class->format_available;   # can we use this class on this system?

           $dist->init;                # set up custom accessors, etc
           $dist->prepare;             # find/write meta information
           $dist->create;              # write the distribution file
           $dist->install;             # install the distribution file

           $dist->uninstall;           # remove the distribution (OPTIONAL)

METHODS
       $bool = $Class->format_available

       This method is called when someone requests a module to be installed via the superclass. This gives
       you the opportunity to check if all the needed requirements to build and install this distribution
       have been met.

       For example, you might need a command line program, or a certain perl module installed to do your
       job. Now is the time to check.

       Simply return true if the request can proceed and false if it can not.

       The "CPANPLUS::Dist::Base" implementation always returns true.

       $bool = $dist->init

       This method is called just after the new dist object is set up and before the "prepare" method is
       called. This is the time to set up the object so it can be used with your class.

       For example, you might want to add extra accessors to the "status" object, which you might do as
       follows:

           $dist->status->mk_accessors( qw[my_implementation_accessor] );

       The "status" object is implemented as an instance of the "Object::Accessor" class. Please refer to
       it's documentation for details.

       Return true if the initialization was successul, and false if it was not.

       The "CPANPLUS::Dist::Base" implementation does not alter your object and always returns true.

       $bool = $dist->prepare

       This runs the preparation step of your distribution. This step is meant to set up the environment so
       the "create" step can create the actual distribution(file).  A "prepare" call in the standard
       "ExtUtils::MakeMaker" distribution would, for example, run "perl Makefile.PL" to find the
       dependencies for a distribution. For a "debian" distribution, this is where you would write all the
       metafiles required for the "dpkg-*" tools.

       The "CPANPLUS::Dist::Base" implementation simply calls the underlying distribution class (Typically
       "CPANPLUS::Dist::MM" or "CPANPLUS::Dist::Build").

       Sets "$dist->status->prepared" to the return value of this function.  If you override this method,
       you should make sure to set this value.

       $bool = $dist->create

       This runs the creation step of your distribution. This step is meant to follow up on the "prepare"
       call, that set up your environment so the "create" step can create the actual distribution(file).  A
       "create" call in the standard "ExtUtils::MakeMaker" distribution would, for example, run "make" and
       "make test" to build and test a distribution. For a "debian" distribution, this is where you would
       create the actual ".deb" file using "dpkg".

       The "CPANPLUS::Dist::Base" implementation simply calls the underlying distribution class (Typically
       "CPANPLUS::Dist::MM" or "CPANPLUS::Dist::Build").

       Sets "$dist->status->dist" to the location of the created distribution.  If you override this method,
       you should make sure to set this value.

       Sets "$dist->status->created" to the return value of this function.  If you override this method, you
       should make sure to set this value.

       $bool = $dist->install

       This runs the install step of your distribution. This step is meant to follow up on the "create"
       call, which prepared a distribution(file) to install.  A "create" call in the standard
       "ExtUtils::MakeMaker" distribution would, for example, run "make install" to copy the distribution
       files to their final destination. For a "debian" distribution, this is where you would run "dpkg
       --install" on the created ".deb" file.

       The "CPANPLUS::Dist::Base" implementation simply calls the underlying distribution class (Typically
       "CPANPLUS::Dist::MM" or "CPANPLUS::Dist::Build").

       Sets "$dist->status->installed" to the return value of this function.  If you override this method,
       you should make sure to set this value.

       $bool = $dist->uninstall

       This runs the uninstall step of your distribution. This step is meant to remove the distribution from
       the file system.  A "uninstall" call in the standard "ExtUtils::MakeMaker" distribution would, for
       example, run "make uninstall" to remove the distribution files the file system. For a "debian"
       distribution, this is where you would run "dpkg --uninstall PACKAGE".

       The "CPANPLUS::Dist::Base" implementation simply calls the underlying distribution class (Typically
       "CPANPLUS::Dist::MM" or "CPANPLUS::Dist::Build").

       Sets "$dist->status->uninstalled" to the return value of this function.  If you override this method,
       you should make sure to set this value.



perl v5.10.0                                     2007-12-18                        CPANPLUS::Dist::Base(3pm)

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation to the Perl project. (See perlbug(1) for submission instructions.)
Bug reports
Report bugs in the functionality of the described tool or API to Apple through Bug Reporter and to the Perl project using perlbug(1).
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.