bionic (3) Module::Build::CipUX.3pm.gz

Provided by: libmodule-build-cipux-perl_0.4.0-7.1_all bug

NAME

       Module::Build::CipUX - Extension for building CipUX

VERSION

       This document describes Module::Build::CipUX version 0.4.0

SYNOPSIS

           use Module::Build::CipUX;

           my $build = Module::Build::CipUX->new(
               module_name     =>  'xxxx',
               license         =>  'gpl',
               ...
               cipux_paths       =>  {
                   'schema' =>  q(/etc/ldap/schema),
                   'setup'  =>  q(/etc/cipux/setup),
               },
               # cipux_schema   =>  [ glob('extras/*.schema') ],
               # cipux_setup =>  [ glob('extras/*.setup') ],

               # build target
               schema_files => {
                    'etc/ldap/schema/cipux.schema' => 'schema/cipux.schema',
               },
               setup_files => {
                   'etc/cipux/setup/courier.schema'        => 'setup/courier.schema',
                   'etc/cipux/setup/debian-cipux.conf'     => 'setup/debian-cipux.conf',
                   'etc/cipux/setup/debian-edu-cipux.conf' => 'setup/debian-edu-cipux.conf',
                   'etc/cipux/setup/debian-edu-ldap.acl'   => 'setup/debian-edu-ldap.acl',
                   'etc/cipux/setup/debian-edu-ldap.ldif'  => 'setup/debian-edu-ldap.ldif',
                   'etc/cipux/setup/debian-ldap.acl'       => 'setup/debian-ldap.acl',
                   'etc/cipux/setup/debian-ldap.ldif'      => 'setup/debian-ldap.ldif',
                   'etc/cipux/setup/lis.schema'            => 'setup/lis.schema',
               },

                       );

           my $elem_ar = $builder->get_all_elements;
           foreach my $e (@{$elem_ar}){
               $builder->add_build_element($e);
           }

           $build->create_build_script();

DESCRIPTION

       The goal of this module is build and install CipUX plugins in Perl and also handle CipUX core modules,
       subclassing the Module::Build and adding some extra funtionalities to it.

       For a description of the interface see Module::Build::API.

       This is a list of new parameters in the Module::Build::new method:

       cipux_paths

           Define the install paths of the components using a hash with the following keys:

           setup

               The default value is /etc/cipux/setup.

           schema

               The default value is /etc/ldap/schema.

       cipux_setup

           List of setup files to install.

       cipux_schema

           List of LDAP schema files to install.

INTERFACE

       cipuxrelease
             [version 0.1.0]

             Make a cipux release tarball

CONSTRUCTOR

   new
       New inscance of Module::Build::CipUX.

         my $build = Module::Build::CipUX->new();

