mirror of
https://github.com/archlinux/aur.git
synced 2026-02-07 12:41:55 +01:00
64 lines
2.4 KiB
Bash
Executable file
64 lines
2.4 KiB
Bash
Executable file
#!/bin/bash
|
||
|
||
USER_RUN_DIR="/run/user/$(id -u)"
|
||
CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}"
|
||
FONTCONFIG_DIR="${CONFIG_DIR}/fontconfig"
|
||
QQ_APP_DIR="${CONFIG_DIR}/QQ"
|
||
DOWNLOAD_DIR="$(xdg-user-dir DOWNLOAD)"
|
||
NEW_DISPLAY="${DISPLAY}"
|
||
QQ_HOTUPDATE_DIR="${QQ_APP_DIR}/versions"
|
||
QQ_HOTUPDATE_VERSION="3.0.0-565"
|
||
QQ_PREVIOUS_VERSIONS=("2.0.1-429" "2.0.1-453" "2.0.2-510" "2.0.3-543")
|
||
|
||
if [ "${DOWNLOAD_DIR}" == "${HOME}" ]; then
|
||
DOWNLOAD_DIR="${HOME}/Downloads"
|
||
if [ ! -e "${DOWNLOAD_DIR}" ]; then mkdir -p "${DOWNLOAD_DIR}"; fi
|
||
fi
|
||
if [ ! -e "${QQ_APP_DIR}" ]; then mkdir -p "${QQ_APP_DIR}"; fi
|
||
if [ ! -e "${QQ_HOTUPDATE_DIR}/${QQ_HOTUPDATE_VERSION}" ]; then ln -sfd "/opt/QQ/resources/app" "${QQ_HOTUPDATE_DIR}/${QQ_HOTUPDATE_VERSION}"; fi
|
||
rm -rf "${QQ_HOTUPDATE_DIR}/"**".zip"
|
||
|
||
# 处理 config.json
|
||
if [ ! -f "${QQ_HOTUPDATE_DIR}/config.json" ]; 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 --die-with-parent --cap-drop ALL --unshare-user-try --unshare-pid --unshare-cgroup-try \
|
||
--symlink usr/lib /lib \
|
||
--symlink usr/lib64 /lib64 \
|
||
--symlink usr/bin /bin \
|
||
--ro-bind /usr /usr \
|
||
--ro-bind /opt /opt \
|
||
--dev-bind /dev /dev \
|
||
--ro-bind /sys /sys \
|
||
--ro-bind /etc/passwd /etc/passwd \
|
||
--ro-bind /etc/resolv.conf /etc/resolv.conf \
|
||
--ro-bind /etc/localtime /etc/localtime \
|
||
--proc /proc \
|
||
--dev-bind /run/dbus /run/dbus \
|
||
--bind "${USER_RUN_DIR}" "${USER_RUN_DIR}" \
|
||
--ro-bind-try /etc/fonts /etc/fonts \
|
||
--ro-bind-try "${FONTCONFIG_DIR}" "${FONTCONFIG_DIR}" \
|
||
--dev-bind /tmp /tmp \
|
||
--bind-try "${HOME}/.pki" "${HOME}/.pki" \
|
||
--ro-bind-try "${XAUTHORITY}" "${XAUTHORITY}" \
|
||
--bind-try "${DOWNLOAD_DIR}" "${DOWNLOAD_DIR}" \
|
||
--bind "${QQ_APP_DIR}" "${QQ_APP_DIR}" \
|
||
--setenv IBUS_USE_PORTAL 1 \
|
||
--setenv DISPLAY "${NEW_DISPLAY}" \
|
||
/opt/QQ/qq "$@"
|
||
|
||
# 移除无用崩溃报告和日志
|
||
# 如果需要向腾讯反馈 bug,请注释掉如下两行
|
||
rm -rf "${QQ_APP_DIR}/crash_files"
|
||
rm -rf "${QQ_APP_DIR}/nt_qq_"**"/nt_data/log/"*
|