Alien-Base-ModuleBuild

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN


    [version 0.024]

      my $dir = $amb->alien_extract_archive($filename);

    This function unpacks the given archive and returns the directory
    containing the unpacked files.

    The default implementation relies on Archive::Extract that is able to
    handle most common formats. In order to handle other formats or
    archives requiring some special treatment you may want to override this
    method.

 alien_do_system

    [version 0.024]

      my %result = $amb->alien_do_system($cmd)

    Similar to Module::Build's do_system, also sets the path and several
    environment variables in accordance to the object configuration (i.e.
    alien_bin_requires) and performs the interpolation of the patterns
    described in "COMMAND INTERPOLATION" in Alien::Base::ModuleBuild::API.

    Returns a set of key value pairs including stdout, stderr, success and
    command.

 alien_do_commands

     $amb->alien_do_commands($phase);

    Executes the commands for the given phase.

 alien_interpolate

     my $string = $amb->alien_interpolate($string);

    Takes the input string and interpolates the results.

 alien_install_network

    [version 1.16]

     my $bool = $amb->alien_install_network;

    Returns true if downloading source from the internet is allowed. This
    is true unless ALIEN_INSTALL_NETWORK is defined and false.

 alien_download_rule

    [version 1.16]

     my $rule = $amb->alien_download_rule;

    This will return one of warn, digest, encrypt, digest_or_encrypt or
    digest_and_encrypt. This is based on the ALIEN_DOWNLOAD_RULE
    environment variable.

GUIDE TO DOCUMENTATION

    The documentation for Module::Build is broken up into sections:

    General Usage (Module::Build)

      This is the landing document for Alien::Base::ModuleBuild's parent
      class. It describes basic usage and background information. Its main
      purpose is to assist the user who wants to learn how to invoke and
      control Module::Build scripts at the command line.

      It also lists the extra documentation for its use. Users and authors
      of Alien:: modules should familiarize themselves with these
      documents. Module::Build::API is of particular importance to authors.

    Alien-Specific Usage (Alien::Base::ModuleBuild)

      This is the document you are currently reading.

    Authoring Reference (Alien::Base::Authoring)

      This document describes the structure and organization of Alien::Base
      based projects, beyond that contained in Module::Build::Authoring,
      and the relevant concepts needed by authors who are writing Build.PL
      scripts for a distribution or controlling Alien::Base::ModuleBuild
      processes programmatically.

      Note that as it contains information both for the build and use
      phases of Alien::Base projects, it is located in the upper namespace.

    API Reference (Alien::Base::ModuleBuild::API)

      This is a reference to the Alien::Base::ModuleBuild API beyond that
      contained in Module::Build::API.

    Using the resulting Alien (Alien::Build::Manual::AlienUser)

      Once you have an Alien you or your users can review this manual for
      how to use it. Generally speaking you should have some useful usage
      information in your Alien's POD, but some authors choose to direct
      their users to this manual instead.

    Using Alien::Build instead (Alien::Build::Manual)

      As mentioned at the top, you are encouraged to use the Alien::Build
      and alienfile system instead. This manual is a starting point for the
      other Alien::Build documentation.

ENVIRONMENT

    ALIEN_ARCH

      Set to a true value to install to an arch-specific directory.

    ALIEN_DOWNLOAD_RULE

      This controls security options for fetching alienized packages over
      the internet. The legal values are:

      warn

	Warn if the package is either unencrypted or lacks a digest. This
	is currently the default, but will change in the near future.

      digest

	Fetch will not happen unless there is a digest for the alienized
	package.

      encrypt

	Fetch will not happen unless via an encrypted protocol like https,
	or if the package is bundled with the Alien.

      digest_or_encrypt

	Fetch will only happen if the alienized package has a cryptographic
	signature digest, or if an encrypted protocol like https is used,
	or if the package is bundled with the Alien. This will be the
	default in the near future.

      digest_and_encrypt

	Fetch will only happen if the alienized package has a cryptographic
	signature digest, and is fetched via a secure protocol (like
	https). Bundled packages are also considered fetch via a secure
	protocol, but will still require a digest.

    ALIEN_FORCE

      Skips checking for an installed version and forces reinstalling the
      Alien target.

    ALIEN_INSTALL_NETWORK

      If true (the default if not defined), then network installs will be
      allowed. Set to 0 or another false value to turn off network
      installs.

    ALIEN_INSTALL_TYPE

      Set to share or system to override the install type. Set to default
      or unset to restore the default.

    ALIEN_VERBOSE

      Enables verbose output from M::B::do_system.

    ALIEN_${MODULENAME}_REPO_${PROTOCOL}_${KEY}

      Overrides $KEY in the given module's repository configuration
      matching $PROTOCOL. For example,
      ALIEN_OPENSSL_REPO_FTP_HOST=ftp.example.com.

SEE ALSO

    Alien::Build

    alienfile

    Alien::Build::Manual::AlienAuthor

    Alien

THANKS

    Thanks also to

    Christian Walde (Mithaldu)

      For productive conversations about component interoperability.

    kmx

      For writing Alien::Tidyp from which I drew many of my initial ideas.

    David Mertens (run4flat)

      For productive conversations about implementation.

    Mark Nunberg (mordy, mnunberg)

      For graciously teaching me about rpath and dynamic loading,

AUTHOR



( run in 0.524 second using v1.01-cache-2.11-cpan-39bf76dae61 )