#!/bin/sh
#
# Install Script for UNIX Acrobat Exchange and Reader v. 9.3.4
#
# Copyright (c)1995-2007 Adobe Systems Incorporated
# All Rights Reserved
#
##########################################################################


        
set_lang_DEU_utf()
{
    ST_ERR_INVALID_OPTION="Unzulässige Option wurde verwendet."
    ST_QUES_SKIP_MOZILLA_PATH="Sie haben kein Installationsverzeichnis für Mozilla/Firefox/XULRunner angegeben. Übergehen von"
    ST_INFO_SUPPORTED_OPTION="Zulässige Optionen:"
    ST_ER_SAME_FILE_NAME_AS_DIR="%s ist vorhanden, jedoch kein Verzeichnis. Geben Sie einen anderen Speicherort an."
    ST_QUES_MOZILLA_INSTALL_DIR="Geben Sie das Installationsverzeichnis von Mozilla, Firefox oder XULRunner ein:"
    ST_SETTING_UP_ICONS="Desktop- und Menüsymbole werden eingerichtet ... "
    ST_WARN_NO_MOZILLA_PATH="Für einige Funktionen wie die Adobe-Hilfe, DownTown sowie die Verfahren-Seiten sind Bibliotheken von Mozilla/Firefox/XULRunner erforderlich. Eventuell treten Fehler bei der Verwendung dieser Funktionen auf. Sie können dies nachträglich anpassen, indem Sie vor dem Starten von Adobe Reader den Pfad MOZILLA_COMP_PATH auf den Pfad der Mozilla-, Firefox- oder Xulrunnerbibliotheken einstellen."
    ST_DONE_WORD="Fertig"
    ST_SMALL_N="n"
    ST_INSTALL_OPT05="%d. Acrobat Reader %s für SPARC/Solaris 2.x."
    ST_ER_INVALID_RESP1="FEHLER: Ungültige Antwort, zulässig ist %s oder %s."
    ST_ER_NO_CONFIG="FEHLER: Keine Konfigurationen gefunden... Vorgang wird beendet"
    ST_INSTALL_OPT08="%d. Adobe Reader %s für Intel/Linux."
    ST_QUE_CONFIG="Zu installierende Konfigurationsnummer eingeben: "
    ST_INSTALL_OPT03="%d. Acrobat %s für AIX."
    ST_INSTALL_OPT01="%d. Acrobat %s für SPARC/Solaris 2.x."
    ST_INSTALL_OPT06="%d. Acrobat Reader %s für HP-UX."
    ST_INFO_DISPLAY_HELP="Zur Anzeige dieser Hilfemeldung."
    ST_SETTING_UP_BROWSER_PLUGIN="Browser-Plugin wird eingerichtet ... "
    ST_ER_DIR="FEHLER: Verzeichnis %s kann nicht erstellt werden."
    ST_YES="ja"
    ST_CAPS_N="N"
    ST_INSTALL_OPT10="%d. Adobe Reader %s für Intel/Solaris."
    ST_WARN_NO_CONFIG="WARNUNG: Die ausgewählte Konfiguration kann auf der aktuellen Plattform (%s%s) nicht ausgeführt werden."
    ST_PLAT_INDEP_FILES="Plattformunabhängige Dateien werden installiert... "
    ST_QUES_CREAT_DIR="Jetzt erstellen? [j] "
    ST_PLAT_DEP_FILES="Plattformabhängige Dateien werden installiert... "
    ST_QUE_CONT="Installation fortsetzen? "
    ST_RES_INST_DIR="Installationsverzeichnis für Adobe Reader %s [%s] eingeben "
    ST_SETTING_UP_LIBS="Bibliotheken werden eingerichtet ... "
    ST_PREV_INSTALL_HEAD01="Vorherige Installationen von Adobe Reader gefunden in %s:"
    ST_DIR_INFO01="Verzeichnis %s ist nicht vorhanden."
    ST_IBP_ERR_07="Installationsskript für Browser-Plug-In wurde nicht gefunden."
    ST_CAPS_Y="J"
    ST_INSTALL_OPT02="%d. Acrobat %s für HP-UX."
    ST_ER_EXIT="Installation wird beendet..."
    ST_INSTALL_OPT09="%d. Installation von Adobe Reader wird beendet."
    ST_SUMMARY_RPM="Adobe Reader - die ideale Anwendung, um PDF-Dateien anzuzeigen, zu drucken oder gemeinsam daran zu arbeiten."
    ST_INSTALL_OPT04="%d. Acrobat %s für Intel/Linux."
    ST_NO="nein"
    ST_INFO_DEF_CONFIG2="Folgende Konfigurationen können installiert werden:"
    ST_FREE_SPACE_INFO01="Für diese Installation sind %s MB freier Festplattenspeicher erforderlich."
    ST_ER_INVALID_RESP2="FEHLER: Ungültige Antwort... erneut versuchen"
    ST_INFO_INSTALL_PATH="Zur Installation von Adobe Reader im Verzeichnis <DIR>."
    ST_SMALL_Y="j"
    ST_ER_WRITE="FEHLER: In Verzeichnis %s kann nicht geschrieben werden."
    ST_INSTALL_OPT07="%d. Acrobat Reader %s für AIX."
}

        
set_lang_DEU()
{
    ST_ERR_INVALID_OPTION="Unzulssige Option wurde verwendet."
    ST_QUES_SKIP_MOZILLA_PATH="Sie haben kein Installationsverzeichnis fr Mozilla/Firefox/XULRunner angegeben. bergehen von"
    ST_INFO_SUPPORTED_OPTION="Zulssige Optionen:"
    ST_ER_SAME_FILE_NAME_AS_DIR="%s ist vorhanden, jedoch kein Verzeichnis. Geben Sie einen anderen Speicherort an."
    ST_QUES_MOZILLA_INSTALL_DIR="Geben Sie das Installationsverzeichnis von Mozilla, Firefox oder XULRunner ein:"
    ST_SETTING_UP_ICONS="Desktop- und Mensymbole werden eingerichtet ... "
    ST_WARN_NO_MOZILLA_PATH="Fr einige Funktionen wie die Adobe-Hilfe, DownTown sowie die Verfahren-Seiten sind Bibliotheken von Mozilla/Firefox/XULRunner erforderlich. Eventuell treten Fehler bei der Verwendung dieser Funktionen auf. Sie knnen dies nachtrglich anpassen, indem Sie vor dem Starten von Adobe Reader den Pfad MOZILLA_COMP_PATH auf den Pfad der Mozilla-, Firefox- oder Xulrunnerbibliotheken einstellen."
    ST_DONE_WORD="Fertig"
    ST_SMALL_N="n"
    ST_INSTALL_OPT05="%d. Acrobat Reader %s fr SPARC/Solaris 2.x."
    ST_ER_INVALID_RESP1="FEHLER: Ungltige Antwort, zulssig ist %s oder %s."
    ST_ER_NO_CONFIG="FEHLER: Keine Konfigurationen gefunden... Vorgang wird beendet"
    ST_INSTALL_OPT08="%d. Adobe Reader %s fr Intel/Linux."
    ST_QUE_CONFIG="Zu installierende Konfigurationsnummer eingeben: "
    ST_INSTALL_OPT03="%d. Acrobat %s fr AIX."
    ST_INSTALL_OPT01="%d. Acrobat %s fr SPARC/Solaris 2.x."
    ST_INSTALL_OPT06="%d. Acrobat Reader %s fr HP-UX."
    ST_INFO_DISPLAY_HELP="Zur Anzeige dieser Hilfemeldung."
    ST_SETTING_UP_BROWSER_PLUGIN="Browser-Plugin wird eingerichtet ... "
    ST_ER_DIR="FEHLER: Verzeichnis %s kann nicht erstellt werden."
    ST_YES="ja"
    ST_CAPS_N="N"
    ST_INSTALL_OPT10="%d. Adobe Reader %s fr Intel/Solaris."
    ST_WARN_NO_CONFIG="WARNUNG: Die ausgewhlte Konfiguration kann auf der aktuellen Plattform (%s%s) nicht ausgefhrt werden."
    ST_PLAT_INDEP_FILES="Plattformunabhngige Dateien werden installiert... "
    ST_QUES_CREAT_DIR="Jetzt erstellen? [j] "
    ST_PLAT_DEP_FILES="Plattformabhngige Dateien werden installiert... "
    ST_QUE_CONT="Installation fortsetzen? "
    ST_RES_INST_DIR="Installationsverzeichnis fr Adobe Reader %s [%s] eingeben "
    ST_SETTING_UP_LIBS="Bibliotheken werden eingerichtet ... "
    ST_PREV_INSTALL_HEAD01="Vorherige Installationen von Adobe Reader gefunden in %s:"
    ST_DIR_INFO01="Verzeichnis %s ist nicht vorhanden."
    ST_IBP_ERR_07="Installationsskript fr Browser-Plug-In wurde nicht gefunden."
    ST_INSTALL_OPT02="%d. Acrobat %s fr HP-UX."
    ST_CAPS_Y="J"
    ST_ER_EXIT="Installation wird beendet..."
    ST_INSTALL_OPT09="%d. Installation von Adobe Reader wird beendet."
    ST_SUMMARY_RPM="Adobe Reader - die ideale Anwendung, um PDF-Dateien anzuzeigen, zu drucken oder gemeinsam daran zu arbeiten."
    ST_INSTALL_OPT04="%d. Acrobat %s fr Intel/Linux."
    ST_NO="nein"
    ST_INFO_DEF_CONFIG2="Folgende Konfigurationen knnen installiert werden:"
    ST_FREE_SPACE_INFO01="Fr diese Installation sind %s MB freier Festplattenspeicher erforderlich."
    ST_ER_INVALID_RESP2="FEHLER: Ungltige Antwort... erneut versuchen"
    ST_INFO_INSTALL_PATH="Zur Installation von Adobe Reader im Verzeichnis <DIR>."
    ST_SMALL_Y="j"
    ST_ER_WRITE="FEHLER: In Verzeichnis %s kann nicht geschrieben werden."
    ST_INSTALL_OPT07="%d. Acrobat Reader %s fr AIX."
}

