#!/bin/bash
#
# Install Script for the OMNIKEY CardMan CCID Smartcard reader series.
#
# Version 3.5.1 
# Omnikey
# http://www.omnikey.com/
#

echo
echo Installing OMNIKEY CardMan CCID Smartcard reader driver ...
echo

#
# check if pcsc-lite is installed
#
pcsclib=""
if [ -f /usr/lib/libpcsclite-core.so ]; then
  pcsclib=/usr/lib
elif [ -f /usr/lib/libpcsclite.so ]; then
  pcsclib=/usr/lib
elif [ -f /usr/lib/libpcsclite.so.1 ]; then
  pcsclib=/usr/lib
elif [ -f /usr/local/lib/libpcsclite-core.so ]; then
  pcsclib=/usr/local/lib
elif [ -d /usr/pcsc/lib ]; then
  pcsclib=/usr/pcsc/lib
elif [ -d /usr/local/pcsc/lib ]; then
  pcsclib=/usr/local/pcsc/lib
elif [ -f /usr/local/lib/libpcsclite.so ]; then
  pcsclib=/usr/local/lib
elif [ -f /usr/local/lib/libpcsclite.a ]; then
  pcsclib=/usr/local/lib
elif [ -f /usr/lib64/libpcsclite.so.1 ]; then
  pcsclib=/usr/lib64
elif [ -f /usr/lib64/libpcsclite.so ]; then
  pcsclib=/usr/lib64
elif [ -f /usr/local/lib64/libpcsclite.so.1 ]; then
  pcsclib=/usr/local/lib64
elif [ -f /usr/local/lib64/libpcsclite.so ]; then
  pcsclib=/usr/local/lib64
else
  echo PCSC-Lite is not installed.
  echo Go visit http://alioth.debian.org/projects/pcsclite/
  echo and install the latest version of pcsc-lite.
fi

if [ "${pcsclib}" != "" ]; then

#
# copy the pcsc-shared library to its proper place
#
  if [ "$1" = "-d" ]; then
    dropdir=$2
  fi

  if [ "${dropdir}" = "" ]; then
    dropdir="/usr/local/pcsc/drivers/"
  fi

  if [ ! -d "$dropdir" ]; then 
    mkdir -p $dropdir
  fi

 # Delete older driver versions
  rm -rf ${dropdir}/ifdokccid*;

  bundle=`ls -A | grep -e *.bundle`;
  echo Copying ${bundle} to ${dropdir} ...
  cp -r ./${bundle} ${dropdir}

  if [ -e ./cmrfid.ini ]; then
    cp ./cmrfid.ini /etc/cmrfid.ini
    chmod 644 /etc/cmrfid.ini
  fi  

  if [ -e ./z98_omnikey.rules ]; then
    if [ -e /etc/SuSE-release ]; then
      cp ./z98_omnikey.rules /etc/udev/rules.d/10-omnikey.rules
      chmod 644 /etc/udev/rules.d/10-omnikey.rules
    else
      cp ./z98_omnikey.rules /etc/udev/rules.d/z98_omnikey.rules
      chmod 644 /etc/udev/rules.d/z98_omnikey.rules
    fi
  elif [ -e ./z98_omnikey_rfid.rules  ]; then
    if [ -e /etc/SuSE-release ]; then
      cp ./z98_omnikey_rfid.rules /etc/udev/rules.d/10-omnikey_rfid.rules
      chmod 644 /etc/udev/rules.d/10-omnikey_rfid.rules
    else
      cp ./z98_omnikey_rfid.rules /etc/udev/rules.d/z98_omnikey_rfid.rules
      chmod 644 /etc/udev/rules.d/z98_omnikey_rfid.rules
    fi
  fi

  if [ -e ./ok_pcscd_hotplug.sh  ]; then
    cp ./ok_pcscd_hotplug.sh /lib/udev/ok_pcscd_hotplug.sh
    chmod 744 /lib/udev/ok_pcscd_hotplug.sh
  fi
else
  echo Skiping installation of driver files!
fi

echo
echo Installation finished!
