<<

# Bugzilla::Install::Requirements

- NAME
- DESCRIPTION
- CONSTANTS
- SUBROUTINES

# NAME

Bugzilla::Install::Requirements - Functions and variables dealing with Bugzilla's perl-module requirements.

# DESCRIPTION

This module is used primarily by `checksetup.pl` to determine whether or not all of Bugzilla's prerequisites are installed. (That is, all the perl modules it requires.)

# CONSTANTS

`REQUIRED_MODULES`

  An arrayref of hashrefs that describes the perl modules required by Bugzilla. The hashes have two keys, `name` and `version`, which represent the name of the module and the version that we require.

# SUBROUTINES

`check_requirements`
  Description

    This checks what optional or required perl modules are installed, like `checksetup.pl` does.

  Params
    `$output` - `true` if you want the function to print out information about what it's doing, and the versions of everything installed.
  Returns

    A hashref containing these values:

    `pass` - Whether or not we have all the mandatory requirements.
    `missing` - An arrayref containing any required modules that are not installed or that are not up-to-date. Each item in the array is a hashref in the format of items from "REQUIRED_MODULES".
    `optional` - The same as `missing`, but for optional modules.
    `have_one_dbd` - True if at least one `DBD::` module is installed.
    `any_missing` - True if there are any missing modules, even optional modules.
`check_graphviz($output)`

  Description: Checks if the graphviz binary specified in the `webdotbase` parameter is a valid binary, or a valid URL.

  Params: `$output` - `$true` if you want the function to print out information about what it's doing.

  Returns: `1` if the check was successful, `0` otherwise.

`have_vers($module, $output)`

       Description: Tells you whether or not you have the appropriate
                    version of the module requested. It also prints
                    out a message to the user explaining the check
                    and the result.

       Params:      C<$module> - A hashref, in the format of an item from
                                 L</REQUIRED_MODULES>.
                    C<$output> - Set to true if you want this function to
                                 print information to STDOUT about what it's
                                 doing.

       Returns:   C<1> if you have the module installed and you have the
                  appropriate version. C<0> otherwise.

`install_command($module)`

       Description: Prints out the appropriate command to install the
                    module specified, depending on whether you're
                    on Windows or Linux.

       Params:      C<$module> - A hashref, in the format of an item from
                                 L</REQUIRED_MODULES>.

       Returns:     nothing

<<