summarylogtreecommitdiffstats
path: root/start.sh
diff options
context:
space:
mode:
authorsukanka2023-11-10 23:54:58 +0800
committersukanka2023-11-10 23:54:58 +0800
commit25459317f2375bdf068e3c06a89fbec7a418e8bd (patch)
treeae591e659d07c4df96413fbab37c2637e9a74916 /start.sh
parenta9f2147e1d10fc3965c85fbfea05a819f2e28cf7 (diff)
downloadaur-25459317f2375bdf068e3c06a89fbec7a418e8bd.tar.gz
update to 3.2.2-18394
Diffstat (limited to 'start.sh')
-rwxr-xr-xstart.sh53
1 files changed, 21 insertions, 32 deletions
diff --git a/start.sh b/start.sh
index 972e144cb1e0..3edd8209cc0b 100755
--- a/start.sh
+++ b/start.sh
@@ -1,8 +1,10 @@
#!/bin/bash
+current_ver="__CURRENT_VER__"
+QQ_HOTUPDATE_VERSION="__CURRENT_VER__"
function command_exists() {
- local command="$1"
- command -v "${command}" >/dev/null 2>&1
+ local command="$1"
+ command -v "${command}" >/dev/null 2>&1
}
function show_error_dialog() {
@@ -44,7 +46,7 @@ flags_file="${XDG_CONFIG_HOME}/qq-electron-flags.conf"
declare -a flags
if [[ -f "${flags_file}" ]]; then
- mapfile -t < "${flags_file}"
+ mapfile -t <"${flags_file}"
fi
for line in "${MAPFILE[@]}"; do
@@ -54,9 +56,6 @@ for line in "${MAPFILE[@]}"; do
done
QQ_HOTUPDATE_DIR="${QQ_APP_DIR}/versions"
-QQ_HOTUPDATE_VERSION="3.2.0-16449"
-QQ_PREVIOUS_VERSIONS=("2.0.1-429" "2.0.1-453" "2.0.2-510" "2.0.3-543" "3.0.0-565" "3.0.0-571" "3.1.0-9332" "3.1.0-9572" "3.1.1-11223" "3.1.2-12912" "3.1.2-13107" "3.2.0-16449" "3.2.0-16605" "3.2.0-16736" "3.2.1-16950" "3.2.1-17153" "3.2.1-17260" "3.2.1-17412" "3.2.1-17654" "3.2.1-17749" "3.2.1-17816" "3.2.2-18163")
-
if [ "${QQ_DOWNLOAD_DIR%*/}" == "${HOME}" ]; then
QQ_DOWNLOAD_DIR="${HOME}/Downloads"
@@ -64,31 +63,22 @@ if [ "${QQ_DOWNLOAD_DIR%*/}" == "${HOME}" ]; then
# 还是不自动建立为好
fi
-if [ ! -d "${QQ_APP_DIR}" ]; then mkdir -p "${QQ_APP_DIR}"; fi
-if [ ! -d "${QQ_HOTUPDATE_DIR}" ]; then mkdir -p "${QQ_HOTUPDATE_DIR}"; fi
-if [ ! -L "${QQ_HOTUPDATE_DIR}/${QQ_HOTUPDATE_VERSION}" ]; then
- # 删除 QQ 自动下载的热更新包,因为其中可能包含 libvips 等有问题的库
- rm -rf "${QQ_HOTUPDATE_DIR}/${QQ_HOTUPDATE_VERSION}"
-fi
-if [ ! -d "${QQ_HOTUPDATE_DIR}/${QQ_HOTUPDATE_VERSION}" ]; then
- # 将本包内的 app 链接到热更新文件夹下
- ln -sfd "/opt/QQ/resources/app" "${QQ_HOTUPDATE_DIR}/${QQ_HOTUPDATE_VERSION}"
-fi
+install -d "${QQ_HOTUPDATE_DIR}"
+ln -sfd "/opt/QQ/resources/app" "${QQ_HOTUPDATE_DIR}/${QQ_HOTUPDATE_VERSION}"
rm -rf "${QQ_HOTUPDATE_DIR}/"**".zip"
-# 处理 config.json
-if [ ! -f "${QQ_HOTUPDATE_DIR}/config.json" ]; then
+# 处理旧版本
+hot_upd_is_new=0
+for d in $(ls -d */); do
+ vercmp "${current_ver//_/-}" "${d%/}"
+ if [ $? -ne 0 ]; then
+ rm -rf "${d%/}"
+ else
+ hot_upd_is_new=1
+ fi
+done
+if [ $hot_upd_is_new = "0" ]; then
cp "/opt/QQ/workarounds/config.json" "${QQ_HOTUPDATE_DIR}/config.json"
-else
- for VERSION in ${QQ_PREVIOUS_VERSIONS[@]}; do
- if [ -e "${QQ_HOTUPDATE_DIR}/${VERSION}" ]; then
- rm -rf "${QQ_HOTUPDATE_DIR}/${VERSION}"
- fi
- if [ ! -z "$(grep -Rn "${VERSION}" "${QQ_HOTUPDATE_DIR}/config.json")" ]; then
- cp "/opt/QQ/workarounds/config.json" "${QQ_HOTUPDATE_DIR}/config.json"
- break
- fi
- done
fi
bwrap --new-session --cap-drop ALL --unshare-user-try --unshare-pid --unshare-cgroup-try \
@@ -126,13 +116,12 @@ bwrap --new-session --cap-drop ALL --unshare-user-try --unshare-pid --unshare-cg
--setenv IBUS_USE_PORTAL 1 \
--setenv QQNTIM_HOME "${QQ_APP_DIR}/QQNTim" \
--setenv LITELOADERQQNT_PROFILE "${QQ_APP_DIR}/LiteLoaderQQNT" \
- /opt/QQ/electron ${flags[@]} "$@" /opt/QQ/resources/app
+ /opt/QQ/electron "${flags[@]}" "$@" /opt/QQ/resources/app
# 移除无用崩溃报告和日志
# 如果需要向腾讯反馈 bug,请注释掉如下几行
-if [ -d "${QQ_APP_DIR}/crash_files" ]; then
- rm -rf "${QQ_APP_DIR}/crash_files"
-fi
+rm -rf ${QQ_APP_DIR}/crash_files
+touch ${QQ_APP_DIR}/crash_files
if [ -d "${QQ_APP_DIR}/log" ]; then
rm -rf "${QQ_APP_DIR}/log"
fi