#!/bin/sh
#
# Check Prerequisites
#

check_lsb=0
check_perl=0

issue_count=1

#
# Perform Checks
#

echo "Checking run prerequisites..."

# LSB Runtime
ls -l /lib*/ld-lsb*.3 >/dev/null 2>/dev/null
if [ $? -eq 0 ]; then
    check_lsb=1
fi

# Perl
if test -x /usr/bin/perl; then
    check_perl=1
fi

#
# Report Errors
#
if [ $check_lsb -eq 0 -o $check_perl -eq 0 ]; then
    echo
    echo "Several checks failed. Please, see details below."
    echo
fi

# LSB Environment
if [ $check_lsb -eq 0 ]; then
    echo "$issue_count) LSB runtime loader is required"
    echo
    issue_count=$(( $issue_count + 1 ))
fi

# Perl
if [ $check_perl -eq 0 ]; then
    echo "$issue_count) Perl is required to generate reports"
    echo
    issue_count=$(( $issue_count + 1 ))
fi

# XML Parser
if [ ! -z $OLVER_XML_PARSER ]; then
    { perl <<SCRIPT
use $OLVER_XML_PARSER;
my \$parser = $OLVER_XML_PARSER->new();
\$parser->parse({Source => {String => '<test>test</test>'}});
SCRIPT
} 2>/dev/null
    if [ $? -ne 0 ]; then
        echo "$issue_count) Warning: There is no such a perl xml parser called '$OLVER_XML_PARSER'"
        echo
        issue_count=$(( $issue_count + 1 ))
    fi
fi

if [ $check_lsb -eq 0 -o $check_perl -eq 0 ]; then
    echo "Fatal errors. Can not continue"
    exit 1
fi

exit 0
