#!/bin/bash

FILE_WITH_CONFLICT_DESCRIPTION="$1"

if [ -z "$FILE_WITH_CONFLICT_DESCRIPTION" ]; then
  echo "Set path to file with conflict description"
  exit 255
fi

INSTALL=""
REMOVE=""

for line in `grep -Eo 'Error: [0-9:]*[\_0-9dA-Za-z\-]+ conflict' $FILE_WITH_CONFLICT_DESCRIPTION | cut -d" " -f2`
do
  RES=`echo "$line" | cut -d":" -f2`
  if [ -n "$RES" ]; then
    line=$RES
  fi
  rpm -q "$line"
  if [ $? -ne 0 ]; then
    if [[ "$INSTALL" != *"$line"* ]]; then
      INSTALL=`echo -n "$INSTALL $line"`
    fi
  else
    if [[ "$REMOVE" != *"$line"* ]]; then
      REMOVE=`echo -n "$REMOVE $line"`
    fi
  fi
done

for line in `grep -Eo 'conflicts with [0-9:]*[\.\_0-9dA-Za-z\-]+' $FILE_WITH_CONFLICT_DESCRIPTION | cut -d" " -f3`
do
  RES=`echo "$line" | cut -d":" -f2`
  if [ -n "$RES" ]; then
    line=$RES
  fi
  rpm -q "$line"
  if [ $? -ne 0 ]; then
    if [[ "$INSTALL" != *"$line"* ]]; then
      INSTALL=`echo -n "$INSTALL $line"`
    fi
  else
    if [[ "$REMOVE" != *"$line"* ]]; then
      REMOVE=`echo -n "$REMOVE $line"`
    fi
  fi
done

if [ -z "$INSTALL" ]; then
  echo -e "\033[33m yum erase $REMOVE"
elif [ -z "$REMOVE" ]; then
  echo -e "\033[33m yum install $INSTALL"
elif [ -z "$INSTALL" -a -z "$REMOVE" ]; then
  echo -e "\033[33m Nothing to do"
else
  echo -e "\033[33m yum swap -- install $INSTALL -- remove $REMOVE"
fi
echo -e "\033[0m"

