Skip to content

Commit d5967fa

Browse files
Merge pull request #178 from loss-and-quick/feat/desktop-rpm-bundle
feat(desktop): build rpm bundle
2 parents 1ac11e1 + 7907be5 commit d5967fa

4 files changed

Lines changed: 13 additions & 9 deletions

File tree

.github/workflows/nightly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ jobs:
226226
dir="target/${{ matrix.target }}/release/bundle"
227227
mkdir -p dist
228228
find "$dir" -type f \
229-
\( -name '*.deb' -o -name '*.AppImage' -o -name '*-setup.exe' -o -name '*.msi' \) \
229+
\( -name '*.deb' -o -name '*.rpm' -o -name '*.AppImage' -o -name '*-setup.exe' -o -name '*.msi' \) \
230230
-exec cp {} dist/ \;
231231
ls -la dist
232232

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ jobs:
323323
# here), so the name lives in one place — same as nightly.yml.
324324
files: build/*.zip
325325

326-
# ── Desktop installers (Linux deb/AppImage, Windows NSIS/MSI + portable zip) →
326+
# ── Desktop installers (Linux deb/rpm/AppImage, Windows NSIS/MSI + portable zip) →
327327
# uploaded to the same release. Cores are fetched per-target into
328328
# src-tauri/binaries/ and bundled via the externalBin overlay. AppImage GPG
329329
# signing is opt-in (active only when the secret is set). macOS isn't shipped
@@ -427,7 +427,7 @@ jobs:
427427
dir="target/${{ matrix.target }}/release/bundle"
428428
mkdir -p dist
429429
find "$dir" -type f \
430-
\( -name '*.deb' -o -name '*.AppImage' -o -name '*-setup.exe' -o -name '*.msi' -o -name '*.sig' \) \
430+
\( -name '*.deb' -o -name '*.rpm' -o -name '*.AppImage' -o -name '*-setup.exe' -o -name '*.msi' -o -name '*.sig' \) \
431431
-exec cp {} dist/ \;
432432
ls -la dist
433433
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#!/bin/sh
22
# Grant the data-path helper its Linux file capabilities at install time, so the GUI
3-
# can launch it directly — no pkexec prompt — on a deb install. The cap set mirrors
4-
# the helper's in-code keep-set (see src/desktop/capabilities.rs) and the NixOS
5-
# `security.wrappers` string. Non-deb installs do the same once at first run via a
3+
# can launch it directly — no pkexec prompt — on a packaged install (deb/rpm). The cap
4+
# set mirrors the helper's in-code keep-set (see src/desktop/capabilities.rs) and the
5+
# NixOS `security.wrappers` string. Other installs do the same once at first run via a
66
# `pkexec setcap` (see privhelper::spawn); NixOS uses the wrapper.
77
#
88
# Best-effort: a setcap failure (no libcap, a filesystem without xattrs) leaves the
@@ -13,7 +13,7 @@ caps="cap_net_admin,cap_net_raw,cap_chown,cap_dac_override+ep"
1313

1414
if command -v setcap >/dev/null 2>&1; then
1515
# The helper ships as a tauri sidecar beside the GUI; cover both layouts tauri
16-
# may use for the deb (next to the binary, or under the product libdir).
16+
# may use (next to the binary, or under the product libdir).
1717
for helper in /usr/bin/kasumi-helper "/usr/lib/Kasumi Proxy/kasumi-helper"; do
1818
if [ -f "$helper" ]; then
1919
setcap "$caps" "$helper" || true

src-tauri/tauri.conf.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
"bundle": {
2626
"active": true,
2727
"createUpdaterArtifacts": true,
28-
"targets": ["deb", "appimage", "nsis", "msi"],
28+
"targets": ["deb", "rpm", "appimage", "nsis", "msi"],
2929
"category": "Utility",
3030
"shortDescription": "System-wide transparent proxy (Xray-core / sing-box).",
3131
"longDescription": "Kasumi Proxy routes all traffic through Xray-core or sing-box with a native TUN and policy routing, managed from a clean React UI.",
@@ -42,7 +42,11 @@
4242
"linux": {
4343
"deb": {
4444
"depends": ["libwebkit2gtk-4.1-0", "libgtk-3-0", "libayatana-appindicator3-1"],
45-
"postInstallScript": "deb/postinst.sh"
45+
"postInstallScript": "linux/postinst.sh"
46+
},
47+
"rpm": {
48+
"depends": ["webkit2gtk4.1", "gtk3", "libayatana-appindicator-gtk3"],
49+
"postInstallScript": "linux/postinst.sh"
4650
}
4751
},
4852
"windows": {

0 commit comments

Comments
 (0)