diff options
author | Jingbei Li | 2017-06-17 15:54:37 +0800 |
---|---|---|
committer | Jingbei Li | 2017-06-17 15:54:37 +0800 |
commit | c9e1c984b03ba5f37f978e85e7cd6c570ffed1da (patch) | |
tree | 0f347363c7a49a5c53ef271169d4d18b473a71a3 | |
parent | 36e30e6aa877fdeb7e7fc9eeb3bbe0839fb4d8ee (diff) | |
download | aur-c9e1c984b03ba5f37f978e85e7cd6c570ffed1da.tar.gz |
reinstall qq
-rw-r--r-- | PKGBUILD | 24 | ||||
-rwxr-xr-x | run.sh | 102 |
2 files changed, 117 insertions, 9 deletions
@@ -1,6 +1,7 @@ # Maintainer: Jingbei Li <i@jingbei.li> pkgname=deepin-qq-im pkgver=8.9.19983deepin18 +_qqver=8.9.3 pkgrel=2 pkgdesc="Tencent QQ Client on Deepin Wine" arch=("x86_64") @@ -8,15 +9,20 @@ url="http://www.deepin.com/" license=('custom') depends=('p7zip' 'wine' 'xorg-xwininfo' 'xdotool' 'wine-mono') _mirror="https://mirrors.tuna.tsinghua.edu.cn/deepin" -source=("$_mirror/pool/non-free/d/deepin.com.qq.im/deepin.com.qq.im_${pkgver}_i386.deb") -md5sums=('8ca84426078fd973c336ef6d68bf05cb') +source=("$_mirror/pool/non-free/d/deepin.com.qq.im/deepin.com.qq.im_${pkgver}_i386.deb" + "http://dldir1.qq.com/qqfile/qq/QQ${_qqver}/21149/QQ${_qqver}.exe" + "run.sh") +md5sums=('8ca84426078fd973c336ef6d68bf05cb' + '53cbda2c19734160c75af43a6107b759' + '1572a7c41ef720f94bfed13e0e002d05') package() { - cd ${srcdir} - tar -xvf data.tar.xz -C ${pkgdir} - cd ${pkgdir} - mv usr/local/share usr/share - rmdir usr/local - chmod -x usr/share/applications/deepin.com.qq.im.desktop - sed '30a\sed -i "s/deepin-wine/wine/" $1/drive_c/deepin/EnvInit.sh' -i opt/deepinwine/apps/Deepin-QQ/run.sh + cd ${srcdir} + tar -xvf data.tar.xz -C ${pkgdir} + cd ${pkgdir} + mv usr/local/share usr/share + rmdir usr/local + chmod -x usr/share/applications/deepin.com.qq.im.desktop + rm opt/deepinwine/apps/Deepin-QQ/run.sh + cp ${srcdir}/{run.sh,QQ$_qqver.exe} -i opt/deepinwine/apps/Deepin-QQ/ } diff --git a/run.sh b/run.sh new file mode 100755 index 000000000000..31b047bee47d --- /dev/null +++ b/run.sh @@ -0,0 +1,102 @@ +#!/bin/sh + +# Copyright (C) 2016 Deepin, Inc. +# +# Author: Li LongYu <lilongyu@linuxdeepin.com> +# Peng Hao <penghao@linuxdeepin.com> + +WINEPREFIX="$HOME/.deepinwine/Deepin-QQ" +APPDIR="/opt/deepinwine/apps/Deepin-QQ" +APPVER="8.9.19983deepin18" +QQVER="8.9.3" +APPTAR="files.7z" +PACKAGENAME="deepin.com.qq.im" + +HelpApp() +{ + echo " Extra Commands:" + echo " -r/--reset Reset app to fix errors" + echo " -e/--remove Remove deployed app files" + echo " -h/--help Show program help info" +} +CallApp() +{ + if [ ! -f $WINEPREFIX/reinstalled ] + then + touch $WINEPREFIX/reinstalled + env WINEPREFIX=$WINEPREFIX wine $APPDIR/QQ$QQVER.exe + else + bash "$WINEPREFIX/drive_c/deepin/EnvInit.sh" + fi +} +ExtractApp() +{ + mkdir -p "$1" + 7z x "$APPDIR/$APPTAR" -o"$1" + mv "$1/drive_c/users/@current_user@" "$1/drive_c/users/$USER" + sed -i "s#@current_user@#$USER#" $1/*.reg + sed -i "s/deepin-wine/wine/" $1/drive_c/deepin/EnvInit.sh +} +DeployApp() +{ + ExtractApp "$WINEPREFIX" + echo "$APPVER" > "$WINEPREFIX/PACKAGE_VERSION" +} +RemoveApp() +{ + rm -rf "$WINEPREFIX" +} +ResetApp() +{ + echo "Reset $PACKAGENAME....." + read -p "* Are you sure?(Y/N)" ANSWER + if [ "$ANSWER" = "Y" -o "$ANSWER" = "y" -o -z "$ANSWER" ]; then + EvacuateApp + DeployApp + CallApp + fi +} +UpdateApp() +{ + if [ -f "$WINEPREFIX/PACKAGE_VERSION" ] && [ "$(cat "$WINEPREFIX/PACKAGE_VERSION")" = "$APPVER" ]; then + return + fi + if [ -d "${WINEPREFIX}.tmpdir" ]; then + rm -rf "${WINEPREFIX}.tmpdir" + fi + ExtractApp "${WINEPREFIX}.tmpdir" + /opt/deepinwine/tools/updater -s "${WINEPREFIX}.tmpdir" -c "${WINEPREFIX}" -v + rm -rf "${WINEPREFIX}.tmpdir" + echo "$APPVER" > "$WINEPREFIX/PACKAGE_VERSION" +} +RunApp() +{ + if [ -d "$WINEPREFIX" ]; then + UpdateApp + else + DeployApp + fi + CallApp +} + +if [ -z $1 ]; then + RunApp + exit 0 +fi +case $1 in + "-r" | "--reset") + ResetApp + ;; + "-e" | "--remove") + RemoveApp + ;; + "-h" | "--help") + HelpApp + ;; + *) + echo "Invalid option: $1" + echo "Use -h|--help to get help" + exit 1 + ;; +esac +exit 0 |