perl_modules

Package: WA2L/edrc 1.5.57
Section: Library Functions (3)
Updated: 07 July 2021
Index Return to Main Contents

 

NAME

perl_modules - list of WA2L/edrc bundled Perl module man pages

 

SYNOPSIS

-

 

AVAILABILITY

WA2L/edrc

 

DESCRIPTION

This man page lists man pages of the main Perl modules that are part of WA2L/edrc package and distributed with it.

Many Perl modules need other modules to work. All modules that were identified to be needed by a certain Perl module bundled with WA2L/edrc are also included into the package.

To start a Perl script that uses a bundled Perl module from a recovery script, set the Perl library path (@INC) using the 'eval `perlenv`' command in the recovery script and then call the perl interpreter:


        #!/bin/ksh
        #
        # 1:ascript - A Recovery Script  
        #
        # [00] 08.02.2009 CWa   Initial Version
        #
        #
        test "$DEBUG" = True && set -x
        :
        :
        eval `perlenv`
        perl ./perlscript
        :


An other possibility is to create an _env file (using the env edrc command) with the content:


        #
        # _env - Environment settings for commands in /apps/eg
        #
        # [00] 18.03.2009 CWa   Initial Version
        #
        #
        test "$DEBUG" = True && set -x

        eval `perlenv`
        :


and use the bundled Perl module using the ' use module; ' clause:

        #!/usr/bin/env perl
        #
        # perlscript - Perl script using bundled DBI module
        #
        # [00] 18.03.2009 CWa   Initial Version
        #
        :
        :
        use DBI;
        :


With this 2nd method it is also possible to write recovery scripts in Perl that use the bundled Perl modules.

Note the use of '#!/usr/bin/env perl' in the magic key to start the Perl script. This ensures that the perl interpreter is found on the system, even when it is not installed in the default location you will normally specify.

 

PERL MODULE MAN PAGE REFERENCE OF WA2L/edrc

CGI(3pm)
Simple Common Gateway Interface Class.

CMS::MediaWiki(3pm)
Perl extension for creating, reading and updating MediaWiki pages.

DBD::SQLite(3pm)
Self Contained RDBMS in a DBI Driver.

DBI(3pm)
Database independent interface for Perl.

File::Tail(3pm)
Perl extension for reading from continuously updated files.

HTML::Parser(3pm)
HTML parser class.

MediaWiki::API(3pm)
Perl interface to the MediaWiki API.

MIME::Base64(3pm)
Encoding and decoding of base64 strings

MIME::Lite(3pm)
Low-calorie MIME generator.

Text::vCard(3pm)
a package to edit and create a single vCard (RFC 2426).

Tk(3pm)
a graphical user interface toolkit for Perl.

WA2L::Util(3)
General WA2L/edrc Utility Functions.

 

COMPILE/INSTALL BUNDLED WA2L/edrc Perl MODULES

Because often Perl modules also need to be compiled there is a good chance that on certain operating system versions this modules have to be compiled.

If you experience missing modules when using a WA2L/edrc Perl command (watch for PSCR in compatibility(1)) or in an own Perl script using bundled Perl modules you might be forced to compile it for your system.

To do so:

0) goto shell in edrc or start shell
The following steps have to be executed in the shell due to the fact that the install mechanism relay on the environment provided by the shell command.

  host-001# ~edrc/bin/shell

1) goto source directory
All bundled Perl modules are included in WA2L/edrc as source packages to enable a quick and efficient compilation process on future systems.

  [ /root ]
  [ root@host-001 ][*eshell*/bash]: cdsrc; cd perlmodules

  [ /opt/edrc/src/perlmodules ]
  [ root@host-001 ][*eshell*/bash]:

2) list install sequence
Because often modules relay on other modules, the given sequence below helps to a successful compilation and installation of modules.

  [ /opt/edrc/src/perlmodules ]
  [ root@host-001 ][*eshell*/bash]: make list

  #
  # LIST MODULES
  #

  :
  Compress::Compress-Raw-Zlib
  Compress::Compress-Zlib
  LWP::LWP-UserAgent
  JSON::JSON
  URI::URI
  MediaWiki::MediaWiki-API
  File::File-Tail
  CMS::CMS-MediaWiki
  :

Identify the module(s) that has been reported as missing on the output list. Often a whole chain of modules are missing, where the above sequence gives help on the compile/install order.

3) compile module
The provided Makefile handles all steps to compile, test and install a bundled Perl module into the WA2L/edrc structure and not to change the underlying operating system. This steps make the related Perl module "portable" and on similar systems the modules don't have to be compiled they can simply be distributed to it using the pack(1m) and patchinstall(1m) commands of WA2L/edrc.

  [ /opt/edrc/src/perlmodules ]
  [ root@host-001 ][*eshell*/bash]: 

  [ /opt/edrc/src/perlmodules ]
  [ root@host-001 ][*eshell*/bash]: make help

  [ /opt/edrc/src/perlmodules ]
  [ root@host-001 ][*eshell*/bash]: make build

To build a subset of the whole module list defined in the ALL variable in the Makefile, add the module to the TST variable and invoke:

  [ /opt/edrc/src/perlmodules ]
  [ root@host-001 ][*eshell*/bash]: make buildtst

