File sogou-pinyin.sh.in of Package sogou-pinyin

#!/bin/sh
# Name: Sogou Pinyin Linux Installer
# Version: 3.0
# Author: Marguerite Su <marguerite@opensuse.org>
#         Grover Chou <groverchout@opensuse.org>
# License: GPL-2.0+
# Description: This script should be called in a temporary directory
#              like /tmp /var/tmp, and it'll install Sogou Pinyin
#              to your openSUSE system.

# Must be root
if [ "`id -u`" != "0" ]; then
	echo "error: You must be root to use this program!"
	exit 1
fi

# Detect OS architectures
if [ "`uname -m`" == "x86_64" ]; then
	TAR_ARCH=amd64;
	ARCH=x86_64;
	BIT=64;
	LIB=lib64/fcitx;
	RUNTIME_LIB=lib64;
else
	TAR_ARCH=i386;
	ARCH=i386;
	BIT=32;
	LIB=lib/fcitx;
	RUNTIME_LIB=lib;
fi

# Define variables
NAME=sougou_pinyin_linux
VERSION=2.2.0.0102
WORKSPACE=/tmp/${NAME}-${VERSION}
SOURCE=${NAME}_${VERSION}_${TAR_ARCH}.deb
SOURCE_URL="http://pinyin.sogou.com/linux/download.php?f=linux&bit=${BIT}"
DESTDIR=/usr
DOCDIR=$DESTDIR/share/doc/packages/sogoupinyin
LOCALEDIR=$DESTDIR/share/locale/zh_CN/LC_MESSAGES
MIMEDIR=$DESTDIR/share/mime/packages
FCITX_BINDIR=$DESTDIR/bin
#FCITX_INCLUDEDIR=$DESTDIR/include/fcitx
FCITX_LIBDIR=$DESTDIR/${LIB}
FCITX_DATADIR=$DESTDIR/share/fcitx
FCITX_ADDONDIR=${FCITX_DATADIR}/addon
FCITX_CONFIGDESCDIR=${FCITX_DATADIR}/configdesc
FCITX_IMICONDIR=${FCITX_DATADIR}/imicon
FCITX_INPUTMETHODDIR=${FCITX_DATADIR}/inputmethod

mkdir ${WORKSPACE}
pushd ${WORKSPACE} &> /dev/null

# Download binaries
wget $SOURCE_URL -O $SOURCE

# Unpack
ar -x $SOURCE
tar -xf data.tar.xz

# Test if sogou-qimpanel is running
if test $( pgrep -f sogou-qimpanel | wc -l ) -ne 0 ; then
	echo "Killing running Sogou Pinyin...";
	killall sogou-qimpanel;
	echo "Killing running fcitx...";
	killall fcitx;
	echo "Waiting 30s for sogou-qimpanel-watchdog to fully quit...";
	sleep 30s;
else
	echo "Sogou & fcitx are not running, safe to go.";
fi

# Installation
cp -r usr/bin/* ${FCITX_BINDIR}
chmod +x usr/lib/${ARCH}-linux-gnu/fcitx/*.so
cp -r usr/lib/${ARCH}-linux-gnu/fcitx/*.so ${FCITX_LIBDIR}
cp -r usr/share/applications/*.desktop /usr/share/applications
cp -r usr/share/doc/sogoupinyin/* ${DOCDIR}
cp -r usr/share/fcitx/addon/*.conf ${FCITX_ADDONDIR}
cp -r usr/share/fcitx/configdesc/*.desc ${FCITX_CONFIGDESCDIR}
cp -r usr/share/fcitx/data/* ${FCITX_DATADIR}/data
cp -r usr/share/fcitx/imicon/*.png ${FCITX_IMICONDIR}
cp -r usr/share/fcitx/inputmethod/*.conf ${FCITX_INPUTMETHODDIR}
rm -rf usr/share/sogou-qimpanel/skin/ubuntukylin-*
cp -r usr/share/sogou-qimpanel $DESTDIR/share/
cp -r usr/share/fcitx-sogoupinyin $DESTDIR/share/
cp -r usr/share/icons/hicolor/16x16/apps/fcitx-sogoupinyin.png $DESTDIR/share/icons/hicolor/16x16/apps/
cp -r usr/share/icons/hicolor/48x48/apps/fcitx-sogoupinyin.png $DESTDIR/share/icons/hicolor/48x48/apps/
cp -r usr/share/icons/hicolor/128x128/apps/fcitx-sogoupinyin.png $DESTDIR/share/icons/hicolor/128x128/apps/
cp -r usr/share/icons/hicolor/64x64/apps/sogou_notify.png $DESTDIR/share/icons/hicolor/64x64/apps/
cp -r usr/share/locale/zh_CN/LC_MESSAGES/fcitx-sogoupinyin.mo $LOCALEDIR
cp -r usr/share/pixmaps/application-x-*.png $DESTDIR/share/pixmaps
cp -r usr/share/sogoupinyin/sogou-version $DESTDIR/share/sogoupinyin
cp -r usr/share/mime/packages/fcitx-ui-sogou-qimpanel.xml $MIMEDIR

# Afterwork
/usr/bin/update-mime-database $MIMEDIR &> /dev/null
/usr/bin/update-desktop-database -q $DESTDIR/share/applications 
/usr/bin/gtk-update-icon-cache -fq $DESTDIR/share/icons/hicolor
/sbin/ldconfig

# Clean
popd &> /dev/null
rm -rf ${WORKSPACE}

# Success
echo "Sogou Pinyin Linux is now installed."
echo "Please start 1) fcitx 2) sogou-qimpanel again."

exit 0
openSUSE Build Service is sponsored by