if echo $LANG | grep -i utf >/dev/null; then
    set_lang_DEU_utf
else
    set_lang_DEU
fi

DestroySelf ()
{
    AcrobatTmpDir="`dirname $ScriptDirectory 2>/dev/null`";
    rm -rf "${AcrobatTmpDir}" > /dev/null 2>&1;
    exit;
}


readlink()
{
    OLDPWD="`pwd`"
    lfile="$1"

    while $TestCmd -h "$lfile" -a $TestCmdOption "$lfile" ; do
        CWD="`dirname "$lfile"`"
        lfile="`basename "$lfile"`"
        cd $CWD
        lfile="`ls -l "$lfile"|sed 's/^.*-> *\(.*\) *$/\1/'`"
    done

    if $TestCmd $TestCmdOption "$lfile" ; then
        CWD="`dirname "$lfile"`"
        lfile="`basename "$lfile"`"
        cd $CWD
        printf "%s\n" "`pwd`/$lfile"
        cd "$OLDPWD"
        return 0
    fi

    cd "$OLDPWD"
    return 1
}


MkTempInternal()
{
    if [ "${mktemp_count+set}" != "set" ]; then
        mktemp_count="0"
    fi

    mktemp_file="/tmp/acrobat.$$.${mktemp_count}"

    while "${TestCmd}" "${TestCmdOption}" "$mktemp_file"
    do
        mktemp_count="`expr $mktemp_count + 1`"
        mktemp_file="/tmp/acrobat.$$.${mktemp_count}"
    done

    touch "$mktemp_file" && chmod 600 "$mktemp_file" && echo "$mktemp_file"
}

MkTemp()
{
    template="tmp.XXXXXXXXXX";
    MKTEMP="`Which mktemp 2>/dev/null`";
    if [ "$MKTEMP" != "" ]; then
        :
    else
        MKTEMP="MkTempInternal";
    fi

    $MKTEMP /tmp/acrobat.$template
}


yesno()
{
  msg="$1"
  def="$2"
  while : ; do
    printf "\n%s" "$msg"
    read answer
    if [ "$answer" ] ; then
      case "$answer" in
        "$ST_SMALL_Y" | "$ST_CAPS_Y" | "$ST_YES")
          return 0
          ;;
        "$ST_SMALL_N" | "$ST_CAPS_N" | "$ST_NO")
          return 1
          ;;
        *)
          printf "$ST_ER_INVALID_RESP1\n" "$ST_YES" "$ST_NO"
          continue
          ;;
      esac
    else
      return $def
    fi
  done
}

