[PR #6936] [misc] add dependencies to install.sh #29280

Closed
opened 2026-08-05 08:07:48 -04:00 by saavagebueno · 0 comments
Owner

Original Pull Request: https://github.com/netbirdio/netbird/pull/6936

State: closed
Merged: No


  • update workflow to test different containers

Describe your changes

The install script now resolves the desktop app's runtime libraries (GTK 4.10+, WebKitGTK 6.0), which the netbird-ui packages do not declare:

  • Install the GTK/WebKitGTK packages alongside netbird-ui on apt and dnf.
  • Enforce the GTK 4.10 floor on apt (Ubuntu 22.04 / Debian 12 ship WebKitGTK 6.0 but GTK below 4.10, where the app crashes on the first file dialog).
  • On RHEL / AlmaLinux / Rocky 10, webkitgtk6.0 comes from EPEL. Enabling a third-party repo needs consent: the script prompts on a TTY, and NETBIRD_INSTALL_EPEL=true pre-confirms for unattended installs. Without either, the UI is skipped and the CLI install completes.
  • Restrict the UI to x86_64 — no arm64 netbird-ui package exists, and the previous arch gate let arm64 desktops reach apt-get install netbird-ui, which failed and aborted the script between the CLI install and the service start (half-install).
  • The yum path (RHEL 9, Amazon Linux) is CLI-only, as those systems lack the required stack.
  • Any UI failure degrades to a CLI-only install instead of aborting under set -e.

The install-script workflow gains a container matrix (ubuntu:22.04, debian:12/13, fedora:43, almalinux:10 with and without EPEL pre-confirmation) asserting netbird-ui presence/absence per distro. Containers are prepped with the SysV directories the netbird package postinstall needs when systemd is not running.

Out of scope: the --update binary path performs no dependency checks (pre-existing).

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/888

**Original Pull Request:** https://github.com/netbirdio/netbird/pull/6936 **State:** closed **Merged:** No --- - update workflow to test different containers ## Describe your changes The install script now resolves the desktop app's runtime libraries (GTK 4.10+, WebKitGTK 6.0), which the `netbird-ui` packages do not declare: - Install the GTK/WebKitGTK packages alongside `netbird-ui` on apt and dnf. - Enforce the GTK 4.10 floor on apt (Ubuntu 22.04 / Debian 12 ship WebKitGTK 6.0 but GTK below 4.10, where the app crashes on the first file dialog). - On RHEL / AlmaLinux / Rocky 10, `webkitgtk6.0` comes from EPEL. Enabling a third-party repo needs consent: the script prompts on a TTY, and `NETBIRD_INSTALL_EPEL=true` pre-confirms for unattended installs. Without either, the UI is skipped and the CLI install completes. - Restrict the UI to x86_64 — no arm64 `netbird-ui` package exists, and the previous arch gate let arm64 desktops reach `apt-get install netbird-ui`, which failed and aborted the script between the CLI install and the service start (half-install). - The `yum` path (RHEL 9, Amazon Linux) is CLI-only, as those systems lack the required stack. - Any UI failure degrades to a CLI-only install instead of aborting under `set -e`. The install-script workflow gains a container matrix (ubuntu:22.04, debian:12/13, fedora:43, almalinux:10 with and without EPEL pre-confirmation) asserting `netbird-ui` presence/absence per distro. Containers are prepped with the SysV directories the netbird package postinstall needs when systemd is not running. Out of scope: the `--update` binary path performs no dependency checks (pre-existing). ## Issue ticket number and link ## Stack <!-- branch-stack --> ### Checklist - [ ] Is it a bug fix - [ ] Is a typo/documentation fix - [x] Is a feature enhancement - [ ] It is a refactor - [x] 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: - [x] 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/888
saavagebueno added the pull-request label 2026-08-05 08:07:48 -04:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#29280