#!/bin/sh

DTAPPDIR=usr/dt/appconfig/types
ICONVDIR=usr/lib/iconv

# Return the charset name for the specified locale
getcharset ()
{
  # query codeset for locale and remove the ISO prefix
  codeset=`LC_CTYPE=$1 locale -c code_set_name 2>/dev/null | sed -e 's/ISO8859/8859/'`
  
  if [ -f ${BASEDIR}/${ICONVDIR}/UTF-8%${codeset}.so ]
  then
    echo $codeset
  fi
}

# Create non UTF-8 entries for CDE on the fly by iterating of real existing
# directories and converting from UTF-8 into the appropriate codeset.
for i in `cd ${BASEDIR}/${DTAPPDIR}; find * -type d ! -name "*.UTF-8" ! -name "C"`
do
  locale=`echo $i | sed -e 's/\..*//g' -e 's/ja$/ja_JP/' -e 's/en.*/C/g`
  if [ "${locale}" != "C" ]
  then 
    locale="${locale}.UTF-8"
  fi
  
  # Check for existing source file.
  if [ -f "${BASEDIR}/${DTAPPDIR}/${locale}/openoffice.org2.2.fp" ]
  then
    charset=`getcharset $i`
    if [ "$charset" != "" ]
    then
      echo "${CLIENT_BASEDIR}/${DTAPPDIR}/$i d 0755 root bin"
      LC_CTYPE=$i cat ${BASEDIR}/${DTAPPDIR}/${locale}/openoffice.org2.2.fp | iconv -f UTF-8 -t $charset > ${BASEDIR}/${DTAPPDIR}/$i/openoffice.org2.2.fp \
        && echo "${CLIENT_BASEDIR}/${DTAPPDIR}/$i/openoffice.org2.2.fp"
      LC_CTYPE=$i cat ${BASEDIR}/${DTAPPDIR}/${locale}/openoffice.org2.2.dt | iconv -f UTF-8 -t $charset > ${BASEDIR}/${DTAPPDIR}/$i/openoffice.org2.2.dt \
        && echo "${CLIENT_BASEDIR}/${DTAPPDIR}/$i/openoffice.org2.2.dt"
    fi
  fi
done | installf ${PKGINST} - || exit 2

# Add the symlink to software installation database
installf ${PKG_INSTALL_ROOT:+'-R'} ${PKG_INSTALL_ROOT} ${PKGINST} ${CLIENT_BASEDIR}/etc/openoffice.org2.2=..${OFFICE_PATH} s

# Patch the launch script to run gnome-set-default-application on first office launch for GNOME < 2.6 
if [ "$LEGACY_GNOME" = "true" ]
then
  cat >> /usr/bin/openoffice.org2.2.tmp$$ << EOF
#!/bin/sh
USERDIR=\`sed -n -e 's/UserInstallation=//p' /etc/openoffice.org2.2/program/bootstraprc | sed -e "s|.SYSUSERCONFIG|\$HOME|"\`
# Run gnome-set-default-application on first office launch
if [ ! -d \$USERDIR ]
then
  /etc/openoffice.org2.2/program/gnome-set-default-application 'openoffice.org2.2' 'application/vnd.oasis.opendocument' 'application/vnd.sun.xml' 'application/vnd.stardivision'
fi
EOF
  sed -n -e '2,$ p' ${CLIENT_BASEDIR}/usr/bin/openoffice.org2.2 >> ${CLIENT_BASEDIR}/usr/bin/openoffice.org2.2.tmp$$
  mv -f ${CLIENT_BASEDIR}/usr/bin/openoffice.org2.2.tmp$$ ${CLIENT_BASEDIR}/usr/bin/openoffice.org2.2
  chmod 0755 ${CLIENT_BASEDIR}/usr/bin/openoffice.org2.2
  installf ${PKG_INSTALL_ROOT:+'-R'} ${PKG_INSTALL_ROOT} ${PKGINST} ${CLIENT_BASEDIR}/usr/bin/openoffice.org2.2 f
fi

installf ${PKG_INSTALL_ROOT:+'-R'} ${PKG_INSTALL_ROOT} -f ${PKGINST}

