aboutsummarylogtreecommitdiffstats
path: root/wps-office-stable.install
diff options
context:
space:
mode:
Diffstat (limited to 'wps-office-stable.install')
-rw-r--r--wps-office-stable.install307
1 files changed, 307 insertions, 0 deletions
diff --git a/wps-office-stable.install b/wps-office-stable.install
new file mode 100644
index 000000000000..fdd39f54ff24
--- /dev/null
+++ b/wps-office-stable.install
@@ -0,0 +1,307 @@
+#!/bin/bash
+
+export XDG_DATA_HOME=${XDG_DATA_HOME:-/usr/share/}
+ksv_xdg_dirs="/usr/share/:$XDG_DATA_DIRS"
+ksv_xdg_dir=
+ksv_def_icon_theme=icons/hicolor
+
+ksv_wps_mimes=('application-wps-office.wps' 'wps-office-wps.png' 'application-wps-office.wpt' 'wps-office-wpt.png')
+ksv_word_mimes=('application-wps-office.doc' 'wps-office-doc.png' 'application-wps-office.dot' 'wps-office-dot.png' 'application-vnd.ms-word' 'wps-office-doc.png' 'application-msword' 'wps-office-doc.png' 'application-msword-template' 'wps-office-dot.png' 'application-wps-office.docx' 'wps-office-doc.png' 'application-wps-office.dotx' 'wps-office-dot.png' )
+ksv_et_mimes=('application-wps-office.et' 'wps-office-et.png' 'application-wps-office.ett' 'wps-office-ett.png')
+ksv_excel_mimes=('application-wps-office.xls' 'wps-office-xls.png' 'application-wps-office.xlt' 'wps-office-xlt.png' 'application-vnd.ms-excel' 'wps-office-xls.png' 'application-msexcel' 'wps-office-xls.png' 'application-wps-office.xlsx' 'wps-office-xls.png' 'application-wps-office.xltx' 'wps-office-xlt.png' )
+ksv_wpp_mimes=('application-wps-office.dps' 'wps-office-dps.png' 'application-wps-office.dpt' 'wps-office-dpt.png')
+ksv_ppt_mimes=('application-wps-office.ppt' 'wps-office-ppt.png' 'application-wps-office.pot' 'wps-office-pot.png' 'application-vnd.ms-powerpoint' 'wps-office-ppt.png' 'application-vnd.mspowerpoint' 'wps-office-ppt.png' 'application-powerpoint' 'wps-office-ppt.png' 'application-wps-office.pptx' 'wps-office-ppt.png' 'application-wps-office.potx' 'wps-office-pot.png' )
+
+
+function whisperer(){
+ echo "-----------------------------------------------------------------------"
+ echo "For more info and more troubleshooting visit:"
+ echo "Chinese: http://linux.wps.cn/"
+ echo "English: http://wps-community.org/"
+ echo "-----------------------------------------------------------------------"
+ echo ""
+ echo "-----------------------------------------------------------------------"
+ echo "Kingsoft Office (WPS Office), is an office productivity suite."
+ echo ""
+ echo "Kingsoft Office (also named WPS Office) including Writer, Presentation"
+ echo "and Spreadsheets, is a powerful office suite, which is able to process"
+ echo "word file, produce wonderful slides, and analyze data as well. It is"
+ echo "deeply compatible with all of the latest Microsoft Office file formats. "
+ echo "It can easily open and read the documents created with Microsoft Office."
+ echo ""
+ echo "This is the Linux version, and it's now an ALPHA package."
+ echo "-----------------------------------------------------------------------"
+}
+
+function ks_install_icon()
+{
+ local context=$1
+ shift
+ local mode=$1
+ shift
+
+ local png=
+ local mime=
+ local nextIsPng=0
+ for item in $@
+ do
+ if [ "" = "${item}" ] ; then
+ continue
+ fi
+ if [ ${nextIsPng} -eq 1 ] ; then
+ png=${item}
+ for i in 16 22 32 48 64 128 256; do
+ if [ -e "${ksv_xdg_dir}/${ksv_def_icon_theme}/${i}x${i}/${context}/${png}" ] ; then
+ xdg-icon-resource install --noupdate --mode ${mode} --context ${context} --size ${i} "${ksv_xdg_dir}/${ksv_def_icon_theme}/${i}x${i}/${context}/${png}" ${mime}
+ fi
+ done
+ nextIsPng=0
+ else
+ mime=${item}
+ nextIsPng=1
+ fi
+ done
+}
+
+
+
+function ks_config_default_mime_open()
+{
+ local desktop=$1
+ shift
+
+ local png=
+ local mime=
+ local nextIsPng=0
+ for item in $@
+ do
+ if [ "" = "${item}" ] ; then
+ continue
+ fi
+ if [ ${nextIsPng} -eq 1 ] ; then
+ png=${item}
+ nextIsPng=0
+ else
+ mime=${item/application-/application/}
+ xdg-mime default ${desktop} ${mime}
+ nextIsPng=1
+ fi
+ done
+}
+
+function ks_init()
+{
+ set -e
+ for i in `echo "${ksv_xdg_dirs}" | sed 's/:/ /g'`
+ do
+ if [ -w ${i}/${ksv_def_icon_theme} ] ; then
+ ksv_xdg_dir="${i}"
+ fi
+ done
+}
+
+
+function ks_config_menu()
+{
+ if [ -f "${ksv_xdg_dir}/applications/wps-office-et.desktop" ] ; then
+ xdg-mime install --novendor --mode system "${ksv_xdg_dir}/mime/packages/wps-office-et.xml"
+
+ xdg-desktop-menu install --noupdate --novendor --mode system "${ksv_xdg_dir}/applications/wps-office-et.desktop"
+ #xdg-desktop-menu install --noupdate --novendor --mode system "${ksv_xdg_dir}/desktop-directories/wps-office.directory" "${ksv_xdg_dir}/applications/wps-office-et.desktop"
+ xdg-desktop-menu forceupdate --mode system
+
+ ks_install_icon "mimetypes" "system" "${ksv_et_mimes[*]}" "${ksv_excel_mimes[*]}"
+ xdg-icon-resource forceupdate --mode system
+
+ ks_config_default_mime_open "${ksv_xdg_dir}/applications/wps-office-et.desktop" "${ksv_et_mimes[*]}" "${ksv_excel_mimes[*]}"
+ fi
+
+ if [ -f "${ksv_xdg_dir}/applications/wps-office-wpp.desktop" ] ; then
+ xdg-mime install --novendor --mode system "${ksv_xdg_dir}/mime/packages/wps-office-wpp.xml"
+
+ xdg-desktop-menu install --noupdate --novendor --mode system "${ksv_xdg_dir}/applications/wps-office-wpp.desktop"
+ #xdg-desktop-menu install --noupdate --novendor --mode system "${ksv_xdg_dir}/desktop-directories/wps-office.directory" "${ksv_xdg_dir}/applications/wps-office-wpp.desktop"
+ xdg-desktop-menu forceupdate --mode system
+
+ ks_install_icon "mimetypes" "system" "${ksv_wpp_mimes[*]}" "${ksv_ppt_mimes[*]}"
+ xdg-icon-resource forceupdate --mode system
+
+ ks_config_default_mime_open "${ksv_xdg_dir}/applications/wps-office-wpp.desktop" "${ksv_wpp_mimes[*]}" "${ksv_ppt_mimes[*]}"
+ fi
+
+ if [ -f "${ksv_xdg_dir}/applications/wps-office-wps.desktop" ] ; then
+ xdg-mime install --novendor --mode system "${ksv_xdg_dir}/mime/packages/wps-office-wps.xml"
+
+ xdg-desktop-menu install --noupdate --novendor --mode system "${ksv_xdg_dir}/applications/wps-office-wps.desktop"
+ #xdg-desktop-menu install --noupdate --novendor --mode system "${ksv_xdg_dir}/desktop-directories/wps-office.directory" "${ksv_xdg_dir}/applications/wps-office-wps.desktop"
+ xdg-desktop-menu forceupdate --mode system
+
+ ks_install_icon "mimetypes" "system" "${ksv_wps_mimes[*]}" "${ksv_word_mimes[*]}"
+ xdg-icon-resource forceupdate --mode system
+
+ ks_config_default_mime_open "${ksv_xdg_dir}/applications/wps-office-wps.desktop" "${ksv_wps_mimes[*]}" "${ksv_word_mimes[*]}"
+ fi
+}
+
+
+function ks_config()
+{
+ ks_config_menu
+}
+
+function ks_remove()
+{
+ if [ -e /etc/xdg/menus/applications-merged/wps-office.menu ] ; then
+ rm -rf /etc/xdg/menus/applications-merged/wps-office.menu
+ fi
+
+ if [ -x /usr/bin/update-mime-database ] ; then
+ update-mime-database "${ksv_xdg_dir}/mime"
+ fi
+
+ if [ -x /usr/bin/update-desktop-database ] ; then
+ update-desktop-database -q "${ksv_xdg_dir}/applications"
+ fi
+}
+
+function ks_purge()
+{
+ if [ -d /usr/share/fonts/wps-office ] ; then
+ rm -rf /usr/share/fonts/wps-office
+ fi
+}
+
+function ks_uninstall_icon()
+{
+ local context=$1
+ shift
+ local mode=$1
+ shift
+
+ local png=
+ local mime=
+ local nextIsPng=0
+ for item in $@
+ do
+ if [ "" = "${item}" ] ; then
+ continue
+ fi
+ if [ ${nextIsPng} -eq 1 ] ; then
+ png=${item}
+ nextIsPng=0
+ else
+ mime=${item}
+ for i in 48 32 22 16; do
+ if [ -e "${ksv_xdg_dir}/${ksv_def_icon_theme}/${i}x${i}/${context}/${png}" ] ; then
+ xdg-icon-resource uninstall --noupdate --mode ${mode} --context ${context} --size ${i} ${mime}
+ fi
+ done
+
+ nextIsPng=1
+ fi
+ done
+}
+
+function ks_prerm_uninstall_menu()
+{
+ if [ -f "${ksv_xdg_dir}/applications/wps-office-et.desktop" ] ; then
+ xdg-mime uninstall --mode system "${ksv_xdg_dir}/mime/packages/wps-office-et.xml"
+
+ #xdg-desktop-menu uninstall --noupdate --mode system "${ksv_xdg_dir}/desktop-directories/wps-office.directory" "${ksv_xdg_dir}/applications/wps-office-et.desktop"
+ xdg-desktop-menu uninstall --noupdate --mode system "${ksv_xdg_dir}/applications/wps-office-et.desktop"
+ xdg-desktop-menu forceupdate --mode system
+
+ ks_uninstall_icon "mimetypes" "system" "${ksv_et_mimes[*]}" "${ksv_excel_mimes[*]}"
+ xdg-icon-resource forceupdate --mode system
+ fi
+
+ if [ -f "${ksv_xdg_dir}/applications/wps-office-wpp.desktop" ] ; then
+ xdg-mime uninstall --mode system "${ksv_xdg_dir}/mime/packages/wps-office-wpp.xml"
+
+ #xdg-desktop-menu uninstall --noupdate --mode system "${ksv_xdg_dir}/desktop-directories/wps-office.directory" "${ksv_xdg_dir}/applications/wps-office-wpp.desktop"
+ xdg-desktop-menu uninstall --noupdate --mode system "${ksv_xdg_dir}/applications/wps-office-wpp.desktop"
+ xdg-desktop-menu forceupdate --mode system
+
+ ks_uninstall_icon "mimetypes" "system" "${ksv_wpp_mimes[*]}" "${ksv_ppt_mimes[*]}"
+ xdg-icon-resource forceupdate --mode system
+ fi
+
+ if [ -f "${ksv_xdg_dir}/applications/wps-office-wps.desktop" ] ; then
+ xdg-mime uninstall --mode system "${ksv_xdg_dir}/mime/packages/wps-office-wps.xml"
+
+ #xdg-desktop-menu uninstall --noupdate --mode system "${ksv_xdg_dir}/desktop-directories/wps-office.directory" "${ksv_xdg_dir}/applications/wps-office-wps.desktop"
+ xdg-desktop-menu uninstall --noupdate --mode system "${ksv_xdg_dir}/applications/wps-office-wps.desktop"
+ xdg-desktop-menu forceupdate --mode system
+
+ ks_uninstall_icon "mimetypes" "system" "${ksv_wps_mimes[*]}" "${ksv_word_mimes[*]}"
+ xdg-icon-resource forceupdate --mode system
+ fi
+
+}
+
+
+function ks_prerm_upgrade()
+{
+ ks_prerm_uninstall_menu
+}
+
+function ks_prerm_remove()
+{
+ ks_prerm_uninstall_menu
+}
+
+
+function ks_main()
+{
+ if [ $# -eq 0 ] ; then
+ return;
+ fi
+
+ ks_init
+ case $1 in
+ configure )
+ shift
+ ks_config $@
+ ;;
+ prerm )
+ shift
+ ks_prerm_remove $@
+ ;;
+ remove )
+ shift
+ ks_remove $@
+ ks_purge $@
+ ;;
+ preupgrade )
+ shift
+ ks_prerm_upgrade $@
+ ;;
+ esac
+}
+
+post_install()
+{
+ ks_main configure
+ whisperer
+}
+
+pre_upgrade()
+{
+ ks_main preupgrade
+}
+
+post_upgrade()
+{
+ ks_main configure
+ whisperer
+}
+
+pre_remove()
+{
+ ks_main prerm
+}
+
+post_remove()
+{
+ ks_main remove
+}