zcode-ce-bin
LOW
maintainer wasdxl
0 votes
scanned 2026-09-21 19:35:51.541891
Why flagged
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
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.
PKGBUILD
1
# Maintainer: ZCode-CE <https://github.com/Zcode-CE/Zcode-CE/issues>
2
#
3
# 为什么直接安装官方构建的 pacman 包,而不是用系统 Electron 重新组装:
4
# 上游的 zcode-bin 走「下载 .deb + asar 解包 + 系统 Electron 启动」的路线,体积小,
5
# 但把 Electron 版本耦合给了发行版 —— Electron 大版本升级时应用可能起不来。
6
# 本包直接安装我们 CI 产出的 .pkg.tar.zst:它自带 Electron,与 Release 里的产物完全一致,
7
# 用户装到的就是我们构建并测试过的那一份。
8
#
9
# 该包由 electron-builder 用 fpm 生成,依赖、桌面文件、图标、chrome-sandbox 处理都已就绪,
10
# 因此这里不需要额外加工,只做下载与校验。
11
12
pkgname=zcode-ce-bin
13
_pkgname=ZCode-CE
14
pkgver=3.14.1.ce.1.fix.1
15
# 上游版本号形如 3.14.1-ce.1;pacman 的 pkgver 不允许连字符,改用点号。
16
# 与包内 .PKGINFO 的 3.14.1_ce.1 对应,语义相同。
17
pkgrel=1
18
pkgdesc="ZCode 的开源社区版:移除遥测、保留官方服务权益、开源文档与桌面自动化能力"
19
arch=('x86_64')
20
url="https://github.com/Zcode-CE/Zcode-CE"
21
license=('Apache-2.0')
22
# 依赖与包内 .PKGINFO 的 depend 列表一致(由 electron-builder 依据 Electron 运行时算出)。
23
# 本包自带 Electron,因此不依赖 electronNN。
24
depends=(
25
'gtk3'
26
'nss'
27
'libxss'
28
'libxtst'
29
'libnotify'
30
'alsa-lib'
31
'mesa'
32
'xdg-utils'
33
)
34
# chrome-sandbox 的 setuid 位只能在安装后设置,见 zcode-ce-bin.install。
35
install=zcode-ce-bin.install
36
# 产物已由上游构建与体积审计,不需要本地 strip。
37
options=('!strip')
38
39
# 上游的版本号与 tag 形如 3.14.1-ce.1(含连字符),而 pacman 的 pkgver 不允许连字符,
40
# 所以 pkgver 用点号形式 3.14.1.ce.1,下载地址仍按上游原样拼接。
41
_upstream_ver=3.14.1-ce.1.fix.1
42
_upstream_tag=v3.14.1-ce.1.fix.1
43
44
source=(
45
"${pkgname}-${pkgver}.pkg.tar.zst::https://github.com/Zcode-CE/Zcode-CE/releases/download/${_upstream_tag}/${_pkgname}-${_upstream_ver}-linux-x64.pkg.tar.zst"
46
)
47
sha256sums=('f5859de30921e538ab74092b60e74f1703f08a01550a071fa865f2f4665a1d98')
48
49
package() {
50
# 源就是我们自己的 pacman 包:直接解到 ${pkgdir} 即可,不需要再打包一次。
51
# 解包会把 opt/ 与 usr/share/ 下的文件(含 .desktop 与 hicolor 图标)原样落地。
52
tar -xf "${srcdir}/${pkgname}-${pkgver}.pkg.tar.zst" -C "${pkgdir}" \
53
--exclude=.PKGINFO --exclude=.INSTALL --exclude=.MTREE --exclude=.BUILDINFO
54
55
# 上游包的 .INSTALL 会创建 /usr/bin/zcode-ce 软链并处理 chrome-sandbox 权限,
56
# 但那个 .INSTALL 不随包内容复制(它是源包的元数据,不是文件)。这里补上可执行入口:
57
install -d "${pkgdir}/usr/bin"
58
ln -sf "/opt/${_pkgname}/zcode-ce" "${pkgdir}/usr/bin/zcode-ce"
59
60
# chrome-sandbox 的 setuid 位**不能**在这里设:makepkg 打包时会规范化权限并剥离
61
# setuid,chmod 4755 不会进入最终包(实测新包仍是 755)。它改由 .install 的
62
# post_install 处理,与上游 .deb 包的做法一致。
63
}
64
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-21 19:35:51 | Low | 1 |