#!/bin/bash
#
# (C) Indra  2017.
#
# Verifica dependencias software EDITRAN

#
# Global variables
#
EDITRAN_HOME=/opt/editran
BIN=/bin
UBIN=/usr/bin

if [ ! -d ${EDITRAN_HOME} ]; then
   echo "[${EDITRAN_HOME}]: Home EDITRAN no existe"
   exit 1
fi

if [ ! -f ${EDITRAN_HOME}/bin/gload52 ]; then
   echo "[${EDITRAN_HOME}]: EDITRAN no instalado"
   exit 1
fi

echo "#Dependencias:"
echo "-->OpenSSL v1.1.1"

pkg=`${BIN}/rpm -qa | ${BIN}/grep -i openssl | ${BIN}/sort -u`

echo "#Paquetes instalados [rpm]:"
for p in $pkg;
do
   ${BIN}/rpm -q --queryformat '%{NAME} V%{VERSION}\n' $p | ${BIN}/sort -u
done;

if [ "$LC_MESSAGES" = "es" ] || [ "$LANG" = "es" ]; then
   txt="no encontrado"
else
   txt="not found"
fi

dep=`${UBIN}/ldd ${EDITRAN_HOME}/bin/gload52 | ${BIN}/grep "libcrypto" | ${BIN}/sort -u`

no=`echo $dep | ${BIN}/grep "$txt"`
lcrypto=`echo $dep | ${BIN}/cut -f1 -d' '`
echo -n "#Resolviendo $lcrypto "
if [ "$no" = "" ]; then
   echo " Ya esta resuelta"
   echo "$dep"
   lcrypto=`echo $dep | ${BIN}/awk '{print $3}'`
   if [ -L $lcrypto ]; then
      ls -l $lcrypto
   fi
   exit 0
fi

echo ""
for p in $pkg;
do
   echo -n "-->$p ... "
   res=`${BIN}/rpm -ql $p 2> /dev/null | ${BIN}/grep $lcrypto`
   if [ "$res" = "" ]; then
      echo "no encontrada"
   else
      res=`echo $res | ${UBIN}/cut -f2 -d:`
      echo $res
      ${UBIN}/ln -s $res ${EDITRAN_HOME}/bin/lib/$lcrypto
      rc=$?
      ${UBIN}/ls -l ${EDITRAN_HOME}/bin/lib/$lcrypto
      exit $rc
   fi
done;

exit 1
