summaryrefslogtreecommitdiff
path: root/sysui/desktop/solaris/postinstall
blob: 8e0e2defd36a5744d0d6cfbd9d00bda885b9b7f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/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}/%PREFIX.fp" ]
  then
    charset=`getcharset $i`
    if [ "$charset" != "" ]
    then
      echo "${CLIENT_BASEDIR}/${DTAPPDIR}/$i d 0755 root bin"
      LC_CTYPE=$i cat ${BASEDIR}/${DTAPPDIR}/${locale}/%PREFIX.fp | iconv -f UTF-8 -t $charset > ${BASEDIR}/${DTAPPDIR}/$i/%PREFIX.fp \
        && echo "${CLIENT_BASEDIR}/${DTAPPDIR}/$i/%PREFIX.fp"
      LC_CTYPE=$i cat ${BASEDIR}/${DTAPPDIR}/${locale}/%PREFIX.dt | iconv -f UTF-8 -t $charset > ${BASEDIR}/${DTAPPDIR}/$i/%PREFIX.dt \
        && echo "${CLIENT_BASEDIR}/${DTAPPDIR}/$i/%PREFIX.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/%PREFIX=..${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/%PREFIX.tmp$$ << EOF
#!/bin/sh
USERDIR=\`sed -n -e 's/UserInstallation=//p' /etc/%PREFIX/program/bootstraprc | sed -e "s|.SYSUSERCONFIG|\$HOME|"\`
# Run gnome-set-default-application on first office launch
if [ ! -d \$USERDIR ]
then
  /etc/%PREFIX/program/gnome-set-default-application '%PREFIX' 'application/vnd.oasis.opendocument' 'application/vnd.sun.xml' 'application/vnd.stardivision'
  /etc/%PREFIX/program/gnome-set-default-application 'unopkg_gui' 'application/vnd.openofficeorg.extension'
fi
EOF
  sed -n -e '2,$ p' ${CLIENT_BASEDIR}/usr/bin/%PREFIX >> ${CLIENT_BASEDIR}/usr/bin/%PREFIX.tmp$$
  mv -f ${CLIENT_BASEDIR}/usr/bin/%PREFIX.tmp$$ ${CLIENT_BASEDIR}/usr/bin/%PREFIX
  chmod 0755 ${CLIENT_BASEDIR}/usr/bin/%PREFIX
  installf ${PKG_INSTALL_ROOT:+'-R'} ${PKG_INSTALL_ROOT} ${PKGINST} ${CLIENT_BASEDIR}/usr/bin/%PREFIX f
fi

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