TypeCheck() 
{
  h=`type $1 2> /dev/null`
  case " $h " in
  *' '/*/$1' '*)
    return 0
    ;;
  *)
    return 1
    ;;
  esac
}


PrintRequiredFree()
{
  total=0

  for i in "$@" ; do
    if [ "$i" -a -f "$i" ] ; then

        if [ "${OSname}" = "Linux" ] ; then
          size=`ls -lLn "$i" | ( read perm links owner group size date ; echo $size )`
        else
          size=`ls -lLon "$i" | ( read perm links owner size date ; echo $size )`
        fi

      if [ "$size" ] ; then
        total=`expr $total + $size`
      fi
    fi
  done

  megs=`expr $total / 1048576 + 1`

  printf "$ST_FREE_SPACE_INFO01\n" "${megs}"
}


ExtractFiles ()
{
   prev_directory="`pwd 2> /dev/null`"
   cd "$1" 

   case "${OSname}" in
     Linux)
        tar -xvpf "$2" ;;
     HP-UX)
        tar xfo "$2" && tar tf "$2" ;;
     *)
        tar xpfo "$2" && tar tf "$2" | sed -e 's# symbolic link to [a-zA-Z0-9._+]* *$##g' ;;
   esac | sed -e "s#^#${1}/#" >> "$installLogFile"

   cd "$prev_directory"
}


InstallFiles ()
{
  msg="$1"
  install="$2"
  shift
  shift


  for i in "$@" ; do
    if [ "$i" ] ; then
      if [ "$msg" ] ; then
        printf "%s" "$msg"
        msg=""
      fi
      ExtractFiles "$install" "$i"
    fi
  done

  if [ -z "$msg" ] ; then
    printf "%s\n" "$ST_DONE_WORD"
  fi
}


ExpandDirPath ()
{
    OLDPWD="`pwd`";
	DestDir="$@"
    if [ "${LzmaBaseDir}" != "" -a -d "${LzmaBaseDir}" ]; then
        cd "${LzmaBaseDir}"
        if [ "${DestDir}" = "${OLDPWD}" ]; then
            DestDir="${LzmaBaseDir}";
        fi
    fi

    var=`eval echo ${DestDir} |  cut -d "\"" -f 2`
    case "$var" in
    /*) ;;
    *)  var="`pwd`/${var}" ;;
	esac

    cd "${OLDPWD}"

    printf "%s" "$var"
}


CheckInstallDir ()
{
    DirectoryToCheck="${1}";

    if [ -f "$DirectoryToCheck" ] ; then
        printf "$ST_ER_SAME_FILE_NAME_AS_DIR\n" "\"$DirectoryToCheck\"";
		return 1;
    fi

    if [ ! -d "$DirectoryToCheck" ] ; then
        printf "\n$ST_DIR_INFO01\n\n" "\"$DirectoryToCheck\""
        while :
        do
            printf "%s" "$ST_QUES_CREAT_DIR"
            read answer

            case "$answer" in
                "$ST_SMALL_Y" | "$ST_CAPS_Y" | "" )
                    mkdir -p "$DirectoryToCheck" 2> /dev/null
                    break ;;
                "$ST_SMALL_N" | "$ST_CAPS_N" )
                    printf "%s\n" "$ST_ER_EXIT"
                    exit 0 ;;
                 *)
                    printf "%s\n" "$ST_ER_INVALID_RESP2"
            esac
        done

        if [ ! -d "$DirectoryToCheck" ] ; then
            printf "$ST_ER_DIR\n" "\"$DirectoryToCheck\""
            return 1;
        fi
    else
        # The install directory already exists.
        # Check if it is an existing Reader installation.
        # If yes, ask the user if she wants to overwrite.
        unset PrintOnce;
        for i in "${DirectoryToCheck}"/Adobe/Reader*/Reader/*/bin/acroread ; do
			if "${TestCmd}" "${TestCmdOption}" "${i}" ; then
				if [ "${PrintOnce+set}" != "set" ]; then
					printf "\n$ST_PREV_INSTALL_HEAD01\n" "\"${DirectoryToCheck}\"";
					PrintOnce=1;
				fi
				printf "\t%s\n" "\"${i}\"";
			fi
		done

		if [ "${PrintOnce+set}" = "set" ]; then
			unset OverwriteInstallDir;
			while [ "${OverwriteInstallDir+set}" != "set" ]; do
				printf "\n$ST_QUE_CONT[$ST_SMALL_Y] ";
				read answer;
				case "$answer" in
					"$ST_SMALL_Y" | "$ST_CAPS_Y" | "" )
						OverwriteInstallDir=1;;
					"$ST_SMALL_N" | "$ST_CAPS_N" )
						OverwriteInstallDir=0;
						printf "%s\n" "$ST_ER_EXIT";
						exit 0;;
					* )
					printf "%s\n" "$ST_ER_INVALID_RESP2"
				esac
			done
		fi
    fi

    return 0;
}


GetInstallDirectory ()
{
  var="$1"
  
  defdir="/opt"
  case "$OSname" in
    SunOS)
      case "$OSrelease" in
        4.1.3*|4.1.4*|4.1C) defdir="/usr" ;;
        5.*) defdir="/opt" ;;
      esac
      ;;
    HP-UX)
      case "$OSrelease" in
        *.09.*) defdir="/usr" ;;
        *.10.*) defdir="/opt" ;;
	*.11.*) defdir="/opt" ;;
        *) defdir="/opt" ;;
      esac
      ;;
    AIX)
      defdir="/usr/lpp"
      ;;
  esac

  while [ -z "$InstallDir" ] ; do

    InstallDir="$defdir"

    printf "\n$ST_RES_INST_DIR" "${Version}" "${InstallDir}"
    read answer
    case "$answer" in
      "")
        ;;
      *)
        eval InstallDir=\"$answer\"
        ;;
    esac

    InstallDir="`ExpandDirPath "$InstallDir"`"

    CheckInstallDir "${InstallDir}"
    if [ $? -ne 0 ]; then
        InstallDir="";
        continue;
    fi
 
    export "InstallDir"

    if ( echo foo > "$InstallDir"/AcroWriteTest ) 2> /dev/null ; then
      rm -f "$InstallDir"/AcroWriteTest
      break
    else
      printf "$ST_ER_WRITE\n" "\"$InstallDir\""
      InstallDir=""
      continue
    fi
  done

 

  ReadInstallDir="$InstallDir"
}


Which()
{
    OLD_IFS="$IFS"
    IFS=":"
    status=1

    for i in $PATH; do
        if [ -x "$i/$1" ]; then
            printf "%s\n" "$i/$1"
            status=0
            break
        fi
    done

    IFS="$OLD_IFS"
    return $status
}


#Make Soft Links To gnome-speech libraries
MakeLibGnomeSpeechLinks()
{
    install_dir="$1/Adobe/Reader9/Reader"
    configured_dir="$2"
    lib_dir="$install_dir/$configured_dir/lib"

    if TESTSPEECHEXEC="`Which test-speech`" && Which ldd >/dev/null && Which awk >/dev/null; then
        rm -f "$lib_dir/libORBit-2.so" 2>/dev/null
        rm -f "$lib_dir/libbonobo-2.so" 2>/dev/null
        rm -f "$lib_dir/libbonobo-activation.so" 2>/dev/null
        rm -f "$lib_dir/libgnomespeech.so" 2>/dev/null

        lib_orbit2="`ldd $TESTSPEECHEXEC 2>/dev/null | grep -i libORBit-2.* | cut -d '>' -f2 | cut -d '(' -f 1 |awk '{print $1}' `"
        lib_bonobo="`ldd $TESTSPEECHEXEC 2>/dev/null | grep -i bonobo-2.* | cut -d '>' -f2 | cut -d '(' -f 1 |awk '{print $1}' `"
        lib_bonoboactivation="`ldd $TESTSPEECHEXEC 2>/dev/null | grep -i bonobo-activation.* | cut -d '>' -f2 | cut -d '(' -f 1 |awk '{print $1}' `"
        lib_gnomespeech="`ldd $TESTSPEECHEXEC 2>/dev/null | grep -i libgnomespeech.* | cut -d '>' -f2 | cut -d '(' -f 1 |awk '{print $1}' `"

        if [ -f "$lib_orbit2" -a -f "$lib_bonobo" -a -f "$lib_bonoboactivation" -a -f "$lib_gnomespeech" ]; then
            ln -s "$lib_orbit2" "$lib_dir/libORBit-2.so" && record_config remove "$lib_dir/libORBit-2.so"
            ln -s "$lib_bonobo" "$lib_dir/libbonobo-2.so" && record_config remove "$lib_dir/libbonobo-2.so"
            ln -s "$lib_bonoboactivation" "$lib_dir/libbonobo-activation.so" && record_config remove "$lib_dir/libbonobo-activation.so"
            ln -s "$lib_gnomespeech" "$lib_dir/libgnomespeech.so" && record_config remove "$lib_dir/libgnomespeech.so"
        fi
    fi
}


MakeLibLDAPLinks()
{
install_dir="$1/Adobe/Reader9/Reader"
read_config="$2"

if ${TestCmd} ! ${TestCmdOption} /usr/lib/libldap.so
then
	rm -f "$install_dir/${read_config}/lib/libldap.so" 2>/dev/null

	LIB_LDAP="`ls -tr /usr/lib/libldap.so*  2>/dev/null | tail -1`"

	if [ "$LIB_LDAP" = "" ] 
	then
		LIB_LDAP="`ls -tr /usr/lib/libldap* 2>/dev/null | grep -v libldap_r | grep -v libldapcpp | grep '\.so' | tail -1`"
	fi

	if [ "$LIB_LDAP" != "" ] 
	then
		ln -s "$LIB_LDAP" "$install_dir/${read_config}/lib/libldap.so" && record_config remove "$install_dir/${read_config}/lib/libldap.so"
	fi
fi

if ${TestCmd} ! ${TestCmdOption} /usr/lib/liblber.so
then
	rm -f "$install_dir/${read_config}/lib/liblber.so" 2>/dev/null

	LIB_LBER="`ls -tr /usr/lib/liblber.so* 2>/dev/null | tail -1`"

	if [ "$LIB_LBER" = "" ] 
	then
		LIB_LBER="`ls -tr /usr/lib/liblber* 2>/dev/null | grep -v liblber_r | grep '\.so' | tail -1`"
	fi

	if [ "$LIB_LBER" != "" ] 
	then
		ln -s "$LIB_LBER" "$install_dir/${read_config}/lib/liblber.so" && record_config remove "$install_dir/${read_config}/lib/liblber.so"
	fi
fi
}


InstallBrowserPlugin()
{
    install_dir="$1"
    opts="-silent -global -user"

    if [ -f "$install_dir/Adobe/Reader9/Browser/install_browser_plugin" ]; then
        "$install_dir/Adobe/Reader9/Browser/install_browser_plugin" $opts "$install_dir"
    else
        printf "\n%s\n" "$ST_IBP_ERR_07"
        exit 1
    fi
}


MakeMozillaConfig()
{
    install_dir="$1"

    for i in /etc/gre.d/gre.conf /etc/gre.d/firefox.conf /etc/gre.d/mozilla.conf /etc/gre.d/*.conf /etc/gre.conf
    do
        if [ -f "$i" ] && grep "^GRE_PATH=" "$i" >/dev/null 2>&1; then
            return;
        fi
    done

    while :; do
        printf "$ST_QUES_MOZILLA_INSTALL_DIR "
        read mozilla_dir

        if [ -n "$mozilla_dir" ]; then
            if [ -d "$mozilla_dir" ]; then
                if [ -f "$mozilla_dir/libgtkembedmoz.so" ]; then
                    break
                elif [ -f "$mozilla_dir/lib/libgtkembedmoz.so" ]; then
                    mozilla_dir="$mozilla_dir/lib"
                    break
                fi
            fi
        else
            while :
            do
                printf "$ST_QUES_SKIP_MOZILLA_PATH [$ST_SMALL_Y/$ST_SMALL_N]: "
                read REPLY
                case "$REPLY" in
                    $ST_SMALL_Y|$ST_CAPS_Y)
                        printf "\n%s\n" "$ST_WARN_NO_MOZILLA_PATH"
                        break 2;;
                    $ST_SMALL_N|$ST_SMALL_N) break ;;
                esac
            done
        fi
    done

    if [ -n "$mozilla_dir" ]; then
        config_file="$install_dir/Adobe/Reader9/Reader/GlobalPrefs/mozilla_config"
        mozilla_dir="`echo $mozilla_dir | sed -e 's/\"/\\\\\"/g'`"
        echo "MOZILLA_COMP_PATH=\"$mozilla_dir\"" > "$config_file"
        echo "export MOZILLA_COMP_PATH" >> "$config_file"
        record_config remove "$config_file"
    fi
}


record_config()
{
    config_file="$ReadInstallDir/Adobe/Reader9/Reader/GlobalPrefs/.config"
    echo "$@" >> "$config_file"
}


install_icon()
{
    read_config="${1}";
    shift;

    PATH="$ReadInstallDir/Adobe/Reader9/Reader/${read_config}/bin:$PATH:/usr/ucb" xdg-icon-resource install "$@" 2>/dev/null

    if [ $? -eq 0 ]; then
        record_config uninstall_icon "$@"
    fi
}


install_desktop_menu()
{
    read_config="${1}";
    shift;

    eval desktop_file="\$$#"
    tempfile="`MkTemp`"

    PATH="$ReadInstallDir/Adobe/Reader9/Reader/${read_config}/bin:$PATH:/usr/ucb" xdg-desktop-menu uninstall --mode system "$@" >/dev/null 2>&1
    PATH="$ReadInstallDir/Adobe/Reader9/Reader/${read_config}/bin:$PATH:/usr/ucb" xdg-desktop-menu uninstall --mode user "$@" >/dev/null 2>&1
    sed -e "s#^Exec=acroread#Exec=$ReadInstallDir/Adobe/Reader9/bin/acroread#g" < "$desktop_file" > "$tempfile"
    mv -f "$tempfile" "$desktop_file"
    chmod 644  "$desktop_file"
    PATH="$ReadInstallDir/Adobe/Reader9/Reader/${read_config}/bin:$PATH:/usr/ucb" xdg-desktop-menu install "$@" 2>/dev/null

    if [ $? -eq 0 ]; then
        record_config uninstall_desktop_menu "$@"
    fi
}


install_desktop_icon()
{
    read_config="${1}";
    shift;

    eval desktop_file="\$$#"
    tempfile="`MkTemp`"

    PATH="$ReadInstallDir/Adobe/Reader9/Reader/${read_config}/bin:$PATH:/usr/ucb" xdg-desktop-icon uninstall "$@" 2>/dev/null
    sed -e "s#^Exec=acroread#Exec=$ReadInstallDir/Adobe/Reader9/bin/acroread#g" < "$desktop_file" > "$tempfile"
    mv -f "$tempfile" "$desktop_file"
    PATH="$ReadInstallDir/Adobe/Reader9/Reader/${read_config}/bin:$PATH:/usr/ucb" xdg-desktop-icon install "$@" 2>/dev/null

    if [ $? -eq 0 ]; then
		desktop_dir=""
		if [ "${OSname}" = "Linux" ]; then
			PATH="$ReadInstallDir/Adobe/Reader9/Reader/${read_config}/bin:$PATH:/usr/ucb" xdg-user-dirs-update >/dev/null 2>&1
			desktop_dir="`PATH="$ReadInstallDir/Adobe/Reader9/Reader/${read_config}/bin:$PATH:/usr/ucb" xdg-user-dir DESKTOP 2>/dev/null`"
		fi
		if [ ! -n "${desktop_dir}" -o ! -d "${desktop_dir}" ]; then
			desktop_dir="${HOME}/Desktop"
		fi

        chmod 777 "${desktop_dir}/`basename "$desktop_file"`" 2>/dev/null
        record_config uninstall_desktop_icon "$@"
    fi
}


install_mime()
{
    read_config="${1}";
	shift;
    PATH="$ReadInstallDir/Adobe/Reader9/Reader/${read_config}/bin:$PATH:/usr/ucb" xdg-mime install "$@" 2>/dev/null
        record_config unset_mime "AdobeReader.desktop"
}


InstallIcons()
{
    install_dir="$1/Adobe/Reader9/Resource/Icons";
	read_config="${2}";

    for icon_size in 16 20 22 24 32 36 48 64 96 128 192; do
        install_icon "${read_config}" --noupdate --novendor --context apps --size $icon_size "$install_dir/${icon_size}x${icon_size}/AdobeReader9.png"
        install_icon "${read_config}" --noupdate --novendor --context apps --size $icon_size "$install_dir/${icon_size}x${icon_size}/adobe.pdf.png"
        install_icon "${read_config}" --noupdate --novendor --context mimetypes --size $icon_size "$install_dir/${icon_size}x${icon_size}/adobe.pdf.png" 'application-pdf'
        install_icon "${read_config}" --noupdate --novendor --context apps --size $icon_size "$install_dir/${icon_size}x${icon_size}/vnd.fdf.png"
        install_icon "${read_config}" --noupdate --novendor --context mimetypes --size $icon_size "$install_dir/${icon_size}x${icon_size}/vnd.fdf.png" 'application-vnd.fdf'
        install_icon "${read_config}" --noupdate --novendor --context apps --size $icon_size "$install_dir/${icon_size}x${icon_size}/vnd.adobe.pdx.png"
        install_icon "${read_config}" --noupdate --novendor --context mimetypes --size $icon_size "$install_dir/${icon_size}x${icon_size}/vnd.adobe.pdx.png" 'application-vnd.adobe.pdx'
        install_icon "${read_config}" --noupdate --novendor --context apps --size $icon_size "$install_dir/${icon_size}x${icon_size}/vnd.adobe.xdp+xml.png"
        install_icon "${read_config}" --noupdate --novendor --context mimetypes --size $icon_size "$install_dir/${icon_size}x${icon_size}/vnd.adobe.xdp+xml.png" 'application-vnd.adobe.xdp+xml'
        install_icon "${read_config}" --noupdate --novendor --context apps --size $icon_size "$install_dir/${icon_size}x${icon_size}/vnd.adobe.xfdf.png"
        install_icon "${read_config}" --noupdate --novendor --context mimetypes --size $icon_size "$install_dir/${icon_size}x${icon_size}/vnd.adobe.xfdf.png" 'application-vnd.adobe.xfdf'
    done
}


InstallReader()
{
  ReadConfig="$1"
  ReadPlatformTar="$2"
  SearchPlatformTar="$3"
  CustomPlatformTar="$4"

  PrintRequiredFree "$ReadTar" "$SearchTar" "$CustomTar" \
    "$ReadPlatformTar" "$SearchPlatformTar" "$CustomPlatformTar"

  if [ -z "$ReadInstallDir" ] ; then
    GetInstallDirectory
    SilentMode="No"
  else
    ReadInstallDir="`ExpandDirPath "$ReadInstallDir"`"
    SilentMode="Yes"

    if [ -f "$ReadInstallDir" ]; then
        printf "$ST_ER_SAME_FILE_NAME_AS_DIR\n" "\"$ReadInstallDir\""
        exit 1
    fi

    mkdir -p "$ReadInstallDir" 2>/dev/null

    if [ $? -ne 0 ]; then
        printf "$ST_ER_DIR\n" "\"$ReadInstallDir\""
        exit 1
    fi

    touch "$ReadInstallDir"/AcroWriteTest 2>/dev/null 

    if [ $? -eq 0 ]; then
        rm -f "$ReadInstallDir"/AcroWriteTest 2>/dev/null
    else
        printf "$ST_ER_WRITE\n" "\"$ReadInstallDir\""
        exit 1
    fi
  fi

  installLogFile="`MkTemp`"
  printf "%s\n\n" "$ReadInstallDir"

  InstallFiles "$ST_PLAT_INDEP_FILES" \
    "$ReadInstallDir" "$ReadTar" "$SearchTar" "$CustomTar"
  InstallFiles "$ST_PLAT_DEP_FILES" \
    "$ReadInstallDir" \
    "$ReadPlatformTar" "$SearchPlatformTar" "$CustomPlatformTar"

  rm -f /usr/bin/acroread 2>/dev/null && \
  ln -s "$ReadInstallDir/Adobe/Reader9/bin/acroread" /usr/bin/acroread 2>/dev/null && \
  record_config remove /usr/bin/acroread

  if [ "${OSname}" = "Linux" ]; then
      rm -f /etc/bash_completion.d/acroread.sh 2>/dev/null && \
      ln -s "$ReadInstallDir/Adobe/Reader9/Resource/Shell/acroread_tab" /etc/bash_completion.d/acroread.sh 2>/dev/null && \
      record_config remove /etc/bash_completion.d/acroread.sh
  else
      if [ -d "/opt/csw/etc/bash_completion.d" ] ; then
	  rm -f /opt/csw/etc/bash_completion.d/acroread.sh 2>/dev/null && \
	  ln -s "$ReadInstallDir/Adobe/Reader9/Resource/Shell/acroread_tab" /opt/csw/etc/bash_completion.d/acroread.sh 2>/dev/null && \
          record_config remove /opt/csw/etc/bash_completion.d/acroread.sh
      fi
      if [ -d "/usr/local/etc/bash_completion.d" ] ; then
	  rm -f /usr/local/etc/bash_completion.d/acroread.sh 2>/dev/null && \
	  ln -s "$ReadInstallDir/Adobe/Reader9/Resource/Shell/acroread_tab" /usr/local/etc/bash_completion.d/acroread.sh 2>/dev/null && \
          record_config remove /usr/local/etc/bash_completion.d/acroread.sh
      fi
  fi
  if [ "${OSname}" = "Linux" ]; then
    manPageFile="acroread.1.gz"
  else
    manPageFile="acroread.1"
    gunzip "$ReadInstallDir/Adobe/Reader9/Resource/Shell/acroread.1.gz" 2>/dev/null 
  fi

  rm -f "/usr/share/man/man1/${manPageFile}" 2>/dev/null && \
  ln -s "$ReadInstallDir/Adobe/Reader9/Resource/Shell/${manPageFile}" "/usr/share/man/man1/${manPageFile}" 2>/dev/null && \
  record_config remove "/usr/share/man/man1/${manPageFile}"

  if [ "${OSname}" = "Linux" -o \( "${OSname}" = "SunOS" -a "`uname -m`" = "i86pc" \) ]; then
      printf "%s" "$ST_SETTING_UP_LIBS"
      MakeLibGnomeSpeechLinks "$ReadInstallDir" "$ReadConfig"
      MakeLibLDAPLinks "${ReadInstallDir}" "${ReadConfig}"
      printf "%s\n" "$ST_DONE_WORD"
      
      printf "%s" "$ST_SETTING_UP_ICONS"
      if Which kde-config >/dev/null 2>&1; then
        KDE_BASE_DIR="`kde-config --prefix 2>/dev/null`"
      elif [ -x /opt/kde3/bin/kde-config ]; then
        KDE_BASE_DIR="/opt/kde3"
      elif [ -x /opt/kde/bin/kde-config ]; then
        KDE_BASE_DIR="/opt/kde"
      else
        KDE_BASE_DIR="/usr"
      fi

      if GNOME_BASE_DIR="`Which gnome-open`"; then
        GNOME_BASE_DIR="`dirname "$GNOME_BASE_DIR"`"
        GNOME_BASE_DIR="`dirname "$GNOME_BASE_DIR"`"
      elif [ -x /opt/gnome/bin/gnome-open ]; then
        GNOME_BASE_DIR="/opt/gnome"
      else
        GNOME_BASE_DIR="/usr"
      fi

      InstallIcons "$ReadInstallDir" "${ReadConfig}"
      install_mime "${ReadConfig}" --novendor "$ReadInstallDir/Adobe/Reader9/Resource/Support/AdobeReader.xml"

      for i in application/pdf application/vnd.adobe.xfdf application/vnd.fdf application/vnd.adobe.xdp+xml application/vnd.adobe.pdx application/fdf application/xdp application/xfdf application/pdx; do
        PATH="$ReadInstallDir/Adobe/Reader9/Reader/${read_config}/bin:$PATH:/usr/ucb" APP_PATH="${ReadInstallDir}/Adobe/Reader9/bin/acroread" xdg-mime default "AdobeReader.desktop" "$i" 2>/dev/null
      done

      install_desktop_menu "${ReadConfig}" --novendor "$ReadInstallDir/Adobe/Reader9/Resource/Support/AdobeReader.desktop"
      install_desktop_icon "${ReadConfig}" --novendor "$ReadInstallDir/Adobe/Reader9/Resource/Support/AdobeReader.desktop"
      PATH="$ReadInstallDir/Adobe/Reader9/Reader/${read_config}/bin:$PATH:/usr/ucb" xdg-icon-resource forceupdate >/dev/null 2>&1
      printf "%s\n" "$ST_DONE_WORD"
  fi

  sort -r < "$installLogFile" | \
  while read REPLY
  do
     record_config remove "$REPLY"
  done

  rm -f "$installLogFile"

  printf "%s" "$ST_SETTING_UP_BROWSER_PLUGIN"
  InstallBrowserPlugin "$ReadInstallDir" >/dev/null 2>&1
  printf "%s\n" "$ST_DONE_WORD"

  ReadTar=""
  SearchTar=""
  CustomTar=""
}


ShowUsage()
{
	printf "\n$ST_INFO_SUPPORTED_OPTION\n";
	printf "\t[--install_path=<DIR>]: $ST_INFO_INSTALL_PATH\n";
	printf "\t[-h | --help]: $ST_INFO_DISPLAY_HELP\n";
}


##############################################################

#
# Initialization:
#

umask 022
ReadInstallDir=""
LzmaBaseDir=""

if [ -x /usr/bin/test ]; then
	TestCmd=/usr/bin/test
else
	TestCmd=test
fi

if $TestCmd -e . 2>/dev/null; then
	TestCmdOption="-e"
else
	TestCmdOption="-f"
fi

TypeCheck uname
if [ $? -eq 0 ] ; then
	OSname="`uname -s`"
	if [ "$OSname" = "AIX" ] ; then
		OSrelease="`uname -a | ( read name host minor major foo ; echo $major.$minor )`"
	else
		OSrelease="`uname -r`"
	fi
else
	OSname=unknown
	OSrelease=unknown
fi

while [ "${1+set}" = "set" ]; do
    case "$1" in 
	--install_path=*)
		ReadInstallDir="`echo $1 | cut -d= -f2-`";;

    --lzma=*)
        LzmaBaseDir="`echo $1 | cut -d= -f2-`";
        if [ "$LzmaBaseDir" = "" -a -d "$LzmaBaseDir" ]; then
            printf "\n$ST_ERR_INVALID_OPTION\n";
            ShowUsage "$@";
            exit 1;
        fi
        trap DestroySelf INT;;

    -h|--help)
        printf "\n$ST_SUMMARY_RPM\n"
		ShowUsage;
		exit 0;;

	*)
        printf "\n$ST_ERR_INVALID_OPTION\n";
		ShowUsage "$@"
		exit 1 ;;
	esac

    shift
done

if [ ! -z "${ReadInstallDir}" ]; then
	CheckInstallDir "`ExpandDirPath "${ReadInstallDir}"`";
	if [ $? -ne 0 ]; then
        printf "\n$ST_ER_EXIT\n";
		ShowUsage "$@"
		exit 1
	fi
fi

ScriptName=`basename "$0"`
CurrentDirectory=`pwd`
eval CurrentDirectory=\"${CurrentDirectory}\"

ScriptDirectory=`dirname "$0"`
eval ScriptDirectory=\"${ScriptDirectory}\"

AcroSerNum=""
AcroCompName=""
case "${ScriptDirectory}" in
  /*) ;;
  .) ScriptDirectory="$CurrentDirectory" ;;
  *) ScriptDirectory="$CurrentDirectory"/"$ScriptDirectory" ;;
esac



Version=9.3.4

#
# Get the filenames:
#

for i in "${ScriptDirectory}"/* "${ScriptDirectory}"/../COMMON/* "${ScriptDirectory}"/../common/*; do
  if [ -f "$i" ] ; then
    case $i in
      */common.tar*|*/COMMON.TAR*)
        ReadTar="$i"
        ;;
      */search.tar*|*/SEARCH.TAR*)
        SearchTar="$i"
        ;;
      */custom.tar*|*/CUSTOM.TAR*)
        CustomTar="$i"
        ;;
      */solrdr.tar*|*/SSOLR.TAR*)
        ReadSparcSolarisTar="$i"
        ;;
      */isolr.tar*|*/ISOLR.TAR*)
        ReadIntelSolarisTar="$i"
        ;;
      */hpuxrdr.tar*|*/HPUXRDR.TAR*)
        ReadHppaHpuxTar="$i"
        ;;
      */aixrdr.tar*|*/AIXRDR.TAR*)
        ReadRS6000AIXTar="$i"
        ;;
      */ilinxr.tar*|*/ILINXR.TAR* | */ILINXRPRO.TAR* | */ilinxrpro.tar*)
        ReadIntelLinuxTar="$i"
        ;;
      */ilinxc.tar*|*/ILINXC.TAR*)
        CustomIntelLinuxTar="$i"
        ;;
    esac
  fi
