Skip to content

feat(gui-client): polish Linux bundling - #9181

Merged
thomaseizinger merged 19 commits into
mainfrom
chore/use-tauri-rpm
May 20, 2025
Merged

feat(gui-client): polish Linux bundling#9181
thomaseizinger merged 19 commits into
mainfrom
chore/use-tauri-rpm

Conversation

@thomaseizinger

@thomaseizinger thomaseizinger commented May 19, 2025

Copy link
Copy Markdown
Member

Tauri's deb and rpm bundler have support for configuring maintainer scripts. We can therefore just use those instead of tearing apart the deb file that it creates and rebuilding it ourselves.

Our rpm packaging is currently completely broken as well. I couldn't get it to work on CentOS 9 at all due to missing dependencies, likely introduced by our move to Tauri v2. It installs fine on CentOS 10 though, assuming that the user has the EPEL repository installed which provides the WebView dependency. I extended the docs to reflect this.

Hence, with this PR, we drop support for CentOS 9 and now require CentOS 10. This allows us to remove a lot of cruft from our bundling process and instead entirely rely on the Tauri provided bundler.

Lastly, for consistency with other platforms, the name of the application in places like app drawers has been changed from "Firezone Client" to just "Firezone".

@vercel

vercel Bot commented May 19, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
firezone ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 20, 2025 5:39am

@thomaseizinger
thomaseizinger changed the base branch from chore/use-tauri-deb to main May 19, 2025 06:53
@thomaseizinger thomaseizinger changed the title refactor(gui-client): use Tauri's rpm bundler refactor(gui-client): use Tauri's deb and rpm bundler May 19, 2025
@thomaseizinger

This comment was marked as outdated.

@thomaseizinger

This comment was marked as outdated.

@thomaseizinger thomaseizinger changed the title refactor(gui-client): use Tauri's deb and rpm bundler feat(gui-client): polish Linux bundling May 20, 2025
Comment thread rust/gui-client/src-tauri/tauri.conf.json Outdated
Comment on lines -68 to -73
5. `sudo systemctl enable firezone-client-tunnel.service` (See
https://www.freedesktop.org/software/systemd/man/latest/systemd.preset.html,
"It is not recommended to ship preset files within the respective software
packages implementing the units". The Fedora family of distros also seem to
have their own policy that installing a service should not auto-start or
enable it.)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've dropped this for consistency with our Debian package. Our service just idles anyway unless a GUI connects so this doesn't seem like a big problem to me and will make things easier for most users.

Comment thread website/src/app/kb/client-apps/linux-gui-client/readme.mdx Outdated
Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
Comment thread website/src/app/kb/client-apps/linux-gui-client/readme.mdx Outdated
Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
"/usr/lib/sysusers.d/firezone-client-tunnel.conf": "./deb_files/sysusers.conf"
"/usr/lib/systemd/system/firezone-client-tunnel.service": "./linux_package/firezone-client-tunnel.service",
"/usr/lib/sysusers.d/firezone-client-tunnel.conf": "./linux_package/sysusers.conf",
"/usr/bin/firezone-client-tunnel": "../../target/release/firezone-client-tunnel"

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tunnel service binary is now embedded as a regular file. This means the bundling will only work for release builds but we never make bundles of the debug build anyway.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Comment thread scripts/build/tauri-rename-linux.sh Outdated
@thomaseizinger
thomaseizinger requested a review from jamilbk May 20, 2025 05:25
@thomaseizinger
thomaseizinger marked this pull request as ready for review May 20, 2025 05:25
@thomaseizinger

Copy link
Copy Markdown
Member Author

Tested both deb and rpm packages on a real installation, works flawlessly 🎉

@thomaseizinger
thomaseizinger enabled auto-merge May 20, 2025 07:56

@jamilbk jamilbk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for handling this!

"/usr/lib/sysusers.d/firezone-client-tunnel.conf": "./deb_files/sysusers.conf"
"/usr/lib/systemd/system/firezone-client-tunnel.service": "./linux_package/firezone-client-tunnel.service",
"/usr/lib/sysusers.d/firezone-client-tunnel.conf": "./linux_package/sysusers.conf",
"/usr/bin/firezone-client-tunnel": "../../target/release/firezone-client-tunnel"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@thomaseizinger
thomaseizinger added this pull request to the merge queue May 20, 2025
Merged via the queue into main with commit 042d03a May 20, 2025
@thomaseizinger
thomaseizinger deleted the chore/use-tauri-rpm branch May 20, 2025 15:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants