Visitar URL original
[client] Declare GTK4/WebKitGTK runtime deps for the Linux UI packages by pappz · Pull Request #6893 · netbirdio/netbird · GitHub
Skip to content

[client] Declare GTK4/WebKitGTK runtime deps for the Linux UI packages - #6893

Merged
pappz merged 3 commits into
mainfrom
fix/ui-dependencies
Aug 3, 2026
Merged

pappz merged 3 commits into
mainfrom
fix/ui-dependencies

Conversation

@pappz

@pappz pappz commented Jul 25, 2026 •

Copy link
Copy Markdown
Collaborator

The 0.75.0 UI is built against GTK 4.14 (Ubuntu 24.04 runner) and Wails v3 calls gdk_monitor_get_scale (GTK 4.14+) unconditionally, but the deb/rpm packages only depended on netbird. On distros shipping an older GTK4 (Ubuntu 22.04, RHEL 9, openSUSE Leap 15.6) the package installed fine and then died at startup with a symbol lookup error (#6890).

Declare the real runtime dependencies so package managers reject the install up front instead:

  • deb: libgtk-4-1 (>= 4.14) and libwebkitgtk-6.0-4
  • rpm: rich (boolean) dependencies that accept both the Fedora/RHEL and the SUSE package names, with the 4.14 floor: (gtk4 >= 4.14 or libgtk-4-1 >= 4.14) (webkitgtk6.0 or libwebkitgtk-6_0-4)

Rich deps are supported by dnf and zypper (RPM 4.13+); the pinned goreleaser v2.16.0 -> nfpm v2.46.3 -> rpmpack v0.7.1 chain passes the parenthesized form through verbatim. On RHEL/Alma/Rocky 10 the webkitgtk6.0 package comes from EPEL, which becomes an install prerequisite for the UI.

The wails3 packaging config (client/ui/build/linux/nfpm/nfpm.yaml, local dev packaging only) is kept in sync.

Describe your changes

Issue ticket number and link

Stack

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)
  • This change does not modify the public API, gRPC protocols, functionality behavior, CLI / service flags, or introduce a new feature — OR I have discussed it with the NetBird team beforehand (link the issue / Slack thread in the description). See CONTRIBUTING.md.

By submitting this pull request, you confirm that you have read and agree to the terms of the Contributor License Agreement.

Documentation

Select exactly one:

  • I added/updated documentation for this change
  • Documentation is not needed for this change (explain why)

Docs PR URL (required if "docs added" is checked)

Paste the PR link from https://github.com/netbirdio/docs here:

https://github.com/netbirdio/docs/pull/__


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Summary by CodeRabbit

  • Bug Fixes
    • Improved Linux package installation compatibility by requiring supported GTK 4.14 and WebKit components.
    • Updated Debian and RPM packages to recognize equivalent platform-specific library names.
    • Refined Linux package metadata to support installation across a wider range of distributions.

The 0.75.0 UI is built against GTK 4.14 (Ubuntu 24.04 runner) and Wails v3
calls gdk_monitor_get_scale (GTK 4.14+) unconditionally, but the deb/rpm
packages only depended on netbird. On distros shipping an older GTK4
(Ubuntu 22.04, RHEL 9, openSUSE Leap 15.6) the package installed fine and
then died at startup with a symbol lookup error (#6890).

Declare the real runtime dependencies so package managers reject the
install up front instead:

- deb: libgtk-4-1 (>= 4.14) and libwebkitgtk-6.0-4
- rpm: rich (boolean) dependencies that accept both the Fedora/RHEL and
  the SUSE package names, with the 4.14 floor:
    (gtk4 >= 4.14 or libgtk-4-1 >= 4.14)
    (webkitgtk6.0 or libwebkitgtk-6_0-4)

Rich deps are supported by dnf and zypper (RPM 4.13+); the pinned
goreleaser v2.16.0 -> nfpm v2.46.3 -> rpmpack v0.7.1 chain passes the
parenthesized form through verbatim. On RHEL/Alma/Rocky 10 the webkitgtk6.0
package comes from EPEL, which becomes an install prerequisite for the UI.

The wails3 packaging config (client/ui/build/linux/nfpm/nfpm.yaml, local
dev packaging only) is kept in sync.
@coderabbitai

coderabbitai Bot commented Jul 25, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 3e71ed89-5803-4ef4-ad9e-df2c68d61ed2

📥 Commits

Reviewing files that changed from the base of the PR and between e658123 and 8dfd52c.

📒 Files selected for processing (1)
  • .goreleaser_ui.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • .goreleaser_ui.yaml

📝 Walkthrough

Walkthrough

Linux packaging metadata now specifies NetBird 0.75.0 or later, GTK 4.14 or later, and compatible WebKit GTK dependencies across Debian, RPM, and NFPM configurations.

Changes

Linux package dependencies

Layer / File(s) Summary
Package dependency declarations
.goreleaser_ui.yaml, client/ui/build/linux/nfpm/nfpm.yaml
Debian, RPM, and NFPM dependencies specify NetBird, GTK, and WebKit GTK version requirements and package alternatives.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: mlsmaycon

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description explains the bug and changes, but it omits the required issue link and does not explain why documentation is unnecessary. Add a link for issue #6890 and explain why documentation is not needed for this packaging-only fix.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: adding GTK4 and WebKitGTK runtime dependencies for Linux UI packages.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/ui-dependencies

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Jul 25, 2026 •

Copy link
Copy Markdown

Release artifacts

Built for PR head 8dfd52c in workflow run #17396.

Artifact Link
All release artifacts Download
Linux packages Download
Windows packages Download
macOS packages Download
UI artifacts Download
UI macOS artifacts Download

GHCR images (amd64)

This comment is updated by the Release workflow. Artifact links expire according to the workflow retention policy.

@pappz
pappz requested a review from mlsmaycon July 28, 2026 15:41
@sonarqubecloud

sonarqubecloud Bot commented Aug 3, 2026

Copy link
Copy Markdown

@pappz
pappz merged commit 6044663 into main Aug 3, 2026
46 of 47 checks passed
@pappz
pappz deleted the fix/ui-dependencies branch August 3, 2026 08:21
@fosskar fosskar Bot mentioned this pull request Aug 8, 2026
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