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