4) install module into WA2L/edrc
Install the module into the WA2L/edrc structure into the edrc/lib/perl/pm/ directory without to change the underlying operating system.

  [ /opt/edrc/src/perlmodules ]
  [ root@host-001 ][*eshell*/bash]: make install 

5) clean up files (optional)
Clean up all produced files during the compile/test/install process. This is an optional step.

  [ /opt/edrc/src/perlmodules ]
  [ root@host-001 ][*eshell*/bash]: make clean 

6) create a patch release of your installation (optional)
If you compiled all missing bundled Perl modules you can create a PATCH release of the WA2L/edrc package to install the produced files on all your other systems.

  [ /opt/edrc/src/perlmodules ]
  [ root@host-001 ][*eshell*/bash]: pack -d ~edrc/var/sw -a edrc_UPDATE -p `apprevision` 

  pack - create application package, by Chr. Walther
    
  create package of application in '/opt/edrc' ...
      application information ...
          APPLICATION .......... : edrc_UPDATE 
          APPLICATION_PREFIX ... : edrc_WA2L 
          APPLICATION_NAME ..... : WA2L/edrc 
          APPLICATION_RELEASE .. : 1.5.46
          DESCRIPTION .......... : WA2L/edrc without recovery script-, config-, security-files, notes (to deploy WA2L/edrc updates in different environments) 
      done.
      package information ...
          format ............... : shar
          type ................. : PATCH (to version 1.5.46)
          file ................. : host-001:/opt/edrc/var/sw/edrc_WA2L-1.5.46-201408231741-PATCH-1.5.46.cpio.gz
      done.
      write sadm file ...(/opt/edrc/var/pack/sadm/edrc_WA2L-1.5.46-201408231741-PATCH-1.5.46.gz)... done.
      evaluate files to be packed ... (729 files)... done.
      evaluate properties of files to be packed ... done.
      pack files to package file ... (12917 kB)... done.
  done.

7) install the patch on all your other systems
The most convenient way to patch all your systems is to use the edrcupgrade contributed command in edrc :

  [ /opt/edrc/src/perlmodules ]
  [ root@host-001 ][*eshell*/bash]: sat

  sat@host-001> edrcupgrade
  (s)tart (d)ownload only (i)nstall only (c)ancel  [c] :i

  DEPLOY AND INSTALL AN WA2L/edrc PATCH

  patchfile basedir [/opt/edrc/var/sw]:

  list downloaded patch files? <ync>  [y] :y

  AVAILABLE EDRC PATCH files:

    FROM    TO      FILENAME                                            
    ------  ------  --------------------------------------------------  
    1.5.46  1.5.46  edrc_WA2L-1.5.46-201408231741-PATCH-1.5.46.cpio.gz  
    (1)

  patchfile to install : edrc_WA2L-1.5.46-201408231741-PATCH-1.5.46.cpio.gz  

  :

You can also install the generated patch more manually first distributing the patch file using filedist(1) and then installing it with the patchinstall(1m) command on all systems using the rcmd(1) command.

 

ENVIRONMENT

-

 

EXIT STATUS

-

 

FILES

edrc/lib/perl/pm/<perl_release>/<perl_version>/
location of all bundled Perl modules. This directory is automatically pre-pended to the @INC array when the Perl script is started thru the .perl_wrapper. See also: perl_wrapper(1).

edrc/src/perlmodules/
source packages of all bundled Perl modules.

 

EXAMPLES

-

 

SEE ALSO

edrcintro(1), contrib.edrcupgrade(1m), filedist(1), lspm(1), make(1), pack(1m), patchinstall(1m), perl_wrapper(1), perl(1), perlenv(3), pmdesc(1), rcmd(1), CGI(3pm), CMS::MediaWiki(3pm), DBD::SQLite(3pm), DBI(3pm), File::Tail(3pm), HTML::Parser(3pm), MediaWiki::API(3pm), MIME::Base64(3pm), MIME::Lite(3pm), Tk(3pm), URI(3pm), WA2LUtil(3), WA2L::Util(3)

 

NOTES

When Perl scripts are started thru the perl_wrapper it is not needed to use the perlenv command or to set the perl @INC array somehow; simply put the perl script into the lib/perl/ directory and create the symbolic link having the identical name as the Perl script file in bin/ or lib/ pointing to the .perl_wrapper.

See also perl_wrapper(1) for examples of integrating Perl scripts into WA2L/edrc.

 

BUGS

-

 

AUTHOR

perl_modules was developed by Christian Walther. Send suggestions and bug reports to wa2l@users.sourceforge.net .

 

COPYRIGHT

Copyright © 2021 Christian Walther

This is free software; see edrc/doc/COPYING for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


 

Index

NAME
SYNOPSIS
AVAILABILITY
DESCRIPTION
PERL MODULE MAN PAGE REFERENCE OF WA2L/edrc
COMPILE/INSTALL BUNDLED WA2L/edrc Perl MODULES
ENVIRONMENT
EXIT STATUS
FILES
EXAMPLES
SEE ALSO
NOTES
BUGS
AUTHOR
COPYRIGHT

This document was created by man2html using the manual pages.
Time: 16:53:58 GMT, August 28, 2024