SUBROUTINES/METHODS

   ACTION_cipuxpo2mo( @params )
       Build action which converts *.po files to *.mo files using gettext.

   ACTION_cipuxrelease( @params )
       Build a simple CipUX release tarball.

   _get_prop( $self )
       Returns private properties from the hash in Build.PL. This was inspired by Module::Build::IkiWiki. This
       violates ProhibitAccessOfPrivateData.  If someone knows how to do better, drop a mail to cipux-devel
       mailing list.

   $cipux_elements_ar = get_all_elements()
       Retrieve all elements and return a array reference to it.

        $cipux_elements_ar = get_all_elements();

   add_all_elements()
       Call get_all_elements and add all elements to the build list by add_build_element.

   $results_hr = search_files({ PARAM })
       PARAM:
           source_prefix              # cgi
           source_extension           # pl
           destination_prefix         # webcgi
           destination_extension      # cgi
           verbose                    # 1|0

       Search a given directory for files of given extension, change the extension and construct a new path with
       the file name. It returns a hash reference.

   var_dump({ PARAM })
       PARAM:
           var_r    (mandatory)                          reference to variable
           name     (mandatory)                          name of variable
           file     (optional)                           filename if wish is to dump to file
           fh       (optional) if not defined *STDOUT;   other file handle or handle

       Dump a variable to STDOUT. Or if parameter is given, dump it to a file or to another location given by a
       handle.

   $files_hr = find_bin750_files()
       Find all files for mode 750 and return hash reference.  Uses find_files_by_element.

   process_bin750_files()
       Process files.

   $files_hr = find_bin755_files()
       Find all files for mode 755 and return hash reference.  Uses find_files_by_element.

   process_bin755_files
       Process files.

   $files_hr = find_sbin750_files()
       Find all files for mode 750 and return hash reference.  Uses find_files_by_element.

   process_sbin750_files
       Process files.

   $files_hr = find_sbin755_files()
       Find all files for mode 755 and return hash reference.  Uses find_files_by_element.

   process_sbin755_files
       Process files.

   $files_hr = find_webcgi_files()
       Find all files for element webcgi and return hash reference.  Uses find_files_by_element.

   process_webcgi_files
       Process files.

   $files_hr = find_initscript_files()
       Find all files for element initscript and return hash reference.  Uses find_files_by_element.

   process_initscript_files
       Process files.

   $files_hr = find_conf644_files()
       Find all files for element conf644 and return hash reference.  Uses find_files_by_element.

   process_conf644_files
       Process files.

   $files_hr = find_conf600_files()
       Find all files for element conf600 and return hash reference.  Uses find_files_by_element.

   process_conf600_files
       Process files.

   find_bootcfg_files
       Find files.

   process_bootcfg_files
       Process files.

   find_bootcfgobject_files
       Find files.

   find_bootcfgstorage_files
       Find files.

   find_bootcfgaccess_files
       Find files.

   find_bootcfgtask_files
       Find files.

   process_bootcfgobject_files
       Process files.

   process_bootcfgstorage_files
       Process files.

   process_bootcfgaccess_files
       Process files.

   process_bootcfgtask_files
       Process files.

   $files_hr = find_locale_files()
       Find all files for element locale and return hash reference.  Uses find_files_by_element.

   process_locale_files
       Process files.

   $files_hr|undef = find_files_by_element( { element=>$element } )
       Add $element . '_files' to include list.  Returns reference to hash of all files in that directory if the
       directory exists; otherwise returns undef

   @files = process_files_element( { element=>$element } )
       Execute find_${elelemt}_files method.  Returns list of files for trivial files. For non-trivial files it
       does...:

       General:

        make a path
        skip .svn dirs
        change extension for some files, copy otherwise
        make some files executable
        change some modes

       PO:

        check number of *.pot files
        identify the *.pot file
        build file name from *.pot file for *.mo file
        build *.mo file from *.po file with msgfmt

DIAGNOSTICS

       Error messages are from the base class. This package generates no exceptions.

       "Couldn't mkdir $podir: $!";"
           Occurs if it is not possible to make a directory in blib/po

CONFIGURATION AND ENVIRONMENT

       Module::Build::CipUX requires no configuration files or environment variables.

DEPENDENCIES

       Module::Build

INCOMPATIBILITIES

       None reported.

BUGS AND LIMITATIONS

       No bugs have been reported.

       Please report any bugs or feature requests to "bug-module-build-cipux@rt.cpan.org", or through the web
       interface at <http://rt.cpan.org>.

AUTHOR

       Christian Kuelker  "<christian.kuelker@cipworx.org>"

       Copyright (C) 2008 - 2009, Christian Kuelker "<christian.kuelker@cipworx.org>".  All rights reserved.

       This program is free software; you can redistribute it and/or modify it under the terms of the GNU
       General Public License as published by the Free Software Foundation; either version 2 of the License or
       any later version.

       This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
       the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
       License for more details.

       You should have received a copy of the GNU General Public License along with this program; if not, write
       to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

DISCLAIMER OF WARRANTY

       BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT
       PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER
       PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
       INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
       PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE
       SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

       IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY
       OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE
       TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF
       THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
       RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE
       WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
       DAMAGES.