mirror of
https://github.com/netbirdio/netbird.git
synced 2026-08-24 16:41:30 +02:00
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 <!-- branch-stack --> ### Checklist - [x] 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](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTING.md#discuss-changes-with-the-netbird-team-first). > By submitting this pull request, you confirm that you have read and agree to the terms of the [Contributor License Agreement](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT.md). ## Documentation Select exactly one: - [ ] I added/updated documentation for this change - [x] 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/__ <!-- codesmith:footer --> --- <a href="https://app.blacksmith.sh/netbirdio/codesmith/netbird/pr/6893"><picture><source media="(prefers-color-scheme: dark)" srcset="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg"><source media="(prefers-color-scheme: light)" srcset="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-light-v2.svg"><img alt="View with [code]smith" src="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg"></picture></a> <a href="https://backend.blacksmith.sh/track/enable-autofix?expires=1787575510&installation_model_id=427504&pr_number=6893&repository=netbirdio%2Fnetbird&return_to=https%3A%2F%2Fgithub.com%2Fnetbirdio%2Fnetbird%2Fpull%2F6893&signature=93b4fc344fe4f4e6b781887386bfbae1a309007205c7b2ab061b58d89e29b9a8"><picture><source media="(prefers-color-scheme: dark)" srcset="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-light.svg"><img alt="Autofix with [code]smith" src="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg"></picture></a> <sup>Need help on this PR? Tag <code>@codesmith-bot</code> with what you need. Autofix is disabled.</sup> <!-- codesmith:autofix:disabled --> <!-- /codesmith:footer --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## 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. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
71 lines
1.8 KiB
YAML
71 lines
1.8 KiB
YAML
# Feel free to remove those if you don't want/need to use them.
|
|
# Make sure to check the documentation at https://nfpm.goreleaser.com
|
|
#
|
|
# The lines below are called `modelines`. See `:help modeline`
|
|
|
|
name: "netbird-ui"
|
|
arch: ${GOARCH}
|
|
platform: "linux"
|
|
version: "0.0.1"
|
|
section: "default"
|
|
priority: "extra"
|
|
maintainer: ${GIT_COMMITTER_NAME} <${GIT_COMMITTER_EMAIL}>
|
|
description: "NetBird desktop client"
|
|
vendor: "NetBird"
|
|
homepage: "https://wails.io"
|
|
license: "MIT"
|
|
release: "1"
|
|
|
|
contents:
|
|
- src: "./bin/netbird-ui"
|
|
dst: "/usr/local/bin/netbird-ui"
|
|
- src: "./build/appicon.png"
|
|
dst: "/usr/share/icons/hicolor/128x128/apps/netbird-ui.png"
|
|
- src: "./build/linux/netbird-ui.desktop"
|
|
dst: "/usr/share/applications/netbird-ui.desktop"
|
|
|
|
# Default dependencies for the GTK4 + WebKitGTK 6.0 stack (Ubuntu 24.04+ / Debian 13+)
|
|
depends:
|
|
- libgtk-4-1 (>= 4.14)
|
|
- libwebkitgtk-6.0-4
|
|
- xdg-utils
|
|
|
|
# Distribution-specific overrides for different package formats
|
|
overrides:
|
|
# RPM packages for Fedora / RHEL / AlmaLinux / Rocky Linux / openSUSE
|
|
rpm:
|
|
depends:
|
|
- (gtk4 >= 4.14 or libgtk-4-1 >= 4.14)
|
|
- (webkitgtk6.0 or libwebkitgtk-6_0-4)
|
|
- xdg-utils
|
|
|
|
# Arch Linux packages
|
|
archlinux:
|
|
depends:
|
|
- gtk4
|
|
- webkitgtk-6.0
|
|
- xdg-utils
|
|
|
|
# scripts section to ensure desktop database is updated after install
|
|
scripts:
|
|
postinstall: "./build/linux/nfpm/scripts/postinstall.sh"
|
|
# You can also add preremove, postremove if needed
|
|
# preremove: "./build/linux/nfpm/scripts/preremove.sh"
|
|
# postremove: "./build/linux/nfpm/scripts/postremove.sh"
|
|
|
|
# replaces:
|
|
# - foobar
|
|
# provides:
|
|
# - bar
|
|
# depends:
|
|
# - gtk3
|
|
# - libwebkit2gtk
|
|
# recommends:
|
|
# - whatever
|
|
# suggests:
|
|
# - something-else
|
|
# conflicts:
|
|
# - not-foo
|
|
# - not-bar
|
|
# changelog: "changelog.yaml"
|