Linux Packaging
August 19, 2026 ยท View on GitHub
Linux packages use x64 and ARM64 better-sqlite3 prebuilds from the pinned
CherryHQ/cherry-studio-better-sqlite3 GitHub Release.
Build
# Build both architectures
pnpm build:linux
# Build one architecture
pnpm build:linux:x64
pnpm build:linux:arm64
The first build requires network access to populate the Git-ignored scripts/linux-native/prebuilt/ cache. Cherry
Studio packaging itself does not require Docker or QEMU; those tools are only needed when publishing new prebuilds
from the separate repository.
Packaging Flow
beforePackdownloads the target artifact and verifies its pinned Release checksum.- electron-builder performs its normal native dependency rebuild.
afterPackverifies the Electron ABI, module version, ELF architecture, checksum, and maximum GLIBC/GLIBCXX/CXXABI requirements before replacing the packagedbetter_sqlite3.node.
A missing, stale, or incompatible artifact stops packaging.
Updating the Prebuild
When Electron or better-sqlite3 changes:
- Publish a verified Release from the prebuild repository.
- Update
scripts/linux-native/release.jsonwith the exact tag, filenames, metadata, and SHA-256 values.
Never point application builds at a floating latest Release.