feat(packaging): add deb and rpm desktop targets#4069
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ApprovabilityVerdict: Needs human review This PR adds new Linux packaging targets (deb/rpm), introducing new build capability. While the changes are well-tested packaging configuration rather than runtime code, new features adding capability warrant human review, especially from an author unfamiliar with this build infrastructure. You can customize Macroscope's approvability policy. Learn more. |
Dismissing prior approval to re-evaluate 03b684c
Install a t3 launcher in DEB and RPM artifacts that runs the bundled server through Electron's Node mode, while preserving t3code as the desktop command. Cover both package mappings and production/nightly install paths with tests.
Dismissing prior approval to re-evaluate bfd0201
Pin electron-builder's standard RPM requirements and add alsa-lib, libsecret, and mesa-libgbm so desktop and headless commands work on minimal installations without relying on weak dependencies.
|
any movement on accepting this? |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f5629f8. Configure here.
| "libuuid1", | ||
| "libsecret-1-0", | ||
| "libasound2t64 | libasound2", | ||
| ] as const; |
There was a problem hiding this comment.
Debian deps omit GBM library
Medium Severity
New Debian packages set deb.depends from DEB_DEPENDENCIES, which replaces electron-builder’s generated dependency set rather than merging with it. RPM_DEPENDENCIES includes mesa-libgbm, but the Debian list has no matching GBM package (for example libgbm1), so installs on minimal Debian/Ubuntu systems can pass dependency checks yet fail at runtime when Electron/Chromium loads libgbm.so.1.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit f5629f8. Configure here.


What Changed
Added additional outputs to packaging script.
Why
Allows output of 2 linux packaging systems Deb and RPM
issue #4030
Checklist
Note
Low Risk
Changes are confined to the desktop packaging script and npm scripts; no runtime app or auth logic is modified.
Overview
Adds Linux
.deband.rpmdesktop packaging alongside the existing AppImage flow, with newdist:desktop:deb/dist:desktop:rpmscripts writing artifacts topackaging-output/.electron-builder Linux config now sets distro metadata (maintainer, vendor, synopsis,
syncDesktopName) and target-specificdependslists for Debian and RPM. DEB/RPM packages also ship a generated/usr/bin/t3headless launcher (ELECTRON_RUN_AS_NODE+ serverbin.mjs), with install paths keyed off production vs nightly product names under/opt/.Staged
package.jsonfor builds gains homepage, license,desktopName, and clearer description/author for package managers.Reviewed by Cursor Bugbot for commit f5629f8. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add DEB and RPM desktop build targets for Linux packaging
dist:desktop:debanddist:desktop:rpmnpm scripts in package.json that invoke scripts/build-desktop-artifact.ts with the appropriate Linux target and output topackaging-output/.DEB_DEPENDENCIES,RPM_DEPENDENCIES) and enriched package metadata (maintainer, vendor, synopsis, homepage, license).renderLinuxHeadlessLauncherfunction that generates a POSIX shell script settingELECTRON_RUN_AS_NODE=1and executing the desktop binary; this script is installed to/usr/bin/t3in DEB/RPM packages.quotePosixShellArgumentutility to safely quote shell arguments used in the launcher script.Macroscope summarized f5629f8.