done


#
# Validate the configurations:
#

NumConfigs=0

if [ "$ReadTar" ] ; then
  if [ "$ReadSparcSolarisTar" ] ; then
    NumConfigs=`expr $NumConfigs + 1`
    ReadSparcSolarisNum=$NumConfigs
  fi
  if [ "$ReadIntelSolarisTar" ] ; then
    NumConfigs=`expr $NumConfigs + 1`
    ReadIntelSolarisNum=$NumConfigs
  fi
  if [ "$ReadHppaHpuxTar" ] ; then
    NumConfigs=`expr $NumConfigs + 1`
    ReadHppaHpuxNum=$NumConfigs
  fi
  if [ "$ReadRS6000AIXTar" ] ; then
    NumConfigs=`expr $NumConfigs + 1`
    ReadRS6000AIXNum=$NumConfigs
  fi
  if [ "$ReadIntelLinuxTar" ] ; then
    NumConfigs=`expr $NumConfigs + 1`
    ReadIntelLinuxNum=$NumConfigs
  fi
fi
if [ "$NumConfigs" = "0" ] ; then
  printf "\n%s\n" "$ST_ER_NO_CONFIG"
  exit 1
elif [ "$NumConfigs" = "1" ] ; then
  SingleConfig=true
fi

NumConfigs=`expr $NumConfigs + 1`
ExitNum=$NumConfigs


