dsh-desktop-linux-bin

LOW
maintainer lingdianshiren 1 votes scanned 2026-10-06 00:13:36.889724
View on AUR
Why flagged

Package installs a prebuilt Debian package from a GitHub release, but the source is transparent, checksummed, and repackaged without remote code execution or obfuscation; worst case is supply-chain risk from unverified upstream build, not active exploitation.

Triggered rules

Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Low AI review llm_review

An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 95%): Package installs a prebuilt Debian package from a GitHub release, but the source is transparent, checksummed, and repackaged without remote code execution or obfuscation; worst case is supply-chain risk from unverified upstream build, not active exploitation.

PKGBUILD

1# Maintainer: lingdianshiren <ldsrwu@foxmail.com>
2#
3# 预构建包:直接取 ffyfox/dsh-desktop-linux 的 Linux 产物(deb)重新封装,本包不构建任何东西。
4# 上游 deepseek-ai/deepseek-harness 只发布 macOS/Windows 桌面版(apps/desktop/README.md:232
5# 写明 "Linux is not a supported Desktop release target"),Linux 产物由该项目打补丁构建后发布。
6#
7# 选 deb 而非同时提供的 AppImage/rpm:AppImage 需要 FUSE 或自解压才能使用,且 electron-builder
8# 在同时请求 deb 与 AppImage 时会遍历两遍根目录,导致 AppImage 的 usr/bin 步骤被丢掉;rpm 带
9# JVM 专用的 LZMA 过滤,需要 rpm 特有的处理。deb 是普通的 ar 归档,载荷固定,也是三者中唯一能
10# 查看自身元数据与维护者脚本的一份。
11#
12# 载荷里只有两个文件写着产物自己的安装前缀(.desktop 与 AppArmor profile),按原样安装、只改写
13# 这一处字面路径;其余文件原封不动使用。
14#
15# 载荷自带 Electron 44.4.5、Node 24.21.0、CPython 3.12.14、Office Python wheels 与 pnpm,
16# 运行时除下列共享库外不需要系统提供任何东西。Electron 的 Fuses 已禁用 NODE_OPTIONS 与
17# ELECTRON_RUN_AS_NODE。
18
19pkgname=dsh-desktop-linux-bin
20pkgver=0.2.0rc.2
21pkgrel=1
22pkgdesc='Official DeepSeek Harness desktop packaging ported to Linux (prebuilt)'
23arch=('x86_64')
24url='https://github.com/ffyfox/dsh-desktop-linux'
25license=('MIT')
26# 解释器与共享库。产物在 GitHub 的 ubuntu-latest 上从上游源码树构建,其 deb control 列的是同一
27# 组依赖的 Debian 名(libgtk-3-0、libnotify4、libnss3、libxss1、libxtst6、xdg-utils、
28# libatspi2.0-0、libuuid1、libsecret-1-0)。alsa-lib 与 dbus 由 Debian 的传递闭包带进来,这里是
29# 直接的 ldd 命中。util-linux-libs 提供 libblkid/libmount。libxcrypt-compat 提供 libcrypt.so.1,
30# 捆绑 CPython 的 _crypt 模块仍然链接它。libdbusmenu-glib 是 dlopen 而非 NEEDED:缺了它托盘图标
31# 还在、右键菜单是空的,即没有退出入口。
32depends=('glibc' 'gtk3' 'alsa-lib' 'at-spi2-core' 'dbus' 'libdbusmenu-glib' 'libnotify'
33 'libsecret' 'libxss' 'libxtst' 'nss' 'util-linux-libs' 'xdg-utils'
34 'libxcrypt-compat')
35# 目录选择器在运行时查找原生对话框助手,两者都没装时回落到 Electron 自带对话框。
36optdepends=('zenity: native directory dialogs on GTK desktops'
37 'kdialog: native directory dialogs on Plasma')
38# 与本包同上游桌面端的 deepseek-harness-desktop 会装同样的两个与包名无关的路径
39# (/usr/bin/deepseek-harness 与 hicolor 的 deepseek-harness.svg),pacman 遇到已被其他包占用的
40# 文件会直接拒装,声明冲突让它先提示。
41conflicts=('deepseek-harness-desktop')
42# 预构建载荷:不能 strip(Electron 自身的文件无法重新打包),1.1 GiB 的自带运行时也不需要 debug 包。
43options=('!strip' '!debug' '!emptydirs')
44install="$pkgname.install"
45
46_debrel=v0.2.0rc2
47_debname=deepseek-harness-0.2.0-rc.2-linux-amd64-unsigned.deb
48# 产物自身的安装前缀,以及本包的安装前缀。
49_artprefix="/opt/DeepSeek Harness"
50_pkgprefix="/opt/$pkgname"
51
52source=("$pkgname-$pkgver.tar.gz::https://github.com/ffyfox/dsh-desktop-linux/releases/download/$_debrel/$_debname"
53 'LICENSE')
54sha256sums=('d3f3c51855ad41c9ebeee754ebdb2a80f23282aba4b08b17956dbfc774dcaab0'
55 'ebb4f09972aee8608be255debaf78451a68e95c290f55c240dec2ecfa16ea6be')
56
57package() {
58 cd "$srcdir"
59
60 # makepkg 的 libalpm 读取器是 bsdtar,它遍历 ar 归档并把成员放到 $srcdir,所以 data.tar.xz
61 # 已经在这里。只解它:载荷才是要安装的内容;control.tar.xz 是产物自己的 Debian 元数据,本包
62 # 不复用(它的 .desktop 与 AppArmor profile 在下面处理,postinst 逻辑落在 .install 文件里)。
63 bsdtar -xf data.tar.xz
64
65 install -d "$pkgdir$_pkgprefix"
66 cp -a "opt/DeepSeek Harness/." "$pkgdir$_pkgprefix/"
67
68 install -d "$pkgdir/usr/bin"
69 ln -s "$_pkgprefix/deepseek-harness" "$pkgdir/usr/bin/deepseek-harness"
70
71 # 载荷里写着安装前缀的两个文件,按原样取出并改写该字面路径。从零生成会在上游下次改动入口或
72 # AppArmor profile 时产生偏差。
73 sed -i "s|$_artprefix|$_pkgprefix|g" "$pkgdir$_pkgprefix/resources/apparmor-profile"
74 install -Dm644 "$pkgdir$_pkgprefix/resources/apparmor-profile" \
75 "$pkgdir/etc/apparmor.d/deepseek-harness"
76 rm -f "$pkgdir$_pkgprefix/resources/apparmor-profile"
77
78 sed -i "s|$_artprefix|$_pkgprefix|g" "usr/share/applications/deepseek-harness.desktop"
79 install -Dm644 "usr/share/applications/deepseek-harness.desktop" \
80 "$pkgdir/usr/share/applications/deepseek-harness.desktop"
81
82 install -Dm644 "usr/share/icons/hicolor/scalable/apps/deepseek-harness.svg" \
83 "$pkgdir/usr/share/icons/hicolor/scalable/apps/deepseek-harness.svg"
84
85 install -Dm644 "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
86
87 chmod 0755 "$pkgdir$_pkgprefix/chrome-sandbox"
88}
89

Scan history

Scanned at (UTC)SeverityRules
2026-10-06 00:13:36 Low 2
2026-10-05 23:40:58 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion