summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorKirikaze Chiyuki2024-05-19 07:49:18 +0800
committerKirikaze Chiyuki2024-05-19 07:49:18 +0800
commit2e678b9fe8da24e51520014d8a1eb2c68b0b7196 (patch)
tree9a84c1cac4469e4f58ccf5b77eec08e287cb518f
parent027efb307b605b3d8506849530bbe3145ccbd0d6 (diff)
downloadaur-2e678b9fe8da24e51520014d8a1eb2c68b0b7196.tar.gz
[feat] add custom bwrap args
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD4
-rw-r--r--linuxqq-nt-bwrap.install3
-rwxr-xr-xstart.sh28
4 files changed, 27 insertions, 12 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 693287cf6288..645884313016 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = linuxqq-nt-bwrap
pkgdesc = New Linux QQ based on Electron, with bubblewrap sandbox and some tweaks
pkgver = 3.2.8_23873
- pkgrel = 1
+ pkgrel = 2
url = https://im.qq.com/linuxqq/index.shtml
install = linuxqq-nt-bwrap.install
arch = x86_64
@@ -34,7 +34,7 @@ pkgbase = linuxqq-nt-bwrap
source = start.sh
source = config.json
source = xdg-open.sh
- sha256sums = bf956210c3feef339efbec3a7663dcc061a3066f038d74b1e8bd3eede780d1a5
+ sha256sums = f52223dc193dccea1b43a654ba453169ca9467bc6f389400962fab9ee63e75ab
sha256sums = bb2ec0f104da4da7422d9b0f51c71d0ab38ed2a21764a7a643ab42689e098e4b
sha256sums = f1c778b5a8b23bc77fd8e5e89056fea07309794c9a44ec38134a176cf1f7b675
source_x86_64 = https://dldir1.qq.com/qqfile/qq/QQNT/96fbb21f/linuxqq_3.2.8-23873_amd64.deb
diff --git a/PKGBUILD b/PKGBUILD
index b9b93eff8221..68c8e4d3b655 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@ _update_pkgver=${_base_pkgver}
_md5=96fbb21f
pkgname=linuxqq-nt-bwrap
pkgver="${_update_pkgver//-/_}"
-pkgrel=1
+pkgrel=2
pkgdesc="New Linux QQ based on Electron, with bubblewrap sandbox and some tweaks"
arch=('x86_64' 'aarch64' 'loong64')
url='https://im.qq.com/linuxqq/index.shtml'
@@ -28,7 +28,7 @@ source_x86_64=("https://dldir1.qq.com/qqfile/qq/QQNT/${_md5}/linuxqq_${_base_pkg
source_aarch64=("https://dldir1.qq.com/qqfile/qq/QQNT/${_md5}/linuxqq_${_base_pkgver}_arm64.deb")
source_loong64=("https://dldir1.qq.com/qqfile/qq/QQNT/${_md5}/linuxqq_${_base_pkgver}_loongarch64.deb")
source=('start.sh' 'config.json' 'xdg-open.sh')
-sha256sums=('bf956210c3feef339efbec3a7663dcc061a3066f038d74b1e8bd3eede780d1a5'
+sha256sums=('f52223dc193dccea1b43a654ba453169ca9467bc6f389400962fab9ee63e75ab'
'bb2ec0f104da4da7422d9b0f51c71d0ab38ed2a21764a7a643ab42689e098e4b'
'f1c778b5a8b23bc77fd8e5e89056fea07309794c9a44ec38134a176cf1f7b675')
sha256sums_x86_64=('d23e212d26cf80a40e3eab44499aa76586eade3fc260d1b9f171294fb507393f')
diff --git a/linuxqq-nt-bwrap.install b/linuxqq-nt-bwrap.install
index d7d3570df130..3694ed9be238 100644
--- a/linuxqq-nt-bwrap.install
+++ b/linuxqq-nt-bwrap.install
@@ -10,7 +10,8 @@ blue="${bold}$(tput setaf 4)"
yellow="${bold}$(tput setaf 3)"
post_install() {
- note "要传递给 electron 的自定义参数应该写在: ~/.config/qq-electron-flags.conf"
+ note "要传递给 bwrap 的自定义参数应该写在 ~/.config/qq-bwrap-flags.conf,可在此文件中设置自定义挂载目录。"
+ note "要传递给 electron 的自定义参数应该写在 ~/.config/qq-electron-flags.conf。"
note "如果要在 QQ 中下载文件,请先在「设置」->「存储管理」中把下载文件夹更改为系统的“下载”/“Downloads”文件夹。"
}
diff --git a/start.sh b/start.sh
index eb7d4d9e23a6..25e84cabdb41 100755
--- a/start.sh
+++ b/start.sh
@@ -43,16 +43,29 @@ fi
# 从 flags 文件中加载参数
set -euo pipefail
-flags_file="${XDG_CONFIG_HOME}/qq-electron-flags.conf"
-declare -a flags
+electron_flags_file="${XDG_CONFIG_HOME}/qq-electron-flags.conf"
+declare -a electron_flags
-if [[ -f "${flags_file}" ]]; then
- mapfile -t <"${flags_file}"
+if [[ -f "${electron_flags_file}" ]]; then
+ mapfile -t ELECTRON_FLAGS_MAPFILE <"${electron_flags_file}"
fi
-for line in "${MAPFILE[@]}"; do
+for line in "${ELECTRON_FLAGS_MAPFILE[@]}"; do
if [[ ! "${line}" =~ ^[[:space:]]*#.* ]]; then
- flags+=("${line}")
+ electron_flags+=("${line}")
+ fi
+done
+
+bwrap_flags_file="${XDG_CONFIG_HOME}/qq-bwrap-flags.conf"
+declare -a bwrap_flags
+
+if [[ -f "${bwrap_flags_file}" ]]; then
+ mapfile -t BWRAP_FLAGS_MAPFILE <"${bwrap_flags_file}"
+fi
+
+for line in "${BWRAP_FLAGS_MAPFILE[@]}"; do
+ if [[ ! "${line}" =~ ^[[:space:]]*#.* ]]; then
+ bwrap_flags+=("${line}")
fi
done
@@ -126,7 +139,8 @@ 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
+ "${bwrap_flags[@]}" \
+ /opt/QQ/electron "${electron_flags[@]}" "$@" /opt/QQ/resources/app
# 移除无用崩溃报告和日志
# 如果需要向腾讯反馈 bug,请注释掉如下几行