#
# Check if there is a configuration supported by this OS.
#

case "$OSname" in
  SunOS)
    case "$OSrelease" in
      4.1.3*|4.1.4*|4.1C)
        ReadDefaultNum="$ReadSparcSunNum"
        DefaultName="SPARC/SunOS 4.1.3 and later"
        ;;
      5.1|5.1.*|5.2|5.2.*)
        ;;
      5.*)
        MachArch=`uname -p`
        case "$MachArch" in
          sparc)
            ReadDefaultNum="$ReadSparcSolarisNum"
            DefaultName="SPARC/Solaris 2.x"
            ;;
          i386)
            ReadDefaultNum="$ReadIntelSolarisNum"
            DefaultName="Intel/Solaris"
            ;;
          esac
        ;;
    esac
    ;;
  HP-UX)
    case "$OSrelease" in
      *.09.*|*.10.*|*.11.*)
        ReadDefaultNum="$ReadHppaHpuxNum"
        DefaultName="HP-UX"
        ;;
    esac
    ;;
  AIX)
    case "$OSrelease" in
      4.*|5.*)
        ReadDefaultNum="$ReadRS6000AIXNum"
        DefaultName="AIX"
      ;;
    esac
    ;;
  Linux)
    ReadDefaultNum="$ReadIntelLinuxNum"
    DefaultName="Intel/Linux"
    ;;
