#!/bin/bash

function usage() {
    echo "usage: metwork_debug"
    echo "       print debug informations on stdout"
}

if test "${1:-}" = "--help"; then
    usage
    exit 0
fi
if test "${1:-}" = "-h"; then
    usage
    exit 0
fi

echo "========================================"
echo "=====                              ====="
echo "=====     METWORK DEBUG OUTPUT     ====="
echo "=====                              ====="
echo "========================================"
echo
echo
echo "***** CURRENT ENVIRONNEMENT *****"
echo
echo "- date: $(date)"
echo "- hostname: $(hostname)"
echo "- uname -a: $(uname -a)"
echo "- user: $(whoami)"
if test -f /etc/redhat-release; then
    echo "- redhat-release: $(cat /etc/redhat-release)"
fi
echo
echo
echo "***** CURRENT MODULE *****"
echo
echo "- module: ${MFMODULE:-undefined}"
echo "- module version: ${MFMODULE_VERSION:-undefined}"
echo "- module home: ${MFMODULE_HOME:-undefined}"
echo "- module runtime home: ${MFMODULE_RUNTIME_HOME:-undefined}"
if test "${MFMODULE:-}" != "MFEXT"; then
    echo
    echo
    echo "***** MFEXT MODULE *****"
    echo
    echo "- mfext home: ${MFEXT_HOME:-undefined}"
    echo "- mfext version: ${MFEXT_VERSION:-undefined}"
fi

echo
echo
echo "***** LOADED LAYERS *****"
echo
layers --loaded-filter=yes --raw |grep @mfext |awk '{print "- "$1" ["$2"]";}'
layers --loaded-filter=yes --raw |grep -v @mfext |grep "@${MFMODULE_LOWERCASE}" |awk '{print "- "$1" ["$2"]";}'
layers --loaded-filter=yes --raw |grep -v @mfext |grep -v "@${MFMODULE_LOWERCASE}" |awk '{print "- "$1" ["$2"]";}'

echo
echo
echo "***** NOT LOADED (BUT INSTALLED) LAYERS *****"
echo
layers --loaded-filter=no --raw |grep @mfext |awk '{print "- "$1" ["$2"]";}'
layers --loaded-filter=no --raw |grep -v @mfext |grep "@${MFMODULE_LOWERCASE}" |awk '{print "- "$1" ["$2"]";}'
layers --loaded-filter=no --raw |grep -v @mfext |grep -v "@${MFMODULE_LOWERCASE}" |awk '{print "- "$1" ["$2"]";}'

echo
echo
echo "***** LAYERAPI2_LAYERS_PATH *****"
echo
echo -n "- "
# shellcheck disable=SC2001
echo "${LAYERAPI2_LAYERS_PATH}" |sed 's/:/\n- /g'

echo
echo
echo "***** PATH *****"
echo
echo -n "- "
# shellcheck disable=SC2001
echo "${PATH}" |sed 's/:/\n- /g'

echo
echo
echo "***** LD_LIBRARY_PATH *****"
echo
echo -n "- "
# shellcheck disable=SC2001
echo "${LD_LIBRARY_PATH}" |sed 's/:/\n- /g'

echo
echo
echo "***** NODE_PATH *****"
echo
echo -n "- "
# shellcheck disable=SC2001
echo "${NODE_PATH}" |sed 's/:/\n- /g'

echo
echo
echo "***** PYTHONPATH *****"
echo
echo -n "- "
# shellcheck disable=SC2001
echo "${PYTHONPATH}" |sed 's/:/\n- /g'

exit 0
