11.4. pegasus-config

Can be used to find installed Pegasus tools and libraries.

pegasus-config [-h] [--help] [-V] [--version] [--noeoln]
               [--perl-dump] [--perl-hash] [--python-dump] [--sh-dump]
               [--bin] [--conf] [--java] [--perl] [--python]
               [--python-externals] [--r] [--schema] [--classpath]

11.4.1. Description

pegasus-config is used to find locations of Pegasus system components. The tool is used internally in Pegasus and by users who need to find paths for DAX generator libraries and schemas.

11.4.2. Options

-h; –help

Prints help and exits.

-V; –version

Prints Pegasus version information

–perl-dump

Dumps all settings in perl format as separate variables.

–perl-hash

Dumps all settings in perl format as single perl hash.

–python-dump

Dumps all settings in python format.

–sh-dump

Dumps all settings in shell format.

–bin

Print the directory containing Pegasus binaries.

–conf

Print the directory containing configuration files.

–java

Print the directory containing the jars.

–perl

Print the directory to include into your PERL5LIB.

–python

Print the directory to include into your PYTHONLIB.

–python-externals

Print the directory to the external Python libraries.

–r

Print the path to the R DAX API source package.

–schema

Print the directory containing schemas.

–classpath

Builds a classpath containing the Pegasus jars.

–noeoln

Do not produce a end-of-line after output. This is useful when being called from non-shell backticks in scripts. However, order is important for this option: If you intend to use it, specify it first.

11.4.3. Example

To set the PYTHONPATH variable in your shell for using the Python DAX API:

export PYTHONPATH=`pegasus-config --python`

To set the same path inside Python:

config = subprocess.Popen("pegasus-config --python-dump", stdout=subprocess.PIPE, shell=True).communicate()[0]
exec config

To set the PERL5LIB variable in your shell for using the Perl DAX API:

export PERL5LIB=`pegasus-config --perl`

To set the same path inside Perl:

eval `pegasus-config --perl-dump`;
die("Unable to eval pegasus-config output: $@") if $@;

will set variables a number of lexically local-scoped my variables with prefix “pegasus_” and expand Perl’s search path for this script.

Alternatively, you can fail early and collect all Pegasus-related variables into a single global %pegasus variable for convenience:

BEGIN {
    eval `pegasus-config --perl-hash`;
    die("Unable to eval pegasus-config output: $@") if $@;
}