Bugzilla::Install::Localconfig - Functions and variables dealing with the manipulation and creation of the localconfig file.


 use Bugzilla::Install::Requirements qw(update_localconfig);
 update_localconfig({ output => 1 });


This module is used primarily by checksetup.pl to create and modify the localconfig file. Most scripts should use "localconfig" in Bugzilla to access localconfig variables.



An array of hashrefs. These hashrefs contain three keys:

 name    - The name of the variable.
 default - The default value for the variable. Should always be
           something that can fit in a scalar.
 desc    - Additional text to put in localconfig before the variable
           definition. Must end in a newline. Each line should start
           with "#" unless you have some REALLY good reason not
           to do that.

An array of names of variables. If update_localconfig finds these variables defined in localconfig, it will print out a warning.



Description: Reads the localconfig file and returns all valid values in a hashref.

Params: $include_deprecated - true if you want the returned hashref to also include variables listed in OLD_LOCALCONFIG_VARS, if they exist. Generally this is only for use by update_localconfig.

Returns: A hashref of the localconfig variables. If an array is defined, it will be an arrayref in the returned hash. If a hash is defined, it will be a hashref in the returned hash. Only includes variables specified in LOCALCONFIG_VARS (and OLD_LOCALCONFIG_VARS if $include_deprecated is specified).

update_localconfig({ output => 1 })

Description: Adds any new variables to localconfig that aren't currently defined there. Also optionally prints out a message about vars that *should* be there and aren't. Exits the program if it adds any new vars.

Params: output - true if the function should display informational output and warnings. It will always display errors or any message which would cause program execution to halt.

Returns: A hashref, with old_vals being an array of names of variables that were removed, and new_vals being an array of names of variables that were added to localconfig.