esac

if  [ -z "$ReadDefaultNum" ] ; then
  printf "%s\n" "$ST_WARN_NO_CONFIG" "$OSname" "$OSrelease"
  if [ -z "$ReadInstallDir" ]; then
      if yesno "$ST_QUE_CONT [$ST_SMALL_N] " 1 ; then
        :
      else
        exit 1
      fi
  fi
fi


#
# If multiple confurations, get the default configuration
#

if [ -z "$SingleConfig" ] ; then
  if [ "$ReadDefaultNum" ] ; then
      if [ -n "$ReadInstallDir" ]; then
        DefaultConfig="$ReadDefaultNum"
      elif yesno "Install default configuration, Acrobat Reader ${Version} for $DefaultName? [$ST_SMALL_Y] " 0 ; then
        DefaultConfig="$ReadDefaultNum"
      fi

  fi
fi


#
# If a single configuration available the loop will be executed once
# otherwise it will ask for each configuration to install
#

while [ "$NumConfigs" -gt 1 ] ; do

  #
  # If multiple configuration ask for which to install
  #

  if [ "$SingleConfig" ] ; then

    ConfigNum=1

  elif [ "$DefaultConfig" ] ; then

    ConfigNum="$DefaultConfig"

  else

    #
    # Display multiple configurations
    #

    printf "\n%s\n" "$ST_INFO_DEF_CONFIG2"

    if [ "$AcroSparcSolarisNum" ] ; then
      printf "$ST_INSTALL_OPT01\n" "$AcroSparcSolarisNum" "${Version}"
    fi
    if [ "$AcroHppaHpuxNum" ] ; then
      printf "$ST_INSTALL_OPT02\n" "$AcroHppaHpuxNum" "${Version}"
    fi
    if [ "$AcroRS6000AIXNum" ] ; then
      printf "$ST_INSTALL_OPT03\n" "$AcroRS6000AIXNum" "${Version}"
    fi
    if [ "$AcroIntelLinuxNum" ] ; then
      printf "$ST_INSTALL_OPT04\n" "$AcroIntelLinuxNum" "${Version}"
    fi
    if [ "$ReadSparcSolarisNum" ] ; then
      printf "$ST_INSTALL_OPT05\n" "$ReadSparcSolarisNum" "${Version}"
    fi
    if [ "$ReadHppaHpuxNum" ] ; then
      printf "$ST_INSTALL_OPT06\n" "$ReadHppaHpuxNum" "${Version}"
    fi
    if [ "$ReadRS6000AIXNum" ] ; then
      printf "$ST_INSTALL_OPT07\n" "$ReadRS6000AIXNum" "${Version}"
    fi
    if [ "$ReadIntelLinuxNum" ] ; then
      printf "$ST_INSTALL_OPT08\n" "$ReadIntelLinuxNum" "${Version}"
    fi
    if [ "$ReadIntelSolarisNum" ] ; then
      printf "$ST_INSTALL_OPT10\n" "$ReadIntelSolarisNum" "${Version}"
    fi
    if [ "$ExitNum" ] ; then
        printf "$ST_INSTALL_OPT09\n" "${ExitNum}"
    fi

    printf "\n%s" "$ST_QUE_CONFIG"
    read ConfigNum

  fi


  #
  # Install the configuration
  #

  if [ -z "$ConfigNum" ] ; then
    printf "\n%s\n" "$ST_ER_INVALID_RESP2"
    continue
  elif [ "$ConfigNum" = "$ReadSparcSolarisNum" ] ; then
    InstallReader sparcsolaris "$ReadSparcSolarisTar" \
      "$SearchSparcSolarisTar" "$CustomSparcSolarisTar"
    ReadSparcSolarisNum=""
  elif [ "$ConfigNum" = "$ReadIntelSolarisNum" ] ; then
    InstallReader intelsolaris "$ReadIntelSolarisTar" \
      "$SearchIntelSolarisTar" "$CustomIntelSolarisTar"
    ReadIntelSolarisNum=""
  elif [ "$ConfigNum" = "$ReadHppaHpuxNum" ] ; then
    InstallReader hppahpux "$ReadHppaHpuxTar" \
      "$SearchHppaHpuxTar" "$CustomHppaHpuxTar"
    ReadHppaHpuxNum=""
  elif [ "$ConfigNum" = "$ReadRS6000AIXNum" ] ; then
    InstallReader rs6000aix "$ReadRS6000AIXTar" \
      "$SearchRS6000AIXTar" "$CustomRS6000AIXTar"
    ReadRS6000AIXNum=""
  elif [ "$ConfigNum" = "$ReadIntelLinuxNum" ] ; then
    InstallReader intellinux "$ReadIntelLinuxTar" \
      "$SearchIntelLinuxTar" "$CustomIntelLinuxTar"
    ReadIntelLinuxNum=""
  elif [ "$ConfigNum" = "$ExitNum" ] ; then
    break
  else
    printf "%s\n" "$ST_ER_INVALID_RESP2"
    continue
  fi

  if [ "$DefaultConfig" ] ; then
    break;
  fi

  if [ -z "$MultipleInstall" ] ; then
    break;
  fi

  NumConfigs=`expr $NumConfigs - 1`

done

printf "\n"
exit 0
